commit 67b194075a036051b32b26eb7ff7917f33e5803b Author: sunrich <17596519046@163.com> Date: Mon Oct 22 10:03:37 2018 +0800 jlr提交 diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..6c95717 --- /dev/null +++ b/.classpath @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ea8c4bf --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/target diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..93858ff --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +jlr \ No newline at end of file diff --git a/.idea/artifacts/jlr_war.xml b/.idea/artifacts/jlr_war.xml new file mode 100644 index 0000000..55b0e1a --- /dev/null +++ b/.idea/artifacts/jlr_war.xml @@ -0,0 +1,8 @@ + + + $PROJECT_DIR$/target + + + + + \ No newline at end of file diff --git a/.idea/artifacts/jlr_war_exploded.xml b/.idea/artifacts/jlr_war_exploded.xml new file mode 100644 index 0000000..a984b26 --- /dev/null +++ b/.idea/artifacts/jlr_war_exploded.xml @@ -0,0 +1,94 @@ + + + $PROJECT_DIR$/target/admin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..98c88f3 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..b26911b --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__antlr_antlr_2_7_7.xml b/.idea/libraries/Maven__antlr_antlr_2_7_7.xml new file mode 100644 index 0000000..6029cf8 --- /dev/null +++ b/.idea/libraries/Maven__antlr_antlr_2_7_7.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__aopalliance_aopalliance_1_0.xml b/.idea/libraries/Maven__aopalliance_aopalliance_1_0.xml new file mode 100644 index 0000000..23a9d11 --- /dev/null +++ b/.idea/libraries/Maven__aopalliance_aopalliance_1_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__asm_asm_3_1.xml b/.idea/libraries/Maven__asm_asm_3_1.xml new file mode 100644 index 0000000..62bbb78 --- /dev/null +++ b/.idea/libraries/Maven__asm_asm_3_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__cglib_cglib_2_2.xml b/.idea/libraries/Maven__cglib_cglib_2_2.xml new file mode 100644 index 0000000..2398e9e --- /dev/null +++ b/.idea/libraries/Maven__cglib_cglib_2_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__cglib_cglib_nodep_2_2_2.xml b/.idea/libraries/Maven__cglib_cglib_nodep_2_2_2.xml new file mode 100644 index 0000000..dafc94f --- /dev/null +++ b/.idea/libraries/Maven__cglib_cglib_nodep_2_2_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_alibaba_druid_1_0_15.xml b/.idea/libraries/Maven__com_alibaba_druid_1_0_15.xml new file mode 100644 index 0000000..893dabe --- /dev/null +++ b/.idea/libraries/Maven__com_alibaba_druid_1_0_15.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_alibaba_fastjson_1_1_39.xml b/.idea/libraries/Maven__com_alibaba_fastjson_1_1_39.xml new file mode 100644 index 0000000..8be2217 --- /dev/null +++ b/.idea/libraries/Maven__com_alibaba_fastjson_1_1_39.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_caucho_hessian_4_0_33.xml b/.idea/libraries/Maven__com_caucho_hessian_4_0_33.xml new file mode 100644 index 0000000..b68ee2d --- /dev/null +++ b/.idea/libraries/Maven__com_caucho_hessian_4_0_33.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_github_virtuald_curvesapi_1_03.xml b/.idea/libraries/Maven__com_github_virtuald_curvesapi_1_03.xml new file mode 100644 index 0000000..b3f4bfb --- /dev/null +++ b/.idea/libraries/Maven__com_github_virtuald_curvesapi_1_03.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_guava_guava_17_0.xml b/.idea/libraries/Maven__com_google_guava_guava_17_0.xml new file mode 100644 index 0000000..8db0097 --- /dev/null +++ b/.idea/libraries/Maven__com_google_guava_guava_17_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_oracle_ojdbc6_11_2_0_3.xml b/.idea/libraries/Maven__com_oracle_ojdbc6_11_2_0_3.xml new file mode 100644 index 0000000..5d1787f --- /dev/null +++ b/.idea/libraries/Maven__com_oracle_ojdbc6_11_2_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_beanutils_commons_beanutils_1_8_0.xml b/.idea/libraries/Maven__commons_beanutils_commons_beanutils_1_8_0.xml new file mode 100644 index 0000000..ab8a3d6 --- /dev/null +++ b/.idea/libraries/Maven__commons_beanutils_commons_beanutils_1_8_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_codec_commons_codec_1_10.xml b/.idea/libraries/Maven__commons_codec_commons_codec_1_10.xml new file mode 100644 index 0000000..110e468 --- /dev/null +++ b/.idea/libraries/Maven__commons_codec_commons_codec_1_10.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_collections_commons_collections_3_2_1.xml b/.idea/libraries/Maven__commons_collections_commons_collections_3_2_1.xml new file mode 100644 index 0000000..754c7e8 --- /dev/null +++ b/.idea/libraries/Maven__commons_collections_commons_collections_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_2_2.xml b/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_2_2.xml new file mode 100644 index 0000000..9293068 --- /dev/null +++ b/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_2_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_httpclient_commons_httpclient_3_0.xml b/.idea/libraries/Maven__commons_httpclient_commons_httpclient_3_0.xml new file mode 100644 index 0000000..cc0525c --- /dev/null +++ b/.idea/libraries/Maven__commons_httpclient_commons_httpclient_3_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_io_commons_io_1_3_2.xml b/.idea/libraries/Maven__commons_io_commons_io_1_3_2.xml new file mode 100644 index 0000000..cd7ff51 --- /dev/null +++ b/.idea/libraries/Maven__commons_io_commons_io_1_3_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_lang_commons_lang_2_5.xml b/.idea/libraries/Maven__commons_lang_commons_lang_2_5.xml new file mode 100644 index 0000000..6cebdd5 --- /dev/null +++ b/.idea/libraries/Maven__commons_lang_commons_lang_2_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_logging_commons_logging_1_1_3.xml b/.idea/libraries/Maven__commons_logging_commons_logging_1_1_3.xml new file mode 100644 index 0000000..add7f33 --- /dev/null +++ b/.idea/libraries/Maven__commons_logging_commons_logging_1_1_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__dom4j_dom4j_1_6_1.xml b/.idea/libraries/Maven__dom4j_dom4j_1_6_1.xml new file mode 100644 index 0000000..70c1aef --- /dev/null +++ b/.idea/libraries/Maven__dom4j_dom4j_1_6_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__javax_faces_jsf_api_1_2_04.xml b/.idea/libraries/Maven__javax_faces_jsf_api_1_2_04.xml new file mode 100644 index 0000000..b1470d2 --- /dev/null +++ b/.idea/libraries/Maven__javax_faces_jsf_api_1_2_04.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__javax_faces_jsf_impl_1_2_04.xml b/.idea/libraries/Maven__javax_faces_jsf_impl_1_2_04.xml new file mode 100644 index 0000000..35aa782 --- /dev/null +++ b/.idea/libraries/Maven__javax_faces_jsf_impl_1_2_04.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__javax_servlet_javax_servlet_api_3_0_1.xml b/.idea/libraries/Maven__javax_servlet_javax_servlet_api_3_0_1.xml new file mode 100644 index 0000000..019f192 --- /dev/null +++ b/.idea/libraries/Maven__javax_servlet_javax_servlet_api_3_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__javax_servlet_jsp_jsp_api_2_1.xml b/.idea/libraries/Maven__javax_servlet_jsp_jsp_api_2_1.xml new file mode 100644 index 0000000..476f9e3 --- /dev/null +++ b/.idea/libraries/Maven__javax_servlet_jsp_jsp_api_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__javax_servlet_jstl_1_2.xml b/.idea/libraries/Maven__javax_servlet_jstl_1_2.xml new file mode 100644 index 0000000..1f202da --- /dev/null +++ b/.idea/libraries/Maven__javax_servlet_jstl_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__javax_transaction_jta_1_1.xml b/.idea/libraries/Maven__javax_transaction_jta_1_1.xml new file mode 100644 index 0000000..68bde72 --- /dev/null +++ b/.idea/libraries/Maven__javax_transaction_jta_1_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__jstl_jstl_1_2.xml b/.idea/libraries/Maven__jstl_jstl_1_2.xml new file mode 100644 index 0000000..f1fe003 --- /dev/null +++ b/.idea/libraries/Maven__jstl_jstl_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__junit_junit_4_11.xml b/.idea/libraries/Maven__junit_junit_4_11.xml new file mode 100644 index 0000000..1002050 --- /dev/null +++ b/.idea/libraries/Maven__junit_junit_4_11.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_21.xml b/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_21.xml new file mode 100644 index 0000000..4f6cc51 --- /dev/null +++ b/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_21.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__net_sf_ehcache_ehcache_core_2_4_7.xml b/.idea/libraries/Maven__net_sf_ehcache_ehcache_core_2_4_7.xml new file mode 100644 index 0000000..f3d33c1 --- /dev/null +++ b/.idea/libraries/Maven__net_sf_ehcache_ehcache_core_2_4_7.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__net_sf_ehcache_ehcache_web_2_0_4.xml b/.idea/libraries/Maven__net_sf_ehcache_ehcache_web_2_0_4.xml new file mode 100644 index 0000000..71a7c61 --- /dev/null +++ b/.idea/libraries/Maven__net_sf_ehcache_ehcache_web_2_0_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__net_sf_ezmorph_ezmorph_1_0_6.xml b/.idea/libraries/Maven__net_sf_ezmorph_ezmorph_1_0_6.xml new file mode 100644 index 0000000..f31c23a --- /dev/null +++ b/.idea/libraries/Maven__net_sf_ezmorph_ezmorph_1_0_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__net_sf_json_lib_json_lib_jdk15_2_4.xml b/.idea/libraries/Maven__net_sf_json_lib_json_lib_jdk15_2_4.xml new file mode 100644 index 0000000..e8d98d8 --- /dev/null +++ b/.idea/libraries/Maven__net_sf_json_lib_json_lib_jdk15_2_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_ant_ant_1_8_2.xml b/.idea/libraries/Maven__org_apache_ant_ant_1_8_2.xml new file mode 100644 index 0000000..f97b436 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_ant_ant_1_8_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_ant_ant_launcher_1_8_2.xml b/.idea/libraries/Maven__org_apache_ant_ant_launcher_1_8_2.xml new file mode 100644 index 0000000..7ba4e18 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_ant_ant_launcher_1_8_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_3_2.xml b/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_3_2.xml new file mode 100644 index 0000000..5c06b4f --- /dev/null +++ b/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_3_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_3_6.xml b/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_3_6.xml new file mode 100644 index 0000000..c6381f6 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_3_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_3_3.xml b/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_3_3.xml new file mode 100644 index 0000000..35e79d1 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_3_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_openejb_javaee_api_5_0_1.xml b/.idea/libraries/Maven__org_apache_openejb_javaee_api_5_0_1.xml new file mode 100644 index 0000000..27916af --- /dev/null +++ b/.idea/libraries/Maven__org_apache_openejb_javaee_api_5_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_poi_poi_3_14.xml b/.idea/libraries/Maven__org_apache_poi_poi_3_14.xml new file mode 100644 index 0000000..ab42068 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_poi_poi_3_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_poi_poi_ooxml_3_14.xml b/.idea/libraries/Maven__org_apache_poi_poi_ooxml_3_14.xml new file mode 100644 index 0000000..e89ddba --- /dev/null +++ b/.idea/libraries/Maven__org_apache_poi_poi_ooxml_3_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_poi_poi_ooxml_schemas_3_14.xml b/.idea/libraries/Maven__org_apache_poi_poi_ooxml_schemas_3_14.xml new file mode 100644 index 0000000..972cbe1 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_poi_poi_ooxml_schemas_3_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_poi_poi_scratchpad_3_14.xml b/.idea/libraries/Maven__org_apache_poi_poi_scratchpad_3_14.xml new file mode 100644 index 0000000..5ac831c --- /dev/null +++ b/.idea/libraries/Maven__org_apache_poi_poi_scratchpad_3_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_servicemix_bundles_org_apache_servicemix_bundles_xerces_2_11_0_1.xml b/.idea/libraries/Maven__org_apache_servicemix_bundles_org_apache_servicemix_bundles_xerces_2_11_0_1.xml new file mode 100644 index 0000000..d112683 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_servicemix_bundles_org_apache_servicemix_bundles_xerces_2_11_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_xmlbeans_xmlbeans_2_6_0.xml b/.idea/libraries/Maven__org_apache_xmlbeans_xmlbeans_2_6_0.xml new file mode 100644 index 0000000..55f0019 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_xmlbeans_xmlbeans_2_6_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_aspectj_aspectjrt_1_6_9.xml b/.idea/libraries/Maven__org_aspectj_aspectjrt_1_6_9.xml new file mode 100644 index 0000000..6ea7244 --- /dev/null +++ b/.idea/libraries/Maven__org_aspectj_aspectjrt_1_6_9.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_6_9.xml b/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_6_9.xml new file mode 100644 index 0000000..f281872 --- /dev/null +++ b/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_6_9.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_codehaus_jackson_jackson_core_asl_1_9_7.xml b/.idea/libraries/Maven__org_codehaus_jackson_jackson_core_asl_1_9_7.xml new file mode 100644 index 0000000..812fad5 --- /dev/null +++ b/.idea/libraries/Maven__org_codehaus_jackson_jackson_core_asl_1_9_7.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_codehaus_jackson_jackson_mapper_asl_1_9_7.xml b/.idea/libraries/Maven__org_codehaus_jackson_jackson_mapper_asl_1_9_7.xml new file mode 100644 index 0000000..3899d77 --- /dev/null +++ b/.idea/libraries/Maven__org_codehaus_jackson_jackson_mapper_asl_1_9_7.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml new file mode 100644 index 0000000..1aea0c7 --- /dev/null +++ b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_4_0_1_Final.xml b/.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_4_0_1_Final.xml new file mode 100644 index 0000000..328b0ee --- /dev/null +++ b/.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_4_0_1_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hibernate_hibernate_core_4_1_6_Final.xml b/.idea/libraries/Maven__org_hibernate_hibernate_core_4_1_6_Final.xml new file mode 100644 index 0000000..b3f84d8 --- /dev/null +++ b/.idea/libraries/Maven__org_hibernate_hibernate_core_4_1_6_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hibernate_hibernate_entitymanager_4_1_6_Final.xml b/.idea/libraries/Maven__org_hibernate_hibernate_entitymanager_4_1_6_Final.xml new file mode 100644 index 0000000..3110081 --- /dev/null +++ b/.idea/libraries/Maven__org_hibernate_hibernate_entitymanager_4_1_6_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hibernate_hibernate_envers_4_1_6_Final.xml b/.idea/libraries/Maven__org_hibernate_hibernate_envers_4_1_6_Final.xml new file mode 100644 index 0000000..e030fd1 --- /dev/null +++ b/.idea/libraries/Maven__org_hibernate_hibernate_envers_4_1_6_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hibernate_javax_persistence_hibernate_jpa_2_0_api_1_0_1_Final.xml b/.idea/libraries/Maven__org_hibernate_javax_persistence_hibernate_jpa_2_0_api_1_0_1_Final.xml new file mode 100644 index 0000000..c1b9ecf --- /dev/null +++ b/.idea/libraries/Maven__org_hibernate_javax_persistence_hibernate_jpa_2_0_api_1_0_1_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_javassist_javassist_3_15_0_GA.xml b/.idea/libraries/Maven__org_javassist_javassist_3_15_0_GA.xml new file mode 100644 index 0000000..6359ef4 --- /dev/null +++ b/.idea/libraries/Maven__org_javassist_javassist_3_15_0_GA.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_1_0_GA.xml b/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_1_0_GA.xml new file mode 100644 index 0000000..c14f7c7 --- /dev/null +++ b/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_1_0_GA.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_jboss_spec_javax_transaction_jboss_transaction_api_1_1_spec_1_0_0_Final.xml b/.idea/libraries/Maven__org_jboss_spec_javax_transaction_jboss_transaction_api_1_1_spec_1_0_0_Final.xml new file mode 100644 index 0000000..6e08893 --- /dev/null +++ b/.idea/libraries/Maven__org_jboss_spec_javax_transaction_jboss_transaction_api_1_1_spec_1_0_0_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_jodd_jodd_3_3_8.xml b/.idea/libraries/Maven__org_jodd_jodd_3_3_8.xml new file mode 100644 index 0000000..8f65ffc --- /dev/null +++ b/.idea/libraries/Maven__org_jodd_jodd_3_3_8.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_json_json_20160810.xml b/.idea/libraries/Maven__org_json_json_20160810.xml new file mode 100644 index 0000000..92edf05 --- /dev/null +++ b/.idea/libraries/Maven__org_json_json_20160810.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_quartz_scheduler_quartz_1_8_4.xml b/.idea/libraries/Maven__org_quartz_scheduler_quartz_1_8_4.xml new file mode 100644 index 0000000..24daf28 --- /dev/null +++ b/.idea/libraries/Maven__org_quartz_scheduler_quartz_1_8_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_0.xml b/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_0.xml new file mode 100644 index 0000000..52faad1 --- /dev/null +++ b/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_slf4j_slf4j_simple_1_7_0.xml b/.idea/libraries/Maven__org_slf4j_slf4j_simple_1_7_0.xml new file mode 100644 index 0000000..1272832 --- /dev/null +++ b/.idea/libraries/Maven__org_slf4j_slf4j_simple_1_7_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_security_spring_security_acl_3_1_1_RELEASE.xml b/.idea/libraries/Maven__org_springframework_security_spring_security_acl_3_1_1_RELEASE.xml new file mode 100644 index 0000000..bf910f1 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_security_spring_security_acl_3_1_1_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_security_spring_security_config_3_1_1_RELEASE.xml b/.idea/libraries/Maven__org_springframework_security_spring_security_config_3_1_1_RELEASE.xml new file mode 100644 index 0000000..50ef5d2 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_security_spring_security_config_3_1_1_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_security_spring_security_core_3_1_1_RELEASE.xml b/.idea/libraries/Maven__org_springframework_security_spring_security_core_3_1_1_RELEASE.xml new file mode 100644 index 0000000..ba31a61 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_security_spring_security_core_3_1_1_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_security_spring_security_core_tiger_2_0_7_RELEASE.xml b/.idea/libraries/Maven__org_springframework_security_spring_security_core_tiger_2_0_7_RELEASE.xml new file mode 100644 index 0000000..4c406d4 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_security_spring_security_core_tiger_2_0_7_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_security_spring_security_taglibs_3_1_1_RELEASE.xml b/.idea/libraries/Maven__org_springframework_security_spring_security_taglibs_3_1_1_RELEASE.xml new file mode 100644 index 0000000..75803e4 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_security_spring_security_taglibs_3_1_1_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_security_spring_security_web_3_1_1_RELEASE.xml b/.idea/libraries/Maven__org_springframework_security_spring_security_web_3_1_1_RELEASE.xml new file mode 100644 index 0000000..253dd62 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_security_spring_security_web_3_1_1_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_aop_3_2_5_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_aop_3_2_5_RELEASE.xml new file mode 100644 index 0000000..36d7170 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_aop_3_2_5_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_beans_3_2_5_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_beans_3_2_5_RELEASE.xml new file mode 100644 index 0000000..7f3798c --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_beans_3_2_5_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_context_3_2_5_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_context_3_2_5_RELEASE.xml new file mode 100644 index 0000000..6d03f14 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_context_3_2_5_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_context_support_3_2_5_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_context_support_3_2_5_RELEASE.xml new file mode 100644 index 0000000..a31cc65 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_context_support_3_2_5_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_core_3_2_5_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_core_3_2_5_RELEASE.xml new file mode 100644 index 0000000..9450a3b --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_core_3_2_5_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_expression_3_2_5_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_expression_3_2_5_RELEASE.xml new file mode 100644 index 0000000..029d8c4 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_expression_3_2_5_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_jdbc_3_2_5_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_jdbc_3_2_5_RELEASE.xml new file mode 100644 index 0000000..2d45e5d --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_jdbc_3_2_5_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_orm_3_2_5_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_orm_3_2_5_RELEASE.xml new file mode 100644 index 0000000..9d1cde8 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_orm_3_2_5_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_tx_3_2_5_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_tx_3_2_5_RELEASE.xml new file mode 100644 index 0000000..012cf62 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_tx_3_2_5_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_web_3_2_5_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_web_3_2_5_RELEASE.xml new file mode 100644 index 0000000..e813b42 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_web_3_2_5_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_webmvc_3_2_5_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_webmvc_3_2_5_RELEASE.xml new file mode 100644 index 0000000..8288228 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_webmvc_3_2_5_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__sax_sax_2_0_1.xml b/.idea/libraries/Maven__sax_sax_2_0_1.xml new file mode 100644 index 0000000..98f1048 --- /dev/null +++ b/.idea/libraries/Maven__sax_sax_2_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__stax_stax_api_1_0_1.xml b/.idea/libraries/Maven__stax_stax_api_1_0_1.xml new file mode 100644 index 0000000..55361e6 --- /dev/null +++ b/.idea/libraries/Maven__stax_stax_api_1_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__xml_apis_xml_apis_1_4_01.xml b/.idea/libraries/Maven__xml_apis_xml_apis_1_4_01.xml new file mode 100644 index 0000000..f881aeb --- /dev/null +++ b/.idea/libraries/Maven__xml_apis_xml_apis_1_4_01.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..2d87148 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..65791fb --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml new file mode 100644 index 0000000..e96534f --- /dev/null +++ b/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000..534c6ae --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,1288 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + consume_query.do + 请查看 + delete + consume_dialog + format + coupon_history.do + search_consume + vinSelectCode + get_coupon_recharge + consume_query + simpl + SimpleDateFormat + exportData + recharge_query + simple + c_type + rechangeExportData + loginEmailBlur + putSystemUser + update + rescueState + showMyInfoDialog + GET_MY + sendMsg + consume_querys + eval + s + recharges_query + consume_update + sou + + + D:\JLR\JLR-master-19f1e7b4858da9a529342c6e8625154c882ae7c4\src\main\webapp\css + + + + + + + + + + + + true + DEFINITION_ORDER + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1533884729896 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + file://$PROJECT_DIR$/src/main/java/com/zhongdao/jlr/business/dao/impl/CouponDaoImpl.java + 126 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + jlr:war + + + + + + + + Spring + + + + + + + + + + + + + + + 1.7 + + + + + + + + jlr + + + + + + + + 1.7 + + + + + + + + Maven: antlr:antlr:2.7.7 + + + + + + + + \ No newline at end of file diff --git a/.project b/.project new file mode 100644 index 0000000..77aa2d6 --- /dev/null +++ b/.project @@ -0,0 +1,58 @@ + + + JLR + + + + + + org.eclipse.wst.jsdt.core.javascriptValidator + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.wst.common.project.facet.core.builder + + + + + org.eclipse.m2e.core.maven2Builder + + + + + com.genuitec.eclipse.springframework.springbuilder + + + + + org.eclipse.wst.validation.validationbuilder + + + + + com.genuitec.eclipse.j2eedt.core.DeploymentDescriptorValidator + + + + + com.genuitec.eclipse.ast.deploy.core.DeploymentBuilder + + + + + + org.eclipse.jem.workbench.JavaEMFNature + org.eclipse.wst.common.modulecore.ModuleCoreNature + com.genuitec.eclipse.springframework.springnature + org.eclipse.jdt.core.javanature + org.eclipse.m2e.core.maven2Nature + org.eclipse.wst.common.project.facet.core.nature + org.eclipse.wst.jsdt.core.jsNature + + diff --git a/.settings/.jsdtscope b/.settings/.jsdtscope new file mode 100644 index 0000000..9dbed1b --- /dev/null +++ b/.settings/.jsdtscope @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..2e657e3 --- /dev/null +++ b/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,5 @@ +eclipse.preferences.version=1 +encoding//src/main/java=UTF-8 +encoding//src/main/resources=UTF-8 +encoding//src/test/java=utf-8 +encoding/=UTF-8 diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..443e085 --- /dev/null +++ b/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,8 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.source=1.7 diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 0000000..f897a7f --- /dev/null +++ b/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component new file mode 100644 index 0000000..535aa59 --- /dev/null +++ b/.settings/org.eclipse.wst.common.component @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/.settings/org.eclipse.wst.common.project.facet.core.xml b/.settings/org.eclipse.wst.common.project.facet.core.xml new file mode 100644 index 0000000..791234c --- /dev/null +++ b/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/.settings/org.eclipse.wst.jsdt.ui.superType.container b/.settings/org.eclipse.wst.jsdt.ui.superType.container new file mode 100644 index 0000000..3bd5d0a --- /dev/null +++ b/.settings/org.eclipse.wst.jsdt.ui.superType.container @@ -0,0 +1 @@ +org.eclipse.wst.jsdt.launching.baseBrowserLibrary \ No newline at end of file diff --git a/.settings/org.eclipse.wst.jsdt.ui.superType.name b/.settings/org.eclipse.wst.jsdt.ui.superType.name new file mode 100644 index 0000000..05bd71b --- /dev/null +++ b/.settings/org.eclipse.wst.jsdt.ui.superType.name @@ -0,0 +1 @@ +Window \ No newline at end of file diff --git a/.settings/org.eclipse.wst.validation.prefs b/.settings/org.eclipse.wst.validation.prefs new file mode 100644 index 0000000..04cad8c --- /dev/null +++ b/.settings/org.eclipse.wst.validation.prefs @@ -0,0 +1,2 @@ +disabled=06target +eclipse.preferences.version=1 diff --git a/jlr.iml b/jlr.iml new file mode 100644 index 0000000..4e440ce --- /dev/null +++ b/jlr.iml @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..a68f212 --- /dev/null +++ b/pom.xml @@ -0,0 +1,533 @@ + + + 4.0.0 + com.zhongdao + jlr + war + 1.0-SNAPSHOT + jlr + http://maven.apache.org + + + + + + 3.14 + 1.3.2 + 4.1.6.Final + 3.0.1 + 2.5 + 1.3.2 + 4.0.33 + 1.1.1 + 3.3.2 + 3.2.5.RELEASE + 2.2 + 17.0 + 3.1.1.RELEASE + 1.1.39 + 4.3.3 + 4.3.6 + 3.0 + 2.2.2 + 1.7.0 + 2.1.1-b04 + 5.1.21 + 1.8.4 + + 1.7.3 + 1.2.2 + 1.9.7 + 1.2 + 3.16.1-GA + 3.1.5 + 1.6.1 + 2.2.2 + 0.9.1.2 + 1.6.9 + 1.7.3 + 2.6.12 + 3.0.1 + 2.2 + 1.2.3 + 2.4.7 + 2.0.4 + 1.1 + + 4.11 + 2.18.1 + 3.2.11.RELEASE + + 2.2 + + 3.2 + 1.7 + UTF-8 + true + + + + + + + + + org.json + json + 20141113 + + + + org.apache.servicemix.bundles + org.apache.servicemix.bundles.xerces + 2.11.0_1 + + + + sax + sax + 2.0.1 + + + + org.apache.poi + poi + ${org.apache.poi.version} + + + + org.apache.poi + poi-ooxml + ${org.apache.poi.version} + + + + org.apache.poi + poi-scratchpad + ${org.apache.poi.version} + + + + org.apache.poi + poi-ooxml-schemas + ${org.apache.poi.version} + + + + org.apache.commons + commons-io + ${org.apache.commons.version} + + + + dom4j + dom4j + ${dom4j.version} + + + + com.alibaba + druid + 1.0.15 + + + + org.json + json + 20160810 + + + + org.hibernate + hibernate-envers + ${hibernate.version} + + + + org.hibernate + hibernate-core + ${hibernate.version} + + + + + org.aspectj + aspectjrt + ${aspectj.version} + + + org.aspectj + aspectjweaver + ${aspectj.version} + + + org.apache.commons + commons-io + ${commons.io.version} + + + com.caucho + hessian + ${com.caucho.version} + + + org.quartz-scheduler + quartz + ${org.quartz} + + + com.google.guava + guava + ${google.guava.version} + + + com.alibaba + fastjson + ${com.alibaba.fastjson} + + + + org.apache.httpcomponents + httpcore + ${org.apache.httpcomponents.httpcore} + + + org.apache.httpcomponents + httpclient + ${org.apache.httpcomponents.httpclient} + + + commons-httpclient + commons-httpclient + ${commons.httpclient} + + + + + net.sf.json-lib + json-lib + 2.4 + jdk15 + + + + + + org.springframework + spring-core + ${springframework.version} + + + + org.springframework + spring-web + ${springframework.version} + + + + org.springframework + spring-webmvc + ${springframework.version} + + + org.springframework.security + spring-security-config + ${springframework.security.version} + + + org.springframework.security + spring-security-taglibs + ${springframework.security.version} + + + org.springframework + spring-tx + ${springframework.version} + + + org.springframework + spring-orm + ${springframework.version} + + + org.springframework + spring-context-support + ${springframework.version} + + + org.springframework.security + spring-security-core-tiger + 2.0.7.RELEASE + + + net.sf.ehcache + ehcache-core + ${ehcache-core.version} + + + net.sf.ehcache + ehcache-web + ${ehcache-web.version} + + + + cglib + cglib-nodep + ${cglib.nodep.version} + + + + + org.codehaus.jackson + jackson-core-asl + 1.9.7 + + + org.codehaus.jackson + jackson-mapper-asl + 1.9.7 + + + jstl + jstl + 1.2 + + + + + org.apache.commons + commons-lang3 + ${commons-lang3.version} + + + + commons-lang + commons-lang + ${commons.lang.version} + + + org.apache.commons + commons-io + ${commons.io.version} + + + commons-collections + commons-collections + 3.2.1 + + + + org.slf4j + slf4j-api + ${slf4j.version} + + + org.slf4j + slf4j-simple + 1.7.0 + + + cglib + cglib + ${cglib.version} + + + + + + + + mysql + mysql-connector-java + ${mysql.connector.version} + + + + com.oracle + ojdbc6 + 11.2.0.3 + + + + + commons-fileupload + commons-fileupload + 1.2.2 + + + + + junit + junit + ${junit.version} + test + + + org.apache.openejb + javaee-api + 5.0-1 + provided + + + javax.faces + jsf-api + 1.2_04 + provided + + + javax.servlet + jstl + 1.2 + provided + + + javax.servlet.jsp + jsp-api + 2.1 + provided + + + + javax.servlet + javax.servlet-api + ${servlet.version} + + + + javax.faces + jsf-impl + 1.2_04 + provided + + + + + + + + + org.apache.ant + ant + 1.8.2 + + + org.jodd + jodd + 3.3.8 + + + + + codelds + https://code.lds.org/nexus/content/groups/main-repo + + + + admin + + + org.eclipse.jetty + jetty-maven-plugin + 9.2.6.v20141205 + + + + + + + + dev + + true + + + compile + env_dev + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.1 + + utf-8 + 1.7 + 1.7 + + + + + + src/main/java + + **/*.java + + + + src/main/resources + true + + + etc/dev + true + + + + + + + test + + compile + env_test + + + + + src/main/java + + **/*.java + + + + src/main/resources + true + + + etc/test + true + + + + + + + online + + provided + env_online + + + + + src/main/java + + **/*.java + + + + src/main/resources + true + + + etc/online + true + + + + + + diff --git a/src/main/java/com/dubh/common/dao/Dao.java b/src/main/java/com/dubh/common/dao/Dao.java new file mode 100644 index 0000000..317d255 --- /dev/null +++ b/src/main/java/com/dubh/common/dao/Dao.java @@ -0,0 +1,154 @@ +package com.dubh.common.dao; + +import java.io.Serializable; +import java.util.List; + +/** + * @author 作者姓名: dubaohui + * @version 创建时间:2015-5-15 上午11:19:21 + * 类说明 :公用方法接口类 + */ +public interface Dao { + + + + /** + * 获取单一对象 + * @param clazz 实体类 + * @param id 主键 + * @return + */ + public Object getObject(Class clazz,Serializable id); + + /** + * 添加对象 + * @param object 实体类 + * @throws Exception + */ + public void saveObject(Object object) throws Exception; + + /** + * 更新对象 + * @param object 实体对象 + * @throws Exception + */ + public void updateObject(Object object) throws Exception; + + /** + * 通过传入hql语句进行批量更新对象 + * @param hqlStr HQL语句 + * @throws Exception + */ + public void updateHql(String hqlStr) throws Exception; + + /** + * 删除对象 + * @param clazz 实体类 + * @param id 主键 + * @throws Exception + */ + public void removeObject(Class clazz, Serializable id) throws Exception; + + /** + * 通过传入标准sql语句获取记录集 + * @param sqlStr SQL语句 + * @return 返回记录集 + * @throws Exception + */ + public List getRsBySql(String sqlStr) throws Exception; + + /** + * 通过传入标准sql语句获取记录集,并支持分页 + * @param sqlStr SQL语句 + * @param pageNo 页码 + * @param pageSize 页面大小 + * @return 返回记录集 + * @throws Exception + */ + public List getRsBySql(String sqlStr,int pageNo,int pageSize) throws Exception; + + /** + * 通过传入hql语句获取记录集,并支持分页功能 + * @param hqlStr HQL语句 + * @param pageNo 页码 + * @param pageSize 页面大小 + * @return 返回记录集 + * @throws Exception + */ + public List getRsByHql(String hqlStr,int pageNo,int pageSize) throws Exception; + + /** + * 批量删除数据 + * @param hqlStr HQL语句 + * @throws Exception + */ + public void deleteHql(String hqlStr) throws Exception; + + /** + * 通过传入hql语句获取记录集 + * @param hqlStr HQL语句 + * @return 返回记录集 + * @throws Exception + */ + public List getRsByHql(String hqlStr) throws Exception; + + /** + * 通过传入标准sql语句获取记录集行数 + * @param sqlStr SQL语句 + * @return + * @throws Exception + */ + public Integer getRsCountsBySql(String sqlStr) throws Exception; + + /** + * 通过传入标准hql语句获取记录集行数 + * @param hqlStr HQL语句 + * @return + * @throws Exception + */ + public Integer getRsCountsByHql(String hqlStr) throws Exception; + + /** + * 删除数据 + * @param object 实体对象 + */ + public void deleteObject(Object object) throws Exception; + + /** + * 保存或更新一个实体对象 + * @param object 实体对象 + * @throws Exception 异常信息 + */ + public void saveOrUpdate(Object object) throws Exception; + + + + /** + * 标准SQL语句修改数据 + * @param sql + * @throws Exception + * */ + public void updateSql (String sql) throws Exception; + /** + * 调用存储过程信息 + * @param stroName + * @throws Exception + */ + public void getcallStor(String stroName,String parm) throws Exception; + + /** + * 执行标准SQL语句 + * @param sql + * @throws Exception + * */ + public void createView(String sql) throws Exception; + + + /** + * 获取单一对象 + * @param hql + * @return Object + * @throws Exception + * */ + public Object getObjectHql(String hql) throws Exception; +} diff --git a/src/main/java/com/dubh/common/dao/hibernate/BaseDaoHibernate.java b/src/main/java/com/dubh/common/dao/hibernate/BaseDaoHibernate.java new file mode 100644 index 0000000..f2fb4a5 --- /dev/null +++ b/src/main/java/com/dubh/common/dao/hibernate/BaseDaoHibernate.java @@ -0,0 +1,674 @@ +package com.dubh.common.dao.hibernate; + +import com.dubh.common.dao.Dao; +import org.hibernate.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.orm.ObjectRetrievalFailureException; +import org.springframework.stereotype.Repository; + +import java.io.Serializable; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.Statement; +import java.util.ArrayList; +import java.util.List; + +/** + * @author 作者姓名: dubaohui + * @version 创建时间:2015-5-15 上午11:20:08 类说明:公用方法实现类 + */ +public class BaseDaoHibernate implements Dao { + @Autowired + private SessionFactory sessionFactory; + + /*public void setSessionFactory(SessionFactory sessionFactory) { + this.sessionFactory = sessionFactory; + }*/ + + + /** + * 添加对象 + * + * @param object + * 实体类 + * @throws Exception + */ + public void saveObject(Object object) throws Exception { + Session session = null; + Transaction tx=null; + try { + session = sessionFactory.getCurrentSession().getSessionFactory().openSession(); + tx = session.beginTransaction(); + String entityName = getEntityName(object); + session.save(entityName, object); + tx.commit(); + } catch (Exception ex) { + if(tx !=null){ + tx.rollback(); + } + throw new RuntimeException("saveObject:" + ex); + } finally { + + closeResouce(session); + } + } + + public SessionFactory getSessionFactory() { + return sessionFactory; + } + + /** + * 更新对象 + * + * @param object + * 实体对象 + * @throws Exception + */ + public void updateObject(Object object) throws Exception { + + Session session = null; + Transaction tx=null; + try { + session = sessionFactory.getCurrentSession().getSessionFactory().openSession(); + tx = session.beginTransaction(); + String entityName = getEntityName(object); + session.update(entityName, object); + tx.commit(); + } catch (Exception ex) { + if(tx !=null){ + tx.rollback(); + } + throw new RuntimeException("updateObject:" + ex); + } finally { + closeResouce(session); + } + } + + /** + * 删除对象 + * + * @param clazz + * 实体类 + * @param id + * 主键 + * @throws Exception + */ + public void removeObject(Class clazz, Serializable id) throws Exception { + Session session = null; + Transaction tx = null; + try{ + session = sessionFactory.getCurrentSession().getSessionFactory().openSession(); + tx = session.beginTransaction(); + session.delete(getObject(clazz, id)); + tx.commit(); + }catch(Exception ex){ + if(null !=tx){ + tx.rollback(); + } + throw new RuntimeException("removeObject:" + ex); + }finally{ + closeResouce(session); + } + } + + /** + * 通过传入hql语句进行批量更新对象 + * + * @param hqlStr + * HQL语句 + * @throws Exception + */ + public void updateHql(String hqlStr) throws Exception { + Session session = null; + Transaction tx = null; + try { + session = sessionFactory.getCurrentSession().getSessionFactory() + .openSession(); + tx = session.beginTransaction(); + Query query = session.createQuery(hqlStr); + query.executeUpdate(); + tx.commit(); + } catch (Exception ex) { + if(tx !=null){ + tx.rollback(); + } + throw new RuntimeException("updateObjects" + ex); + } finally { + + closeResouce(session); + } + + } + + /** + * 获取单一对象 + * + * @param clazz + * 实体类 + * @param id + * 主键 + * @return + */ + public Object getObject(Class clazz, Serializable id) { + Object o = sessionFactory.getCurrentSession().get(clazz, id); + + if (o == null) { + throw new ObjectRetrievalFailureException(clazz, id); + } + + return o; + } + + /** + * 通过传入hql语句获取记录集,并支持分页功能 + * + * @param hqlStr + * HQL语句 + * @param pageNo + * 页码 + * @param pageSize + * 页面大小 + * @return 返回记录集 + * @throws Exception + */ + public List getRsByHql(String hqlStr, int pageNo, int pageSize) + throws Exception { + List list = new ArrayList(); + Session session = null; + try { + session = sessionFactory.getCurrentSession().getSessionFactory() + .openSession(); + Query query = session.createQuery(hqlStr); + query.setFirstResult(getFirstSize(pageNo, pageSize)); + query.setMaxResults(pageSize); + list = query.list(); + System.out.println(list); + return list; + } catch (HibernateException ex) { + throw new RuntimeException("getRsByHql" + ex); + } finally { + closeResouce(session); + } + } + + /** + * 通过传入标准sql语句获取记录集 + * + * @param sqlStr + * SQL语句 + * @return 返回记录集 + * @throws Exception + */ + public List getRsBySql(String sqlStr) throws Exception { + Session session = null; + try { + long startTime=System.currentTimeMillis(); + session = sessionFactory.getCurrentSession().getSessionFactory() + .openSession(); + SQLQuery sqlQuery = session.createSQLQuery(sqlStr); + System.out.println("getRsBySql1:"+(System.currentTimeMillis()-startTime)); + List list=sqlQuery.list(); + System.out.println("getRsBySql2:"+(System.currentTimeMillis()-startTime)); + return list; + } catch (HibernateException ex) { + throw new RuntimeException("getRsBySql: " + ex); + } finally { + closeResouce(session); + } + } + + /** + * 通过传入标准sql语句获取记录集,并支持分页 + * + * @param sqlStr + * SQL语句 + * @param pageNo + * 页码 + * @param pageSize + * 页面大小 + * @return 返回记录集 + * @throws Exception + */ + public List getRsBySql(String sqlStr, int pageNo, int pageSize) + throws Exception { + Session session = null; + try { + session = sessionFactory.getCurrentSession().getSessionFactory() + .openSession(); + SQLQuery sqlQuery = session.createSQLQuery(sqlStr); + // sqlQuery.list().size(); + sqlQuery.setFirstResult(getFirstSize(pageNo, pageSize)); + sqlQuery.setMaxResults(pageSize); + return sqlQuery.list(); + } catch (HibernateException ex) { + throw new RuntimeException("getRsBySql: " + ex); + } finally { + closeResouce(session); + } + } + + /** + * 通过传入标准sql语句获取记录集行数 + * + * @param sqlStr + * SQL语句 + * @return 返回记录集数量 + * @throws Exception + */ + public Integer getRsCountsBySql(String sqlStr) throws Exception { + // TODO Auto-generated method stub + Session session = null; + Integer count = new Integer(0); + try { + session = sessionFactory.getCurrentSession().getSessionFactory() + .openSession(); + SQLQuery sqlQuery = session.createSQLQuery(sqlStr); + List list = sqlQuery.list(); + if (null != list && list.size() > 0) { + count = list.size(); + } + return count; + } catch (HibernateException ex) { + throw new RuntimeException("getRsCountsBySql: " + ex); + + } finally { + closeResouce(session); + } + } + /** + * 通过传入标准hql语句获取记录集行数 + * + * @param hqlStr + * SQL语句 + * @return 返回记录集数量 + * @throws Exception + */ + public Integer getRsCountsBySelectHql(String hqlStr) throws Exception { + // TODO Auto-generated method stub + Session session = null; + Integer count = new Integer(0); + try { + session = sessionFactory.getCurrentSession().getSessionFactory() + .openSession(); + String countsql="select count(*)"+hqlStr.substring(hqlStr.toLowerCase().indexOf("from")); + + //createSQLQuery和createQuery + count = Integer.valueOf(session.createQuery(countsql).uniqueResult().toString()); + + return count; + } catch (HibernateException ex) { + throw new RuntimeException("getRsCountsBySql: " + ex); + + } finally { + closeResouce(session); + } + } + + /** + * 通过传入标准sql语句获取记录集行数 + * + * @param sqlStr + * SQL语句 + * @return 返回记录集数量 + * @throws Exception + */ + public Integer getRsCountsBySelectSql(String sqlStr) throws Exception { + // TODO Auto-generated method stub + Session session = null; + Integer count = new Integer(0); + try { + session = sessionFactory.getCurrentSession().getSessionFactory() + .openSession(); +// String countsql="select count(*)"+sqlStr.substring(sqlStr.toLowerCase().indexOf("from")); + String countsql="select count(*)"+sqlStr.substring(sqlStr.toLowerCase().lastIndexOf("from")); + //createSQLQuery和createQuery + count = Integer.valueOf(session.createSQLQuery(countsql).uniqueResult().toString()); + + return count; + } catch (HibernateException ex) { + throw new RuntimeException("getRsCountsBySql: " + ex); + + } finally { + closeResouce(session); + } + } + + /** + * 通过传入标准sql语句获取单个sql执行语句 + * + * @param sqlStr + * SQL语句 + * @return 返回记录集数量 + * @throws Exception + */ + public Double getRsSingleCountsBySelectSql(String sqlStr) throws Exception { + Session session = null; + Double count = new Double(0); + try { + session = sessionFactory.getCurrentSession().getSessionFactory() + .openSession(); + String countsql=sqlStr; + + count = Double.valueOf((session.createSQLQuery(countsql).uniqueResult()).toString()); + + return count; + } catch (HibernateException ex) { + throw new RuntimeException("getRsCountsBySql: " + ex); + + }catch (NullPointerException ex) { + ex.printStackTrace(); + return 0.0; + + } finally { + closeResouce(session); + } + } + /** + * 通过传入标准hql语句获取记录集行数 + * + * @param hqlStr + * HQL语句 + * @throws Exception + */ + public Integer getRsCountsByHql(String hqlStr) throws Exception { + // TODO Auto-generated method stub + Session session = null; + Integer count = new Integer(0); + try { + session = sessionFactory.getCurrentSession().getSessionFactory() + .openSession(); + Query query = session.createQuery(hqlStr); + List list = query.list(); + if (null != list && list.size() > 0) { + count = list.size(); + } + return count; + } catch (HibernateException ex) { + throw new RuntimeException("getRsCountsByHql:" + ex); + + } finally { + closeResouce(session); + } + } + + /** + * 通过传入hql语句获取记录集 + * + * @param hqlStr + * HQL语句 + * @return 返回记录集 + * @throws Exception + */ + public List getRsByHql(String hqlStr) throws Exception { + Query query = sessionFactory.getCurrentSession().createQuery(hqlStr); + return query.list(); + } + + /** + * 批量删除数据 + * + * @param hqlStr + * HQL语句 + * @throws Exception + */ + public void deleteHql(String hqlStr) throws Exception { + Session session = null; + Transaction tx = null; + try { + session = sessionFactory.getCurrentSession().getSessionFactory() + .openSession(); + tx = session.beginTransaction(); + Query query = session.createQuery(hqlStr); + query.executeUpdate(); + tx.commit(); + } catch (Exception ex) { + if(tx !=null){ + tx.rollback(); + } + throw new RuntimeException("deleteHql:" + ex); + } finally { + closeResouce(session); + } + + } + + /** + * 删除数据 + * + * @param object + * 实体对象 + */ + public void deleteObject(Object object) throws Exception { + Session session =null; + Transaction tx = null; + try { + session = sessionFactory.getCurrentSession().getSessionFactory().openSession(); + tx = session.beginTransaction(); + session.delete(object); + tx.commit(); + } catch (Exception e) { + if(tx !=null){ + tx.rollback(); + } + throw new RuntimeException("deleteObject:" + e); + }finally{ + closeResouce(session); + } + } + + /** + * 关闭资源 + * + * @param object + * @throws Exception + */ + protected void closeResouce(Object object) throws Exception { + if (null == object) + return; + + if (object instanceof Connection) { + Connection conn = (Connection) object; + conn.close(); + } else if (object instanceof Statement) { + Statement statement = (Statement) object; + statement.close(); + } else if (object instanceof PreparedStatement) { + PreparedStatement prepared = (PreparedStatement) object; + prepared.close(); + } else if (object instanceof ResultSet) { + ResultSet rs = (ResultSet) object; + rs.close(); + } else if (object instanceof Session) { + Session session = (Session) object; + session.close(); + } + + } + + /** + * 获得实体对象名称 + * + * @param object + * 实体对象 + * @return + */ + private String getEntityName(Object object) { + String entityName = new String(""); + try { + Class objectClass = object.getClass(); + entityName = objectClass.getName(); + } catch (Exception ex) { + throw new RuntimeException("" + ex); + } + return entityName; + } + + /** + * 保存或更新一个实体对象 + * + * @param object + * 实体对象 + * @throws Exception + * 异常信息 + */ + public void saveOrUpdate(Object object) throws Exception { + Session session =null; + Transaction tx = null; + try { + session = sessionFactory.getCurrentSession().getSessionFactory().openSession(); + tx = session.beginTransaction(); + session.saveOrUpdate(object); + session.flush(); + session.clear(); + tx.commit(); + } catch (Exception e) { + if(tx !=null){ + tx.rollback(); + } + throw new RuntimeException("saveOrUpdate " + e); + }finally{ + closeResouce(session); + } + + } + + /** + * 获得当前分页开始的记录数 + * + * @param pageNo + * 页码 + * @param pageSize + * 页面大小 + * @return 当前分页开始记录数 + */ + private int getFirstSize(int pageNo, int pageSize) { + int firstSize = 0; + firstSize = (pageNo - 1) * pageSize; + return firstSize; + } + + public void updateSql(String sql) throws Exception { + Session session = null; + Transaction tx = null; + try { + session = getSession(); + tx = session.beginTransaction(); + SQLQuery query = session.createSQLQuery(sql); + query.executeUpdate(); + tx.commit(); + } catch (Exception ex) { + if(tx !=null){ + tx.rollback(); + } + throw new RuntimeException("updateSql:" + ex); + } finally { + closeResouce(session); + } + } + + /** + * 调用存储过程信息 + * + * @param stroName + * @throws Exception + */ + public void getcallStor(String stroName, String parm) throws Exception { + Session session = null; + try { + session = sessionFactory.getCurrentSession().getSessionFactory() + .openSession(); + String proc = "{ call " + stroName + "(:param) }"; + SQLQuery query = session.createSQLQuery(proc); + if (null != parm && !"".equals(parm)) { + query.setParameter("param", parm); + } + query.executeUpdate(); + } catch (Exception ex) { + + throw new RuntimeException("getcallStor:" + ex); + + } finally { + + closeResouce(session); + } + } + + public void createView(String sqlStr) throws Exception { + Session session = null; + Transaction tx = null; + try { + session = sessionFactory.getCurrentSession().getSessionFactory() + .openSession(); + tx = session.beginTransaction(); + SQLQuery query = sessionFactory.getCurrentSession().createSQLQuery( + sqlStr); + query.executeUpdate(); + tx.commit(); + } catch (Exception ex) { + if(tx !=null){ + tx.rollback(); + } + throw new RuntimeException("createView:" + ex); + + } finally { + + closeResouce(session); + } + + + } + + public void deletes(String hqlStr) throws Exception { + Session session = null; + Transaction tx = null; + try { + session = sessionFactory.getCurrentSession().getSessionFactory() + .openSession(); + tx = session.beginTransaction(); + Query query = session.createQuery(hqlStr); + query.executeUpdate(); + tx.commit(); + } catch (Exception ex) { + if(tx !=null){ + tx.rollback(); + } + throw new RuntimeException("deletes:" + ex); + + } finally { + + closeResouce(session); + } + + } + + @Override + public Object getObjectHql(String hql) throws Exception { + // TODO Auto-generated method stub + Session session = null; + Object obj = null; + try { + session = sessionFactory.getCurrentSession().getSessionFactory() + .openSession(); + Query query = session.createQuery(hql); + obj = query.uniqueResult(); + } catch (Exception ex) { + throw new RuntimeException("getObjectHql:" + ex); + } finally { + closeResouce(session); + } + + return obj; + } + + + public Session getSession() { + Session session = null; + if(null==session || false==session.isOpen()){ + session = sessionFactory.openSession(); + }else{ + session=sessionFactory.getCurrentSession(); + } + return session; + } +} diff --git a/src/main/java/com/dubh/common/dto/BaseDto.java b/src/main/java/com/dubh/common/dto/BaseDto.java new file mode 100644 index 0000000..852f051 --- /dev/null +++ b/src/main/java/com/dubh/common/dto/BaseDto.java @@ -0,0 +1,31 @@ +package com.dubh.common.dto; + +import java.io.Serializable; + +/** + * @author 作者姓名: dubaohui + * @version 创建时间:2015-5-15 上午11:23:33 + * 类说明 实体类序列化及分页参数封装 + */ +public class BaseDto implements Serializable { + protected int pageNo = 0; + protected int pageSize =0; + + public int getPageNo() { + return pageNo; + } + + public void setPageNo(int pageNo) { + this.pageNo = pageNo; + } + + public int getPageSize() { + return pageSize; + } + + public void setPageSize(int pageSize) { + this.pageSize = pageSize; + } + + +} diff --git a/src/main/java/com/dubh/common/file/Downfile.java b/src/main/java/com/dubh/common/file/Downfile.java new file mode 100644 index 0000000..d68bb98 --- /dev/null +++ b/src/main/java/com/dubh/common/file/Downfile.java @@ -0,0 +1,60 @@ +package com.dubh.common.file; + +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; + +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * @author 作者姓名: dubaohui + * @version 创建时间:2015-8-12 下午7:17:21 + * 类说明 + */ +public class Downfile { + + public static void DownloadFile(HttpServletRequest request,HttpServletResponse response,String filename){ + //获取网站部署路径(通过ServletContext对象),用于确定下载文件位置,从而实现下载 + String path = request.getSession().getServletContext().getRealPath("attached")+File.separator+filename; + File file = null; + try { + file = new File(path); + } catch (Exception e) { + e.printStackTrace(); + } + + if(null!=file){ + if(file.exists()){ + try { + //弹出下载对话框 + response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode(file.getName(), "utf-8")); + OutputStream os = os=response.getOutputStream(); + InputStream is= is=new FileInputStream(file); + BufferedInputStream bis=new BufferedInputStream(is); + BufferedOutputStream bos= new BufferedOutputStream(os); + //用输入流进行先读,然后用输出流去写 + int bytesRead = 0; + byte[] buffer = new byte[8192]; + while ((bytesRead = bis.read(buffer, 0, 8192)) != -1) { + bos.write(buffer, 0, bytesRead); + } + bos.flush(); + bos.close(); + bis.close(); + os.flush(); + os.close(); + is.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } +} diff --git a/src/main/java/com/dubh/common/file/UploadFile.java b/src/main/java/com/dubh/common/file/UploadFile.java new file mode 100644 index 0000000..756cdfc --- /dev/null +++ b/src/main/java/com/dubh/common/file/UploadFile.java @@ -0,0 +1,243 @@ +package com.dubh.common.file; +import java.io.File; +import java.util.Iterator; +import java.util.UUID; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.json.JSONArray; +import org.json.JSONObject; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.multipart.commons.CommonsMultipartResolver; + +import com.util.RequestUtil; + +/** + * @author 作者姓名: dubaohui + * @version 创建时间:2015-5-18 下午8:29:45 + * + * 类说明 :文件上传 + */ +public class UploadFile { + + + /** + * 多文件上传 + * @param HttpServletRequest + * @param HttpServletResponse + * @return JSONArray + * */ + public static JSONArray uploadmore(HttpServletRequest request, + HttpServletResponse response) { + JSONArray array = new JSONArray(); + try { + // 创建一个通用的多部分解析器 + CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver( + request.getSession().getServletContext()); + // 判断 request 是否有文件上传,即多部分请求 + if (multipartResolver.isMultipart(request)) { + // 转换成多部分request + MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request; + // 取得request中的所有文件名 + Iterator iter = multiRequest.getFileNames(); + while (iter.hasNext()) { + JSONObject object = new JSONObject(); + // 记录上传过程起始时的时间,用来计算上传时间 + int pre = (int) System.currentTimeMillis(); + // 取得上传文件 + MultipartFile file = multiRequest.getFile(iter.next()); + if (file != null) { + // 取得当前上传文件的文件名称 + String myFileName = file.getOriginalFilename(); + // 如果名称不为“”,说明该文件存在,否则说明该文件不存在 + if (myFileName.trim() != "") { + String oldname = myFileName; + object.put("filename",oldname); + object.put("filekj", file.getName()); + //定义上传路径命名新文件夹 + String mkfile = RequestUtil.getid(0); + //判断新文件夹是否存在 + String paths = request.getSession().getServletContext().getRealPath("attached")+"/"+mkfile; + File newfile = new File(paths); + if(!newfile.exists()){ + newfile.mkdir(); + } + //新文件名称 + String newfilename=RequestUtil.getid(3)+"."+RequestUtil.getExtensionName(myFileName); + //文件绝对路径 + String path = paths+"/"+ newfilename; + File localFile = new File(path); + file.transferTo(localFile); + //文件相对路径 + String filepath = "/"+"attached"+"/"+mkfile+"/"+newfilename; + object.put("filepath",filepath); + // 记录上传该文件后的时间 + int finaltime = (int) System.currentTimeMillis(); + int time = finaltime - pre; + object.put("time",time); + array.put(object); + } + } + } + + } + } catch (Exception ex) { + ex.printStackTrace(); + } + return array; + } + + + + + + /*** + * + * 单文件上传 + * @param HttpServletRequest + * @param HttpServletResponse + * @return JSONObject + * */ + public static JSONObject uploadone(HttpServletRequest request, + HttpServletResponse response) { + JSONObject object = new JSONObject(); + String oldname =""; + String filepath=""; + int time =0; + try { + // 创建一个通用的多部分解析器 + CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver( + request.getSession().getServletContext()); + // 判断 request 是否有文件上传,即多部分请求 + if (multipartResolver.isMultipart(request)) { + // 转换成多部分request + MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request; + // 取得request中的所有文件名 + Iterator iter = multiRequest.getFileNames(); + while (iter.hasNext()) { + // 记录上传过程起始时的时间,用来计算上传时间 + int pre = (int) System.currentTimeMillis(); + // 取得上传文件 + MultipartFile file = multiRequest.getFile(iter.next()); + if (file != null) { + // 取得当前上传文件的文件名称 + String myFileName = file.getOriginalFilename(); + // 如果名称不为“”,说明该文件存在,否则说明该文件不存在 + if (myFileName.trim() != "") { + oldname = myFileName; + + //定义上传路径命名新文件夹 + String mkfile = RequestUtil.getid(5); + //判断新文件夹是否存在 + String paths = request.getSession().getServletContext().getRealPath("attached")+"/"+mkfile; + File newfile = new File(paths); + if(!newfile.exists()){ + newfile.mkdir(); + } + //新文件名称 + String newfilename=RequestUtil.getid(3)+"."+RequestUtil.getExtensionName(myFileName); + //文件绝对路径 + String path = paths+"/"+ newfilename; + File localFile = new File(path); + file.transferTo(localFile); + //文件相对路径 + filepath = "/"+"attached"+"/"+mkfile+"/"+newfilename; + + } + } + // 记录上传该文件后的时间 + int finaltime = (int) System.currentTimeMillis(); + time = finaltime - pre; + + } + + } + object.put("time",time); + object.put("filename",oldname); + object.put("filepath",filepath); + } catch (Exception ex) { + ex.printStackTrace(); + } + return object; + } + + + + /** + * 多文件上传(仅供与检测端使用) + * @param HttpServletRequest + * @param HttpServletResponse + * @return JSONArray + * */ + public static JSONArray uploadmore2(HttpServletRequest request, + HttpServletResponse response,String id) { + JSONArray array = new JSONArray(); + try { + // 创建一个通用的多部分解析器 + CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext()); + // 判断 request 是否有文件上传,即多部分请求 + if (multipartResolver.isMultipart(request)) { + // 转换成多部分request + MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request; + // 取得request中的所有文件名 + Iterator iter = multiRequest.getFileNames(); + while (iter.hasNext()) { + JSONObject object = new JSONObject(); + // 记录上传过程起始时的时间,用来计算上传时间 + int pre = (int) System.currentTimeMillis(); + // 取得上传文件 + MultipartFile file = multiRequest.getFile(iter.next()); + synchronized (file) { + if (file != null) { + // 取得当前上传文件的文件名称 + String myFileName = file.getOriginalFilename(); + // 如果名称不为“”,说明该文件存在,否则说明该文件不存在 + if (myFileName.trim() != "") { + String oldname = myFileName; + oldname=oldname.replaceAll("_", ""); + object.put("filename",oldname); + object.put("filekj", file.getName()); + object.put("filesize", file.getSize()/1024); + String type=oldname.substring((oldname.lastIndexOf(".")+1),oldname.length()); + object.put("type", type); + //定义上传路径命名新文件夹 + String mkfile =id; + //判断新文件夹是否存在 + String paths = request.getSession().getServletContext().getRealPath("attached")+"/"+mkfile; + File newfile = new File(paths); + if(!newfile.exists()){ + newfile.mkdir(); + } + //新文件名称 +// String newfilename=RequestUtil.getid(3)+"."+RequestUtil.getExtensionName(myFileName); + String newfilename=UUID.randomUUID()+"."+RequestUtil.getExtensionName(myFileName); + //文件绝对路径 +// String path = paths+"/"+ oldname; + String path = paths+"/"+ newfilename; + File localFile = new File(path); + file.transferTo(localFile); + //文件相对路径 +// String filepath = "/"+"attached"+"/"+mkfile+"/"+oldname; + String filepath = "/"+"attached"+"/"+mkfile+"/"+newfilename; + object.put("filepath",filepath); + // 记录上传该文件后的时间 + int finaltime = (int) System.currentTimeMillis(); + int time = finaltime - pre; + System.out.println(file.getName()+":"+filepath); + object.put("time",time); + array.put(object); + } + } + } + } + + } + } catch (Exception ex) { + ex.printStackTrace(); + } + return array; + } + +} diff --git a/src/main/java/com/dubh/sysconfig/EacheConfig.java b/src/main/java/com/dubh/sysconfig/EacheConfig.java new file mode 100644 index 0000000..ee794ed --- /dev/null +++ b/src/main/java/com/dubh/sysconfig/EacheConfig.java @@ -0,0 +1,21 @@ +package com.dubh.sysconfig; +/** + * @author 作者姓名: dubaohui + * @version 创建时间:2015-8-14 上午9:04:13 + * 类说明 + */ +public class EacheConfig { + //当前方法名 + public static final String methodnames = "#root.methodName"; + //当前方法 + public static final String methodname = "#root.method.name"; + //当前被调用的对象 + public static final String targetobject = "#root.target"; + //当前被调用的对象的class + public static final String targetclass = "#root.targetClass"; + //当前方法参数组成的数组 + public static final String args = "#root.args[0]"; + //当前被调用的方法使用的Cache + public static final String caches = "#root.caches[0].name"; + +} diff --git a/src/main/java/com/dubh/sysconfig/ehcache.xml b/src/main/java/com/dubh/sysconfig/ehcache.xml new file mode 100644 index 0000000..01df772 --- /dev/null +++ b/src/main/java/com/dubh/sysconfig/ehcache.xml @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + diff --git a/src/main/java/com/dubh/sysconfig/group.properties b/src/main/java/com/dubh/sysconfig/group.properties new file mode 100644 index 0000000..11ff692 --- /dev/null +++ b/src/main/java/com/dubh/sysconfig/group.properties @@ -0,0 +1,3 @@ +functiontype=user +initpassword=111111 +userexportcoll=\u90E8\u95E8\u540D\u79F0,\u7528\u6237\u59D3\u540D,\u7528\u6237\u5E10\u53F7,\u6027\u522B,\u8054\u7CFB\u7535\u8BDD,\u90AE\u7BB1,\u7528\u6237\u804C\u79F0,\u6BD5\u4E1A\u9662\u6821,\u7C4D\u8D2F,\u6C11\u65CF,\u8EAB\u4EFD\u8BC1\u53F7\u7801,\u6237\u7C4D\u5730\u5740,\u5C45\u4F4F\u5730\u5740,\u7528\u6237\u63CF\u8FF0 \ No newline at end of file diff --git a/src/main/java/com/dubh/syslog/annotation/SystemControllerAfterLog.java b/src/main/java/com/dubh/syslog/annotation/SystemControllerAfterLog.java new file mode 100644 index 0000000..530c5c0 --- /dev/null +++ b/src/main/java/com/dubh/syslog/annotation/SystemControllerAfterLog.java @@ -0,0 +1,16 @@ +package com.dubh.syslog.annotation; +import java.lang.annotation.*; +/** + * @author 作者姓名: dubaohui + * @version 创建时间:2015-5-18 下午12:43:33 + * 类说明 :自定义注解 后置通知拦截Controller + */ +@Target({ElementType.PARAMETER, ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface SystemControllerAfterLog { + + String description() default ""; + +} + diff --git a/src/main/java/com/dubh/syslog/annotation/SystemControllerBeforeLog.java b/src/main/java/com/dubh/syslog/annotation/SystemControllerBeforeLog.java new file mode 100644 index 0000000..33525dd --- /dev/null +++ b/src/main/java/com/dubh/syslog/annotation/SystemControllerBeforeLog.java @@ -0,0 +1,16 @@ +package com.dubh.syslog.annotation; +import java.lang.annotation.*; +/** + * @author 作者姓名: dubaohui + * @version 创建时间:2015-5-18 下午12:43:33 + * 类说明 :自定义注解 前置通知拦截Controller + */ +@Target({ElementType.PARAMETER, ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface SystemControllerBeforeLog { + + String description() default ""; + +} + diff --git a/src/main/java/com/dubh/syslog/annotation/SystemLogAspect.java b/src/main/java/com/dubh/syslog/annotation/SystemLogAspect.java new file mode 100644 index 0000000..a5c1a1e --- /dev/null +++ b/src/main/java/com/dubh/syslog/annotation/SystemLogAspect.java @@ -0,0 +1,263 @@ +package com.dubh.syslog.annotation; + +import org.aspectj.lang.JoinPoint; +import org.aspectj.lang.annotation.*; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + + +import com.util.RequestUtil; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.lang.reflect.Method; + +/** + * @author 作者姓名: dubaohui + * @version 创建时间:2015-5-18 下午12:46:28 类说明:切入点 + */ +@Aspect +@Component +public class SystemLogAspect { + // 注入Service用于把日志保存数据库 +// @Resource(name = "syslogservice") +// private SyslogService syslogservice; + + // Service层切点 + @Pointcut("@annotation(com.dubh.syslog.annotation.SystemServiceLog)") + public void serviceAspect() { + } + + // 前置Controller层切点 + @Pointcut("@annotation(com.dubh.syslog.annotation.SystemControllerBeforeLog)") + public void controllerBeforeAspect() { + } + + // 后置Controller层切点 + @Pointcut("@annotation(com.dubh.syslog.annotation.SystemControllerAfterLog)") + public void controllerAfterAspect() { + } + + /** + * 前置通知 用于拦截Controller层记录用户的操作 + * + * @param joinPoint + * 切点 + */ + @Before("controllerBeforeAspect()") + public void doBefore(JoinPoint joinPoint) { + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder + .getRequestAttributes()).getRequest(); +// // 读取session中的用户 +// Tblsysuser user = SessionUser.getsession(request); +// String loginname = ""; +// String loginkey = ""; +// String loginaccount = ""; +// if (null != user) { +// loginname = user.getSysusername(); +// loginkey = user.getSysuserkey(); +// loginaccount = user.getSysaccount(); +// } +// // 请求的IP +// String ip = RequestUtil.getIpAddr(request); +// try { +// Tblsyslog loginfo = new Tblsyslog(); +// loginfo.setSyslogkey(RequestUtil.getid(6)); +// loginfo.setSysuserkey(loginkey); +// loginfo.setSysuseraccount(loginaccount); +// loginfo.setSysusername(loginname); +// loginfo.setSyspagename(joinPoint.getTarget().getClass().getName() +// + "." + joinPoint.getSignature().getName()); +// loginfo.setSysclassnameen(joinPoint.getTarget().getClass() +// .getName()); +// loginfo.setSyslogmothoden(joinPoint.getSignature().getName()); +// loginfo.setSyslogmothodcn(getControllerBeforeMethodDescription(joinPoint)); +// loginfo.setSysipaddress(ip); +// loginfo.setSyslogdate(RequestUtil.getDateTime()); +//// syslogservice.savelog(loginfo); +// } catch (Exception e) { +// // 记录本地异常日志 +// System.out.println("==前置通知异常=="); +// System.out.println("异常信息:{}" + e.getMessage()); +// } + } + + /** + * 后置通知 用于拦截Controller层记录用户的操作 + * + * @param joinPoint + * 切点 + */ + @After("controllerAfterAspect()") + public void doAfter(JoinPoint joinPoint) { + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder + .getRequestAttributes()).getRequest(); + // 读取session中的用户 +// Tblsysuser user = SessionUser.getsession(request); +// String loginname = ""; +// String loginaccount = ""; +// String loginkey =""; +// if(null !=user){ +// loginname = user.getSysusername(); +// loginaccount = user.getSysaccount(); +// loginkey = user.getSysuserkey(); +// } +// // 请求的IP +// String ip = RequestUtil.getIpAddr(request); +// try { +// Tblsyslog loginfo = new Tblsyslog(); +// loginfo.setSyslogkey(RequestUtil.getid(6)); +// loginfo.setSysuserkey(loginkey); +// loginfo.setSysuseraccount(loginaccount); +// loginfo.setSysusername(loginname); +// loginfo.setSyspagename(joinPoint.getTarget().getClass().getName() +// + "." + joinPoint.getSignature().getName()); +// loginfo.setSysclassnameen(joinPoint.getTarget().getClass() +// .getName()); +// loginfo.setSyslogmothoden(joinPoint.getSignature().getName()); +// loginfo.setSyslogmothodcn(getControllerAfterMethodDescription(joinPoint)); +// loginfo.setSysipaddress(ip); +// loginfo.setSyslogdate(RequestUtil.getDateTime()); +//// syslogservice.savelog(loginfo); +// } catch (Exception e) { +// // 记录本地异常日志 +// System.out.println("==后置通知异常=="); +// System.out.println("异常信息:{}" + e.getMessage()); +// } + } + + /** + * 异常通知 用于拦截service层记录异常日志 + * + * @param joinPoint + * @param e + */ + @AfterThrowing(pointcut = "serviceAspect()", throwing = "e") + public void doAfterThrowing(JoinPoint joinPoint, Throwable e) { + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder + .getRequestAttributes()).getRequest(); +// // 读取session中的用户 +// Tblsysuser user = SessionUser.getsession(request); +// // 获取请求ip +// String ip = request.getRemoteAddr(); +// // 获取用户请求方法的参数并序列化为JSON格式字符串 +// String params = ""; +// if (joinPoint.getArgs() != null && joinPoint.getArgs().length > 0) { +// for (int i = 0; i < joinPoint.getArgs().length; i++) { +// params += joinPoint.getArgs()[i] + ";"; +// } +// } +// try { +// /* ========控制台输出========= */ +// System.out.println("=====异常通知开始====="); +// System.out.println("异常代码:" + e.getClass().getName()); +// System.out.println("异常信息:" + e.getMessage()); +// System.out.println("异常方法:" +// + (joinPoint.getTarget().getClass().getName() + "." +// + joinPoint.getSignature().getName() + "()")); +// System.out.println("方法描述:" + getServiceMthodDescription(joinPoint)); +// System.out.println("请求人:" + user.getSysusername()); +// System.out.println("请求IP:" + ip); +// System.out.println("请求参数:" + params); +// /* ==========数据库日志========= */ +// System.out.println("=====异常通知结束====="); +// } catch (Exception ex) { +// // 记录本地异常日志 +// System.out.println("==异常通知异常=="); +// System.out.println("异常信息:{}" + ex.getMessage()); +// } +// /* ==========记录本地异常日志========== */ +// System.out.println("异常方法:" + joinPoint.getTarget().getClass().getName() +// + joinPoint.getSignature().getName()); +// System.out.println("异常代码:" + e.getClass().getName()); +// System.out.println("异常信息:" + e.getMessage()); +// System.out.println("参数:" + params); + } + + /** + * 获取注解中对方法的描述信息 用于service层注解 + * + * @param joinPoint + * 切点 + * @return 方法描述 + * @throws Exception + */ + public static String getServiceMthodDescription(JoinPoint joinPoint) + throws Exception { + String targetName = joinPoint.getTarget().getClass().getName(); + String methodName = joinPoint.getSignature().getName(); + Object[] arguments = joinPoint.getArgs(); + Class targetClass = Class.forName(targetName); + Method[] methods = targetClass.getMethods(); + String description = ""; + for (Method method : methods) { + if (method.getName().equals(methodName)) { + Class[] clazzs = method.getParameterTypes(); + if (clazzs.length == arguments.length) { + description = method.getAnnotation(SystemServiceLog.class) + .description(); + break; + } + } + } + return description; + } + + /** + * 获取注解中对方法的描述信息 用于Controller层注解 + * + * @param joinPoint + * 切点 + * @return 方法描述 + * @throws Exception + */ + public static String getControllerAfterMethodDescription(JoinPoint joinPoint) + throws Exception { + String targetName = joinPoint.getTarget().getClass().getName(); + String methodName = joinPoint.getSignature().getName(); + Object[] arguments = joinPoint.getArgs(); + Class targetClass = Class.forName(targetName); + Method[] methods = targetClass.getMethods(); + String description = ""; + for (Method method : methods) { + if (method.getName().equals(methodName)) { + Class[] clazzs = method.getParameterTypes(); + if (clazzs.length == arguments.length) { + description = method.getAnnotation( + SystemControllerAfterLog.class).description(); + break; + } + } + } + return description; + } + + /** + * 获取注解中对方法的描述信息 用于Controller层注解 + * + * @param joinPoint + * 切点 + * @return 方法描述 + * @throws Exception + */ + public static String getControllerBeforeMethodDescription( + JoinPoint joinPoint) throws Exception { + String targetName = joinPoint.getTarget().getClass().getName(); + String methodName = joinPoint.getSignature().getName(); + Object[] arguments = joinPoint.getArgs(); + Class targetClass = Class.forName(targetName); + Method[] methods = targetClass.getMethods(); + String description = ""; + for (Method method : methods) { + if (method.getName().equals(methodName)) { + Class[] clazzs = method.getParameterTypes(); + if (clazzs.length == arguments.length) { + description = method.getAnnotation( + SystemControllerBeforeLog.class).description(); + break; + } + } + } + return description; + } +} diff --git a/src/main/java/com/dubh/syslog/annotation/SystemServiceLog.java b/src/main/java/com/dubh/syslog/annotation/SystemServiceLog.java new file mode 100644 index 0000000..f76fed5 --- /dev/null +++ b/src/main/java/com/dubh/syslog/annotation/SystemServiceLog.java @@ -0,0 +1,20 @@ +package com.dubh.syslog.annotation; +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; +/** + * @author 作者姓名: dubaohui + * @version 创建时间:2015-5-18 下午12:45:10 + * 类说明:自定义注解 拦截service + */ +@Target({ElementType.PARAMETER, ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface SystemServiceLog { + + String description() default ""; + + +} diff --git a/src/main/java/com/hessian/HessianService.java b/src/main/java/com/hessian/HessianService.java new file mode 100644 index 0000000..ff452ef --- /dev/null +++ b/src/main/java/com/hessian/HessianService.java @@ -0,0 +1,10 @@ +package com.hessian; +/** + * @author 作者姓名: dubaohui + * @version 创建时间:2015-12-16 下午4:58:10 + * 类说明 + */ +public interface HessianService { + + public String getName(String names); +} diff --git a/src/main/java/com/ljh/excel/annotation/ColumnAnnotation.java b/src/main/java/com/ljh/excel/annotation/ColumnAnnotation.java new file mode 100644 index 0000000..01dc1d1 --- /dev/null +++ b/src/main/java/com/ljh/excel/annotation/ColumnAnnotation.java @@ -0,0 +1,15 @@ +package com.ljh.excel.annotation; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Target(ElementType.FIELD) +@Retention(RetentionPolicy.RUNTIME) +@Documented +//字段注解,对应excel里面的列 +public @interface ColumnAnnotation { + public String value() default "A"; +} diff --git a/src/main/java/com/ljh/excel/bean/BaseBean.java b/src/main/java/com/ljh/excel/bean/BaseBean.java new file mode 100644 index 0000000..07506ee --- /dev/null +++ b/src/main/java/com/ljh/excel/bean/BaseBean.java @@ -0,0 +1,73 @@ +package com.ljh.excel.bean; + +import java.util.List; + +import com.ljh.excel.parser.BeanOperation; +import com.ljh.excel.parser.Parser; + +public class BaseBean { + public List selectAll() { + Parser p = new Parser(this.getClass()); + try { + List list = p.processAllSheets(); +// System.out.println(list); + return list; + + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + return null; + } + + public List selectAll(String filename) throws Exception{ + Parser p = new Parser(this.getClass()); + try { + List list = p.processAllSheets(filename); +// System.out.println(list); + return list; + + } catch (Exception e) { + // TODO Auto-generated catch block + throw e; + } + } + + // ����һ��bean����ݼ��ϣ��Ḳ��ԭ�ȵ���� + public void saveAll(List data) { + BeanOperation p = new BeanOperation(); + try { + p.saveAll(data); + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + + public boolean saveAll(List data, String filename) { + BeanOperation p = new BeanOperation(); + try { + p.saveAll(data, filename); + return true; + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + return false; + } + } + + public void addAll(List data) { + BeanOperation p = new BeanOperation(); + try { + p.addAll(data); + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + + public void deleteByIndex(int index) { + BeanOperation p = new BeanOperation(); + p.deleteByIndex(index, this.getClass()); + } +} diff --git a/src/main/java/com/ljh/excel/bean/factory/ExcelFactory.java b/src/main/java/com/ljh/excel/bean/factory/ExcelFactory.java new file mode 100644 index 0000000..781d59a --- /dev/null +++ b/src/main/java/com/ljh/excel/bean/factory/ExcelFactory.java @@ -0,0 +1,20 @@ +package com.ljh.excel.bean.factory; + +import java.io.File; + +public class ExcelFactory { + public static String PACTORYPATH = ""; + + private ExcelFactory() { + } + + public static void instance(String path) { + PACTORYPATH = path; + File f = new File(path); + if (f.exists() && f.isDirectory()) { + + }else{ + f.mkdirs(); + } + } +} diff --git a/src/main/java/com/ljh/excel/parser/BaseParser.java b/src/main/java/com/ljh/excel/parser/BaseParser.java new file mode 100644 index 0000000..9ddea2d --- /dev/null +++ b/src/main/java/com/ljh/excel/parser/BaseParser.java @@ -0,0 +1,100 @@ +package com.ljh.excel.parser; + +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; + +import org.apache.poi.hssf.usermodel.HSSFCell; +import org.apache.poi.openxml4j.opc.OPCPackage; +import org.apache.poi.xssf.eventusermodel.XSSFReader; +import org.apache.poi.xssf.model.SharedStringsTable; +import org.apache.poi.xssf.model.StylesTable; +import org.apache.poi.xssf.usermodel.XSSFCell; +import org.apache.poi.xssf.usermodel.XSSFRow; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.xml.sax.ContentHandler; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; +import org.xml.sax.XMLReader; +import org.xml.sax.helpers.XMLReaderFactory; + +import com.ljh.excel.bean.factory.ExcelFactory; + +public class BaseParser { + public static ContentHandler handler; + protected List beanList = new ArrayList<>(); + protected Class cls; + protected Object bean; + protected SharedStringsTable sst; + protected StylesTable stylesTable; + + public void processFirstSheet(String filename) throws Exception { + OPCPackage pkg = OPCPackage.open(filename); + XSSFReader r = new XSSFReader(pkg); + SharedStringsTable sst = r.getSharedStringsTable(); + + XMLReader parser = fetchSheetParser(sst); + stylesTable = r.getStylesTable(); + // To look up the Sheet Name / Sheet Order / rID, + // you need to process the core Workbook stream. + // Normally it's of the form rId# or rSheet# + InputStream sheet2 = r.getSheet("rId2"); + InputSource sheetSource = new InputSource(sheet2); + parser.parse(sheetSource); + sheet2.close(); + } + + public List processAllSheets() throws Exception { + + return processAllSheets(cls.getSimpleName()); + } + + public List processAllSheets(String filename) throws Exception { + + OPCPackage pkg = OPCPackage.open(filename); + XSSFReader r = new XSSFReader(pkg); + SharedStringsTable sst = r.getSharedStringsTable(); + + XMLReader parser = fetchSheetParser(sst); + stylesTable = r.getStylesTable(); + + Iterator sheets = r.getSheetsData(); + int i=0; + while (sheets.hasNext()) { + // System.out.println("Processing new sheet:\n"); + InputStream sheet = sheets.next(); + InputSource sheetSource = new InputSource(sheet); + parser.parse(sheetSource); + sheet.close(); + if (beanList != null && bean != null) { + beanList.add(bean); + System.out.println("bean-->"); + } + break; + // System.out.println("end-->"); + } + return beanList; + } + + static XMLReader xmlReader = null; + static { + try { + xmlReader = XMLReaderFactory.createXMLReader("org.apache.xerces.parsers.SAXParser"); + } catch (SAXException e) { + e.printStackTrace(); + } + } + + public XMLReader fetchSheetParser(SharedStringsTable sst) throws SAXException { + XMLReader xmlReader = XMLReaderFactory.createXMLReader("org.apache.xerces.parsers.SAXParser"); + // ContentHandler handler = new SheetHandler(sst); + this.sst = sst; + xmlReader.setContentHandler(handler); + return xmlReader; + } + +} diff --git a/src/main/java/com/ljh/excel/parser/BeanOperation.java b/src/main/java/com/ljh/excel/parser/BeanOperation.java new file mode 100644 index 0000000..ddead49 --- /dev/null +++ b/src/main/java/com/ljh/excel/parser/BeanOperation.java @@ -0,0 +1,248 @@ +package com.ljh.excel.parser; + +import com.ljh.excel.annotation.ColumnAnnotation; +import com.ljh.excel.bean.BaseBean; +import com.ljh.excel.bean.factory.ExcelFactory; +import org.apache.poi.xssf.streaming.SXSSFRow; +import org.apache.poi.xssf.streaming.SXSSFSheet; +import org.apache.poi.xssf.streaming.SXSSFWorkbook; +import org.apache.poi.xssf.usermodel.XSSFRow; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.List; + +// +public class BeanOperation { + public void saveAll(List data) throws Exception { + saveAll(data, data.get(0).getClass().getSimpleName()); + } + + public void saveAll(List data, String filename) throws Exception { + // if (data.size() > 10000) { + // boolean tag = true; + // List data1 = new LinkedList<>(); + // + // while (tag) { + // int i = 0; + // boolean tag2 = true; + // while (tag2) { + // if (data.size()>0) { + // i++; + // data1.add(data.get(0)); + // data.remove(0); + // } else { + // tag = false; + // break; + // } + // if (i >= 5000) { + // break; + // } + // } + // addAll(data1, filename); + // data1.clear(); + // } + // data.clear(); + // } else { + // saveData(data,filename); + // } + + saveData(data, filename); + + } + + public void saveData(List data, String filename) throws Exception { + System.out.println("saveAll:" + filename + " data:" + data.size()); + SXSSFWorkbook wb = new SXSSFWorkbook(10000); + SXSSFSheet sheet = wb.createSheet("sheet1"); + createCell(data, sheet, 0); + new File(new File(filename).getParent()).mkdirs(); + FileOutputStream fout = new FileOutputStream(filename); + wb.write(fout); + fout.close(); + wb.dispose(); + System.out.println("saveData-end" ); + } + + public void addAll(List data) throws Exception { + addAll(data, data.get(0).getClass().getSimpleName()); + } + + public void addAll(List data, String filename) throws Exception { + if (new File(ExcelFactory.PACTORYPATH + "/" + filename + ".xlsx").exists() + && new File(ExcelFactory.PACTORYPATH + "/" + filename + ".xlsx").isFile()) { + System.out.println("addAll---"); + } else { + saveData(new ArrayList<>(), filename); + } + FileInputStream fs = new FileInputStream(ExcelFactory.PACTORYPATH + + "/" + filename + ".xlsx"); + XSSFWorkbook wb = new XSSFWorkbook(fs); +// SXSSFWorkbook wb = new SXSSFWorkbook(wb1); + + XSSFSheet sheet = wb.getSheetAt(0); + XSSFRow row = sheet.getRow(0); // + + FileOutputStream out = new FileOutputStream( + ExcelFactory.PACTORYPATH + "/" + filename + ".xlsx"); // + createCell(data, sheet, sheet.getLastRowNum() + 1); + out.flush(); + wb.write(out); + out.close(); + + + } + + private void createCell(List data, SXSSFSheet sheet, int first) { + SXSSFRow row; + int i = first; + String fname; + String s1; + ColumnAnnotation canno; + String s2; + Method m; + boolean tag = false; + if (data != null && data.size() > 0) { + tag = true; + } + while (tag) { + BaseBean bean = data.get(0); + //System.out.println("createCell" + i); + Class c = bean.getClass(); + Field[] filds = c.getDeclaredFields(); + row = sheet.createRow(i); + i++; + + for (Field f : filds) { + f.setAccessible(true); + canno = f.getAnnotation(ColumnAnnotation.class); + if (canno != null) { + fname = "get" + f.getName().substring(0, 1).toUpperCase() + f.getName().substring(1); + s1 = canno.value(); + try { + m = c.getDeclaredMethod(fname, new Class[] {}); + m.setAccessible(true); + s2 = (String) m.invoke(bean); + + char[] c1 = s1.toCharArray(); + int index = (int) c1[0] - 65; + try { + int index2= (int) c1[1] - 65; + index=26+index2; + } catch (Exception e) { + // TODO: handle exception + } + //System.out.println("canno:"+s1+" index:"+index); + row.createCell((short) index).setCellValue(s2); + + } catch (Exception e) { + e.printStackTrace(); + } + } + } + data.remove(0); + if (data.size() > 0) { + tag = true; + } else { + tag = false; + } + } + } + private void createCell(List data, XSSFSheet sheet, int first) { + XSSFRow row; + int i = first; + String fname; + String s1; + ColumnAnnotation canno; + String s2; + Method m; + boolean tag = false; + if (data != null && data.size() > 0) { + tag = true; + } + while (tag) { + BaseBean bean = data.get(0); + System.out.println("createCell" + i); + Class c = bean.getClass(); + Field[] filds = c.getDeclaredFields(); + row = sheet.createRow(i); + i++; + + for (Field f : filds) { + f.setAccessible(true); + canno = f.getAnnotation(ColumnAnnotation.class); + if (canno != null) { + fname = "get" + f.getName().substring(0, 1).toUpperCase() + f.getName().substring(1); + s1 = canno.value(); + try { + m = c.getDeclaredMethod(fname, new Class[] {}); + m.setAccessible(true); + s2 = (String) m.invoke(bean); + + char[] c1 = s1.toCharArray(); + int index = (int) c1[0] - 65; + try { + int index2= (int) c1[1] - 65; + index=26+index2; + } catch (Exception e) { + // TODO: handle exception + } + System.out.println("canno:"+s1+" index:"+index); + row.createCell((short) index).setCellValue(s2); + + } catch (Exception e) { + e.printStackTrace(); + } + + } + } + data.remove(0); + if (data.size() > 0) { + tag = true; + } else { + tag = false; + } + } + } + + public void deleteByIndex(int index, Class cls) { + try { + + FileInputStream is = new FileInputStream(ExcelFactory.PACTORYPATH + "/" + cls.getSimpleName() + ".xlsx"); + + XSSFWorkbook workbook = new XSSFWorkbook(is); + + XSSFSheet sheet = workbook.getSheetAt(0); + + removeRow(sheet, index); + FileOutputStream os = new FileOutputStream(ExcelFactory.PACTORYPATH + "/" + cls.getSimpleName() + ".xlsx"); + + workbook.write(os); + + is.close(); + + os.close(); + + } catch (Exception e) { + + e.printStackTrace(); + } + } + + public void removeRow(XSSFSheet sheet, int rowIndex) { + int lastRowNum = sheet.getLastRowNum(); + if (rowIndex >= 0 && rowIndex < lastRowNum) + sheet.shiftRows(rowIndex + 1, lastRowNum, -1); + if (rowIndex == lastRowNum) { + XSSFRow removingRow = sheet.getRow(rowIndex); + if (removingRow != null) + sheet.removeRow(removingRow); + } + } +} diff --git a/src/main/java/com/ljh/excel/parser/FromHowTo.java b/src/main/java/com/ljh/excel/parser/FromHowTo.java new file mode 100644 index 0000000..8c76e3e --- /dev/null +++ b/src/main/java/com/ljh/excel/parser/FromHowTo.java @@ -0,0 +1,142 @@ +/* ==================================================================== + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +==================================================================== */ +package com.ljh.excel.parser; + +import java.io.InputStream; +import java.util.Iterator; + +import org.apache.poi.xssf.eventusermodel.XSSFReader; +import org.apache.poi.xssf.model.SharedStringsTable; +import org.apache.poi.xssf.usermodel.XSSFRichTextString; +import org.apache.poi.openxml4j.opc.OPCPackage; +import org.xml.sax.Attributes; +import org.xml.sax.ContentHandler; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; +import org.xml.sax.XMLReader; +import org.xml.sax.helpers.DefaultHandler; +import org.xml.sax.helpers.XMLReaderFactory; + +/** + * XSSF and SAX (Event API) basic example. + * See {@link XLSX2CSV} for a fuller example of doing + * XSLX processing with the XSSF Event code. + */ +public class FromHowTo { + public void processFirstSheet(String filename) throws Exception { + OPCPackage pkg = OPCPackage.open(filename); + XSSFReader r = new XSSFReader( pkg ); + SharedStringsTable sst = r.getSharedStringsTable(); + + XMLReader parser = fetchSheetParser(sst); + + // To look up the Sheet Name / Sheet Order / rID, + // you need to process the core Workbook stream. + // Normally it's of the form rId# or rSheet# + InputStream sheet2 = r.getSheet("rId2"); + InputSource sheetSource = new InputSource(sheet2); + parser.parse(sheetSource); + sheet2.close(); + } + + public static void processAllSheets(String filename) throws Exception { + OPCPackage pkg = OPCPackage.open(filename); + XSSFReader r = new XSSFReader( pkg ); + SharedStringsTable sst = r.getSharedStringsTable(); + + XMLReader parser = fetchSheetParser(sst); + + Iterator sheets = r.getSheetsData(); + while(sheets.hasNext()) { + System.out.println("Processing new sheet:\n"); + InputStream sheet = sheets.next(); + InputSource sheetSource = new InputSource(sheet); + parser.parse(sheetSource); + sheet.close(); + System.out.println(""); + } + } + + public static XMLReader fetchSheetParser(SharedStringsTable sst) throws SAXException { + XMLReader parser = + XMLReaderFactory.createXMLReader( + "org.apache.xerces.parsers.SAXParser" + ); + ContentHandler handler = new SheetHandler(sst); + parser.setContentHandler(handler); + return parser; + } + + /** + * See org.xml.sax.helpers.DefaultHandler javadocs + */ + private static class SheetHandler extends DefaultHandler { + private SharedStringsTable sst; + private String lastContents; + private boolean nextIsString; + + private SheetHandler(SharedStringsTable sst) { + this.sst = sst; + } + + public void startElement(String uri, String localName, String name, + Attributes attributes) throws SAXException { + // c => cell + if(name.equals("c")) { + // Print the cell reference + System.out.print(attributes.getValue("r") + " - "); + // Figure out if the value is an index in the SST + String cellType = attributes.getValue("t"); + if(cellType != null && cellType.equals("s")) { + nextIsString = true; + } else { + nextIsString = false; + } + } + // Clear contents cache + lastContents = ""; + } + + public void endElement(String uri, String localName, String name) + throws SAXException { + // Process the last contents as required. + // Do now, as characters() may be called more than once + if(nextIsString) { + int idx = Integer.parseInt(lastContents); + lastContents = new XSSFRichTextString(sst.getEntryAt(idx)).toString(); + nextIsString = false; + } + + // v => contents of a cell + // Output after we've seen the string contents + if(name.equals("v")) { + System.out.println(lastContents); + } + } + + public void characters(char[] ch, int start, int length) + throws SAXException { + lastContents += new String(ch, start, length); + } + } + + public static void main(String[] args) throws Exception { + FromHowTo howto = new FromHowTo(); + howto.processFirstSheet(args[0]); + howto.processAllSheets(args[0]); + } +} diff --git a/src/main/java/com/ljh/excel/parser/Parser.java b/src/main/java/com/ljh/excel/parser/Parser.java new file mode 100644 index 0000000..710b236 --- /dev/null +++ b/src/main/java/com/ljh/excel/parser/Parser.java @@ -0,0 +1,255 @@ +package com.ljh.excel.parser; + +import java.lang.ref.WeakReference; +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.List; + +import org.apache.poi.ss.usermodel.BuiltinFormats; +import org.apache.poi.ss.usermodel.DataFormatter; +import org.apache.poi.xssf.model.SharedStringsTable; +import org.apache.poi.xssf.model.StylesTable; +import org.apache.poi.xssf.usermodel.XSSFCellStyle; +import org.apache.poi.xssf.usermodel.XSSFRichTextString; +import org.xml.sax.Attributes; +import org.xml.sax.ContentHandler; +import org.xml.sax.SAXException; +import org.xml.sax.XMLReader; +import org.xml.sax.helpers.DefaultHandler; +import org.xml.sax.helpers.XMLReaderFactory; + +import com.ljh.excel.annotation.ColumnAnnotation; +import com.ljh.excel.test.User; + +public class Parser extends BaseParser { + /** + * See org.xml.sax.helpers.DefaultHandler javadocs + */ + /** + */ + private CellDataType nextDataType = CellDataType.SSTINDEX; + + private final DataFormatter formatter = new DataFormatter(); + private short formatIndex; + + private String formatString; + + public Parser(Class cl) { + cls = cl; + } + + public XMLReader fetchSheetParser(SharedStringsTable sst) throws SAXException { + ContentHandler handler = new SheetHandler(sst); + xmlReader.setContentHandler(handler); + return xmlReader; + } + + class SheetHandler extends DefaultHandler { + private SharedStringsTable sst; + private String lastContents; + private boolean nextIsString; + + private SheetHandler(SharedStringsTable sst) { + this.sst = sst; + + } + + String lastTag = ""; + String con = ""; + int i=0; + @Override + public void startElement(String uri, String localName, String name, Attributes attributes) throws SAXException { + // c => cell + if (name.equals("c")) { + setNextDataType(attributes); + + String attributest = attributes.getValue("r"); + String attributestr = attributest.substring(1).replaceAll("[A-Z]*", ""); + con = attributest.replaceAll("[0-9]*", ""); + if (attributestr != null && !attributestr.equals("") + && (lastTag.equals("") || !attributestr.equals(lastTag))) { + lastTag = attributestr; + + // System.out.println(""); + + if (bean != null) { + beanList.add(bean); + +// if(i%2000==0){ +// System.gc(); +// } +// System.out.println("bean:"+(i++)+"->" + bean); + System.out.println("bean:"+(i++)+"->" ); + } + try { + bean = cls.newInstance(); + } catch (InstantiationException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (IllegalAccessException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + } + // Print the cell reference + // System.out.print("(->"+attributes.getValue("r") + " - "); + // Figure out if the value is an index in the SST + String cellType = attributes.getValue("t"); + if (cellType != null && cellType.equals("s")) { + nextIsString = true; + } else { + nextIsString = false; + } + } + // Clear contents cache + lastContents = ""; + } + + public void endElement(String uri, String localName, String name) throws SAXException { + // Process the last contents as required. + // Do now, as characters() may be called more than once + if (nextIsString) { + int idx = Integer.parseInt(lastContents); + lastContents =new WeakReference(new XSSFRichTextString(sst.getEntryAt(idx))).get().toString(); + nextIsString = false; + } + + // v => contents of a cell + // Output after we've seen the string contents + if (name.equals("v") || "t".equals(name)) { + Class c = bean.getClass(); + Field[] fs = c.getDeclaredFields(); + + for (Field f : fs) { + f.setAccessible(true); + ColumnAnnotation canno = f.getAnnotation(ColumnAnnotation.class); + if (canno != null && canno.value().equals(con)) { + String fname = "set" + f.getName().substring(0, 1).toUpperCase() + f.getName().substring(1); + try { + Method m = c.getDeclaredMethod(fname, new Class[] { String.class }); + m.setAccessible(true); + // v => ��Ԫ���ֵ�����Ԫ�����ַ���v��ǩ��ֵΪ���ַ���SST�е����� + String value = getDataValue(lastContents.trim(), ""); + System.out.println(fname+lastContents.trim()); + m.invoke(bean, value.trim()); + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + } + } + } + + public void characters(char[] ch, int start, int length) throws SAXException { + lastContents += new String(ch, start, length); + } + } + + /** + */ + enum CellDataType { + BOOL, ERROR, FORMULA, INLINESTR, SSTINDEX, NUMBER, DATE, NULL + } + + /** + * + * @param attributes + */ + public void setNextDataType(Attributes attributes) { + try { + nextDataType = CellDataType.NUMBER; + formatIndex = -1; + formatString = null; + String cellType = attributes.getValue("t"); + String cellStyleStr = attributes.getValue("s"); + + if ("b".equals(cellType)) { + nextDataType = CellDataType.BOOL; + } else if ("e".equals(cellType)) { + nextDataType = CellDataType.ERROR; + } else if ("inlineStr".equals(cellType)) { + nextDataType = CellDataType.INLINESTR; + } else if ("s".equals(cellType)) { + nextDataType = CellDataType.SSTINDEX; + } else if ("str".equals(cellType)) { + nextDataType = CellDataType.FORMULA; + } + + if (cellStyleStr != null) { + int styleIndex = Integer.parseInt(cellStyleStr); + XSSFCellStyle style = stylesTable.getStyleAt(styleIndex); + formatIndex = style.getDataFormat(); + formatString = style.getDataFormatString(); + + if ("m/d/yy".equals(formatString) || "m/d/yy h:mm".equals(formatString)) { + nextDataType = CellDataType.DATE; + formatString = "yyyy/MM/dd hh:mm:ss"; + } + + if (formatString == null) { + nextDataType = CellDataType.NULL; + formatString = BuiltinFormats.getBuiltinFormat(formatIndex); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + + } + + @SuppressWarnings("deprecation") + public String getDataValue(String value, String thisStr) { + switch (nextDataType) { + case BOOL: + char first = value.charAt(0); + thisStr = first == '0' ? "FALSE" : "TRUE"; + break; + case ERROR: + thisStr = "\"ERROR:" + value.toString() + '"'; + break; + case FORMULA: + thisStr = '"' + value.toString() + '"'; + break; + case INLINESTR: + XSSFRichTextString rtsi = new XSSFRichTextString(value.toString()); + + thisStr = rtsi.toString(); + rtsi = null; + break; + case SSTINDEX: + String sstIndex = value.toString(); + try { + int idx = Integer.parseInt(sstIndex); + XSSFRichTextString rtss = new XSSFRichTextString(sst.getEntryAt(idx)); + thisStr = rtss.toString(); + rtss = null; + } catch (Exception ex) { + thisStr = value.toString(); + } + break; + case NUMBER: + if (formatString != null) { + thisStr = formatter.formatRawCellContents(Double.parseDouble(value), formatIndex, formatString).trim(); + } else { + thisStr = value; + } + + thisStr = thisStr.replace("_", "").trim(); + break; + case DATE: + thisStr = formatter.formatRawCellContents(Double.parseDouble(value), formatIndex, formatString); + + // thisStr = thisStr.replace(" ", "T"); + break; + default: + thisStr = " "; + + break; + } + + return thisStr; + } +} diff --git a/src/main/java/com/ljh/excel/test/MySqlTest.java b/src/main/java/com/ljh/excel/test/MySqlTest.java new file mode 100644 index 0000000..1f10d78 --- /dev/null +++ b/src/main/java/com/ljh/excel/test/MySqlTest.java @@ -0,0 +1,101 @@ +package com.ljh.excel.test; + + + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.List; + +import com.ljh.excel.bean.factory.ExcelFactory; + +public class MySqlTest { + public static void main(String[] args) throws SQLException { + ExcelFactory.PACTORYPATH="F:\\vmx"; + List list=new ArrayList(); + list.add(new User()); + list.add(new User("ljh2","test","test")); + list.add(new User("ljh3","test","test")); + new User().saveAll(list,"F:\\text.xlsx"); +// Connection conn = null; +// PreparedStatement stmt = null; +// ResultSet rs = null; +// +// try { +// Class.forName("com.mysql.jdbc.Driver"); +// conn = DriverManager.getConnection( +// "jdbc:mysql://localhost:3306/jeecp", "root", +// ""); +// stmt = conn.prepareStatement("select * from person where id=?"); +// stmt.setInt(1, 10); +// rs = stmt.executeQuery(); +// while (rs.next()) { +// System.out.println(rs.getInt("id")); +// System.out.println(rs.getString("name")); +// System.out.println("----------------------------"); +// } +// } catch (ClassNotFoundException e) { +// e.printStackTrace(); +// } catch (SQLException e) { +// e.printStackTrace(); +// } finally { +// if (rs != null) +// rs.close(); +// if (stmt != null) +// stmt.close(); +// if (conn != null) +// conn.close(); +// } +// Integer i1=new Integer("2"); +// Integer i2=new Integer("2"); +// System.out.println((int)i1==(int)i2); +// try { +//// List datalist2 = new ETabDispatch().selectAll("C:/Users/junhui/Desktop/tes.xlsx"); +//// for(ETabDispatch ed:datalist2){ +//// System.out.println("ed:"+ed); +//// } +//// System.out.println("datalist2:"+datalist2.size()); +// ExcelFactory.instance("d://"); +// SevenParams p1=new SevenParams("SevenParams", "SevenParams", "SevenParams", "SevenParams", "SevenParams"); +// SevenParams p2=new SevenParams("SevenParams", "SevenParams", "SevenParams"); +// SevenParams p3=new SevenParams("SevenParams", "SevenParams", "SevenParams", "SevenParams", "SevenParams", "SevenParams", "SevenParams"); +// SevenParams p4=new SevenParams("SevenParams", "SevenParams", "SevenParams", "SevenParams", "SevenParams", "SevenParams", "SevenParams"); +// List list=new ArrayList<>(); +// list.add(p1); +// list.add(p2); +// list.add(p3); +// list.add(p4); +// +// p1.saveAll(list,"d://SevenParams.xlsx"); +// } catch (Exception e) { +// // TODO Auto-generated catch block +// e.printStackTrace(); +// } +// System.out.println("days:"+daysBetween("2016-10-13 12:44:31","2016-10-15 12:44:31")); + } + /** + *字符串的日期格式的计算 + */ + public static int daysBetween(String smdate,String bdate){ + try { + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); + Calendar cal = Calendar.getInstance(); + cal.setTime(sdf.parse(smdate)); + long time1 = cal.getTimeInMillis(); + cal.setTime(sdf.parse(bdate)); + long time2 = cal.getTimeInMillis(); + long between_days=(time2-time1)/(1000*3600*24); + + return Integer.parseInt(String.valueOf(between_days)); + } catch (Exception e) { + // TODO: handle exception + return 0; + } + + } +} \ No newline at end of file diff --git a/src/main/java/com/ljh/excel/test/User.java b/src/main/java/com/ljh/excel/test/User.java new file mode 100644 index 0000000..99a387d --- /dev/null +++ b/src/main/java/com/ljh/excel/test/User.java @@ -0,0 +1,54 @@ +package com.ljh.excel.test; + +import com.ljh.excel.annotation.ColumnAnnotation; +import com.ljh.excel.bean.BaseBean; + +public class User extends BaseBean { + @ColumnAnnotation("A") + private String name; + @ColumnAnnotation("B") + private String department; + @ColumnAnnotation("C") + private String hobby; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDepartment() { + return department; + } + + public void setDepartment(String department) { + this.department = department; + } + + public String getHobby() { + return hobby; + } + + public void setHobby(String hobby) { + this.hobby = hobby; + } + + public User() { + super(); + } + + public User(String name, String department, String hobby) { + super(); + this.name = name; + this.department = department; + this.hobby = hobby; + } + + @Override + public String toString() { + return "User [name=" + name + ", department=" + department + ", hobby=" + hobby + "]"; + } + +} diff --git a/src/main/java/com/quartz/UnlockOrder.java b/src/main/java/com/quartz/UnlockOrder.java new file mode 100644 index 0000000..5ff3adf --- /dev/null +++ b/src/main/java/com/quartz/UnlockOrder.java @@ -0,0 +1,17 @@ +package com.quartz; + + +import org.quartz.Job; +import org.quartz.JobExecutionContext; +import com.util.SpringUtil; +public class UnlockOrder implements Job { + + + @Override + public void execute(JobExecutionContext context){ +// OrderService service =(OrderService)SpringUtil.getBean("orderservice"); +// //解锁10分钟以前的数据 +// service.executeSql("update taborder tab1 set locksign=0 where DATE_SUB(now(),INTERVAL 10 MINUTE)>=tab1.createtime and locksign=1 "); +// + } +} diff --git a/src/main/java/com/quartz/queryservlet.java b/src/main/java/com/quartz/queryservlet.java new file mode 100644 index 0000000..31c53b6 --- /dev/null +++ b/src/main/java/com/quartz/queryservlet.java @@ -0,0 +1,81 @@ +package com.quartz; +import java.io.IOException; +import java.text.ParseException; +import java.util.Date; + +import javax.servlet.ServletContext; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.quartz.CronTrigger; +import org.quartz.JobDetail; +import org.quartz.Scheduler; +import org.quartz.SchedulerException; +import org.quartz.SchedulerFactory; +import org.quartz.Trigger; +import org.quartz.impl.StdSchedulerFactory; +import org.springframework.web.context.WebApplicationContext; +import org.springframework.web.context.support.WebApplicationContextUtils; + +/** + * 监听策略信息 + * 获取预执行任务 + * @author dubaohui + * */ +public class queryservlet extends HttpServlet { + private static Scheduler sched =null; + public queryservlet() + { + super(); + } + + public void init() throws ServletException { +// SchedulerFactory schedFact = new org.quartz.impl.StdSchedulerFactory(); +// try { +// sched = StdSchedulerFactory.getDefaultScheduler(); +// if(sched.isStarted()){ +// sched.shutdown(true); //如果已经启动 停止当前调度任务 +// sched = StdSchedulerFactory.getDefaultScheduler(); +// } +// ServletContext sc = getServletContext(); +// WebApplicationContext ac = WebApplicationContextUtils.getRequiredWebApplicationContext(sc); +// +// JobDetail jobDetai1 = new JobDetail("订单解锁", sched.DEFAULT_GROUP,UnlockOrder.class); +// try { +// Trigger trigger1 =new CronTrigger("启动订单解锁扫描", Scheduler.DEFAULT_GROUP,"0 0/10 * * * ?"); +// sched.scheduleJob(jobDetai1,trigger1); +// sched.start(); +// } catch (Exception e) { +// e.printStackTrace(); +// } +// } catch (SchedulerException e) { +// e.printStackTrace(); +// } + + } + public void doGet(HttpServletRequest request, HttpServletResponse response) throws + ServletException, IOException { +// try { +// if(sched.isStarted()) +// { +// sched.shutdown(true); +// } +// if(sched.isShutdown()) +// { +// init(); +// } +// } catch (SchedulerException e) { +// e.printStackTrace(); +// } + + + + } + public void doPost(HttpServletRequest request, HttpServletResponse response) throws + ServletException, IOException { +// doGet(request, response); + } + +} diff --git a/src/main/java/com/util/AutoDtoFile.java b/src/main/java/com/util/AutoDtoFile.java new file mode 100644 index 0000000..5de1be6 --- /dev/null +++ b/src/main/java/com/util/AutoDtoFile.java @@ -0,0 +1,59 @@ +package com.util; + +import java.util.List; + +public class AutoDtoFile { + public static boolean creatDtoFile(String sqlTableName,String title,List list){ + if(null==title){ + title=""; + } + String tableName=UtilTools.szmZdx(sqlTableName); + StringBuffer buf=new StringBuffer(); + buf.append("package com.cn.pojo;\r\n"+ + "import javax.persistence.Column;\r\n"+ + "import javax.persistence.Entity;\r\n"+ + "import javax.persistence.Id;\r\n"+ + "import javax.persistence.Table;\r\n"+ + "import com.dubh.common.dto.BaseDto;\r\n\r\n" + + "/**\r\n"+ + " * "+title+"\r\n"+ + " * @author zengwp\r\n"+ + " */\r\n"+ + " @Entity\r\n"+ + " @Table(name = \""+sqlTableName+"\")\r\n"+ + " public class "+tableName+" extends BaseDto {\r\n"+ + " \r\n"); + //生成字段变量 + for (int i = 0; i =0){ + strSty="Integer "; + } + buf.append("\t private "+strSty+arr[0]+";\r\n"); + } + + //默认第一个为主键 + buf.append("\r\n\t @Id\r\n"); + + //GET和SET方法 + for (int i = 0; i < list.size(); i++) { + Object[] arr=(Object[])list.get(i); + String strSty="String "; + if(arr[1].toString().indexOf("int")>=0){ + strSty="Integer "; + } + String optsName=UtilTools.szmZdx(arr[0].toString()); + buf.append("\t @Column(name = \""+arr[0]+"\")\r\n"); + buf.append("\t public "+strSty+" get"+optsName+"() {\r\n"+ + "\t return "+arr[0]+";\r\n"+ + "\t }\r\n"+ + "\t public void set"+optsName+"("+strSty+" "+arr[0]+") {\r\n"+ + "\t this."+arr[0]+" = "+arr[0]+";\r\n"+ + "\t }\r\n"); + } + buf.append(" }"); + return NewFieldUtileTools.fileOperation("E:\\WorkSpace\\goldkey\\src\\com\\cn\\pojo",tableName+".java",buf.toString()); + + } +} diff --git a/src/main/java/com/util/BaiDuDistanceKm.java b/src/main/java/com/util/BaiDuDistanceKm.java new file mode 100644 index 0000000..e7be1b8 --- /dev/null +++ b/src/main/java/com/util/BaiDuDistanceKm.java @@ -0,0 +1,74 @@ +package com.util; +/** + * @author 作者姓名: dubaohui + * @version 创建时间:2015-10-8 下午3:51:18 + * 类说明 :计算坐标点之间的距离 + */ +public class BaiDuDistanceKm { + static double DEF_PI = 3.14159265359; // PI + static double DEF_2PI= 6.28318530712; // 2*PI + static double DEF_PI180= 0.01745329252; // PI/180.0 + static double DEF_R =6370693.5; // radius of earth + //适用于近距离 + public static double GetShortDistance(double lng1, double lat1, double lng2, double lat2) + { + double ew1, ns1, ew2, ns2; + double dx, dy, dew; + double distance; + double distancekm; + // 角度转换为弧度 + ew1 = lng1 * DEF_PI180; + ns1 = lat1 * DEF_PI180; + ew2 = lng2 * DEF_PI180; + ns2 = lat2 * DEF_PI180; + // 经度差 + dew = ew1 - ew2; + // 若跨东经和西经180 度,进行调整 + if (dew > DEF_PI) + dew = DEF_2PI - dew; + else if (dew < -DEF_PI) + dew = DEF_2PI + dew; + dx = DEF_R * Math.cos(ns1) * dew; // 东西方向长度(在纬度圈上的投影长度) + dy = DEF_R * (ns1 - ns2); // 南北方向长度(在经度圈上的投影长度) + // 勾股定理求斜边长 + distance = Math.sqrt(dx * dx + dy * dy); + distancekm = Math.rint(distance/100)/10; + return distancekm; + } + + //适用于远距离 + public static double GetLongDistance(double lng1, double lat1, double lng2, double lat2) + { + double ew1, ns1, ew2, ns2; + double distance; + double distancekm; + // 角度转换为弧度 + ew1 = lng1 * DEF_PI180; + ns1 = lat1 * DEF_PI180; + ew2 = lng2 * DEF_PI180; + ns2 = lat2 * DEF_PI180; + // 求大圆劣弧与球心所夹的角(弧度) + distance = Math.sin(ns1) * Math.sin(ns2) + Math.cos(ns1) * Math.cos(ns2) * Math.cos(ew1 - ew2); + // 调整到[-1..1]范围内,避免溢出 + if (distance > 1.0) + distance = 1.0; + else if (distance < -1.0) + distance = -1.0; + // 求大圆劣弧长度 + distance = DEF_R * Math.acos(distance); + distancekm = Math.rint(distance/100)/10; + return distancekm; + } + public static void main(String[] args) { + + double mLat1 = 29.490295; // point1纬度 + double mLon1 = 106.486654; // point1经度 + double mLat2 = 29.615467;// point2纬度 + double mLon2 = 106.581515;// point2经度 + double distance = BaiDuDistanceKm.GetLongDistance(mLon1, mLat1, mLon2, mLat2); + double distances = BaiDuDistanceKm.GetShortDistance(mLon1, mLat1, mLon2, mLat2); + //double b = Math.rint(distance/100)/10;// + System.out.println(distance+"----"+distances); + } + +} diff --git a/src/main/java/com/util/BaiduLatitudeUtils.java b/src/main/java/com/util/BaiduLatitudeUtils.java new file mode 100644 index 0000000..0781d66 --- /dev/null +++ b/src/main/java/com/util/BaiduLatitudeUtils.java @@ -0,0 +1,79 @@ +package com.util; +/** + * @author 作者姓名: dubaohui + * @version 创建时间:2015-10-8 下午3:45:59 + * 类说明:百度地址反解析 + */ +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.net.URL; +import java.net.URLEncoder; +import java.util.HashMap; +import java.util.Map; + +import org.apache.commons.lang.StringUtils; + +public class BaiduLatitudeUtils { + + public static final String KEY_1 = "46aaaddd44217ffb415f20a5a4466bcd"; + + + /** + * 返回输入地址的经纬度坐标 + * key lng(经度),lat(纬度) + */ + public static Map getGeocoderLatitude(String address){ + BufferedReader in = null; + Map map = new HashMap(); + try { + //将地址转换成utf-8的16进制 + address = URLEncoder.encode(address, "UTF-8"); +// 如果有代理,要设置代理,没代理可注释 +// System.setProperty("http.proxyHost","192.168.1.188"); +// System.setProperty("http.proxyPort","3128"); + URL tirc = new URL("http://api.map.baidu.com/geocoder?address="+ address +"&output=json&key="+ KEY_1); + + in = new BufferedReader(new InputStreamReader(tirc.openStream(),"UTF-8")); + String res; + StringBuilder sb = new StringBuilder(""); + while((res = in.readLine())!=null){ + sb.append(res.trim()); + } + String str = sb.toString(); + + if(StringUtils.isNotEmpty(str)){ + int lngStart = str.indexOf("lng\":"); + int lngEnd = str.indexOf(",\"lat"); + int latEnd = str.indexOf("},\"precise"); + if(lngStart > 0 && lngEnd > 0 && latEnd > 0){ + String lng =str.substring(lngStart+5, lngEnd); + String lat = str.substring(lngEnd+7, latEnd); + map.put("lng", lng); //经度 + map.put("lat", lat); //纬度 + }else{ + map.put("lng", "0"); //经度 + map.put("lat", "0"); //纬度 + } + }else{ + map.put("lng", "0"); //经度 + map.put("lat", "0"); //纬度 + } + }catch (Exception e) { + e.printStackTrace(); + }finally{ + try { + in.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + return map; + } + public static void main(String args[]){ + Map json = BaiduLatitudeUtils.getGeocoderLatitude("上海沪南路2419弄"); + System.out.println("lng : "+json.get("lng")); //经度 + System.out.println("lat : "+json.get("lat")); //纬度 + } + +} diff --git a/src/main/java/com/util/BuilderExcel.java b/src/main/java/com/util/BuilderExcel.java new file mode 100644 index 0000000..b274834 --- /dev/null +++ b/src/main/java/com/util/BuilderExcel.java @@ -0,0 +1,197 @@ +package com.util; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.List; + +import javax.servlet.http.HttpServletRequest; + +import org.apache.poi.hssf.usermodel.HSSFCell; +import org.apache.poi.hssf.usermodel.HSSFCellStyle; +import org.apache.poi.hssf.usermodel.HSSFFont; +import org.apache.poi.hssf.usermodel.HSSFRow; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; + +/** + * @author 作者姓名: dubaohui + * @version 创建时间:2015-8-12 下午2:57:13 + * 类说明:生成Excel工具类 + */ +public class BuilderExcel +{ + /** + * @功能:手工构建一个简单格式的Excel + */ + private static List getStudent() throws Exception + { + List list = new ArrayList(); + SimpleDateFormat df = new SimpleDateFormat("yyyy-mm-dd"); + Student user1 = new Student(1, "张三", 16, df.parse("1997-03-12")); + Student user2 = new Student(2, "李四", 17, df.parse("1996-08-12")); + Student user3 = new Student(3, "王五", 26, df.parse("1985-11-12")); + list.add(user1); + list.add(user2); + list.add(user3); + return list; + } + //生成Excel + public static boolean Builderexcels(HttpServletRequest request,String sheetname,String[] heard,List list,String xlsname){ + boolean sign = false; + // 第一步,创建一个webbook,对应一个Excel文件 + HSSFWorkbook wb = new HSSFWorkbook(); + // 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet + HSSFSheet sheet = wb.createSheet(sheetname); + // 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short + HSSFRow row = sheet.createRow(0); + // 第四步,创建单元格,并设置值表头 设置表头居中 + HSSFCellStyle style =Tablestyle(wb, 14, true, true, true, 13, false); + // 创建一个居中格式 + HSSFCell cell = null; + int valuelength=0; + if(heard.length>0){ + valuelength = heard.length; + for(int i=0;i0){ + for (int i = 0; i < list.size(); i++) + { + int j=i+1; + row = sheet.createRow(j); + Object[] obj =(Object[])list.get(i); + // 第四步,创建单元格,并设置值 + for(int t = 0;t>> 8)]); + sbuf.append(hex[(0x00FF & ch)]); + } + } } + return sbuf.toString(); + } + public static String unescape(String s) { + + StringBuffer sbuf = new StringBuffer(); + if(null !=s && !"".equals(s)){ + int i = 0; + int len = s.length(); + while (i < len) { + int ch = s.charAt(i); + if (ch == '+') { // + : map to ' ' + sbuf.append(' '); + } else if ('A' <= ch && ch <= 'Z') { // 'A'..'Z' : as it was + sbuf.append((char)ch); + } else if ('a' <= ch && ch <= 'z') { // 'a'..'z' : as it was + sbuf.append((char)ch); + } else if ('0' <= ch && ch <= '9') { // '0'..'9' : as it was + sbuf.append((char)ch); + } else if (ch == '-' || ch == '_' // unreserved : as it was + || ch == '.' || ch == '!' + || ch == '~' || ch == '*' + || ch == '\'' || ch == '(' + || ch == ')') { + sbuf.append((char)ch); + } else if (ch == '%') { + int cint = 0; + if ('u' != s.charAt(i+1)) { // %XX : map to ascii(XX) + cint = (cint << 4) | val[s.charAt(i+1)]; + cint = (cint << 4) | val[s.charAt(i+2)]; + i+=2; + } else { // %uXXXX : map to unicode(XXXX) + cint = (cint << 4) | val[s.charAt(i+2)]; + cint = (cint << 4) | val[s.charAt(i+3)]; + cint = (cint << 4) | val[s.charAt(i+4)]; + cint = (cint << 4) | val[s.charAt(i+5)]; + i+=5; + } + sbuf.append((char)cint); + } + i++; + } + } + return sbuf.toString(); + } + public static void main(String[] args) { + String str = Escape.escape("{\"jhraccount\":\"testa\",\"jhrpassword\":\"1111\"}"); + System.out.println(str); + System.out.println(Escape.unescape("%257B%250A++%2522teacherkey%2522+%253A+%25222014122718143719141%2522%252C%250A++%2522schoolkey%2522+%253A+%25222014122718143657297%2522%252C%250A++%2522babykey%2522+%253A+%25222014122920394364557%2522%252C%250A++%2522qdtype%2522+%253A+0%250A%257D")); + + + } +} \ No newline at end of file diff --git a/src/main/java/com/util/NetUtil.java b/src/main/java/com/util/NetUtil.java new file mode 100644 index 0000000..ce389ce --- /dev/null +++ b/src/main/java/com/util/NetUtil.java @@ -0,0 +1,210 @@ +package com.util; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.PrintWriter; +import java.io.UnsupportedEncodingException; +import java.net.HttpURLConnection; +import java.net.URL; +import java.net.URLConnection; +import java.net.URLEncoder; +import java.util.List; +import java.util.Map; + +public class NetUtil { + public static final String DEF_CHATSET = "UTF-8"; + public static final int DEF_CONN_TIMEOUT = 30000; + public static final int DEF_READ_TIMEOUT = 30000; + public static String userAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36"; + + /** + * + * @param strUrl 请求地址 + * @param params 请求参数 + * @param method 请求方法 + * @return 网络请求字符串 + * @throws Exception + */ + public static String net(String strUrl, final Map params,String method) throws Exception { + HttpURLConnection conn = null; + BufferedReader reader = null; + String rs = null; + try { + StringBuffer sb = new StringBuffer(); + if(method==null || method.equals("GET")){ + if(params!=null&&"".equals(params)){ + strUrl = strUrl+"?"+urlencode(params); + } + + } +// System.out.println("net_url:"+strUrl); +// String last = strUrl.substring(strUrl.length()-1, strUrl.length()); +// if("&".equals(last)){ +// strUrl = strUrl.substring(0, strUrl.length()-1); +// } + URL url = new URL(strUrl); + conn = (HttpURLConnection) url.openConnection(); + if(method==null || method.equals("GET")){ + conn.setRequestMethod("GET"); + }else{ + conn.setRequestMethod("POST"); + conn.setDoOutput(true); + } + conn.setRequestProperty("User-agent", userAgent); + conn.setUseCaches(false); + conn.setConnectTimeout(DEF_CONN_TIMEOUT); + conn.setReadTimeout(DEF_READ_TIMEOUT); + conn.setInstanceFollowRedirects(false); + conn.connect(); +// if (params!= null && method.equals("POST")) { +// try (DataOutputStream out = new DataOutputStream(conn.getOutputStream())) { +// out.writeBytes(urlencode(params)); +// } +// } + InputStream is = conn.getInputStream(); + reader = new BufferedReader(new InputStreamReader(is, DEF_CHATSET)); + String strRead = null; + while ((strRead = reader.readLine()) != null) { + sb.append(strRead); + } + rs = sb.toString(); + } catch (IOException e) { + e.printStackTrace(); + } finally { + if (reader != null) { + reader.close(); + } + if (conn != null) { + conn.disconnect(); + } + } + return rs; + } + + /** + * 向指定URL发送GET方法的请求 + * + * @param url + * 发送请求的URL + * @param param + * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 + * @return URL 所代表远程资源的响应结果 + */ + public static String sendGet(String url, String param) { + String result = ""; + BufferedReader in = null; + try { + String urlNameString = url + "?" + param; + URL realUrl = new URL(urlNameString); + // 打开和URL之间的连接 + URLConnection connection = realUrl.openConnection(); + // 设置通用的请求属性 + connection.setRequestProperty("accept", "*/*"); + connection.setRequestProperty("connection", "Keep-Alive"); + connection.setRequestProperty("user-agent", + "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); + // 建立实际的连接 + connection.connect(); + // 获取所有响应头字段 + Map> map = connection.getHeaderFields(); + // 遍历所有的响应头字段 + for (String key : map.keySet()) { + System.out.println(key + "--->" + map.get(key)); + } + // 定义 BufferedReader输入流来读取URL的响应 + in = new BufferedReader(new InputStreamReader( + connection.getInputStream())); + String line; + while ((line = in.readLine()) != null) { + result += line; + } + } catch (Exception e) { + System.out.println("发送GET请求出现异常!" + e); + e.printStackTrace(); + } + // 使用finally块来关闭输入流 + finally { + try { + if (in != null) { + in.close(); + } + } catch (Exception e2) { + e2.printStackTrace(); + } + } + return result; + } + + /** + * 向指定 URL 发送POST方法的请求 + * + * @param url + * 发送请求的 URL + * @param param + * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 + * @return 所代表远程资源的响应结果 + */ + public static String sendPost(String url, String param) { + PrintWriter out = null; + BufferedReader in = null; + String result = ""; + try { + URL realUrl = new URL(url); + // 打开和URL之间的连接 + URLConnection conn = realUrl.openConnection(); + // 设置通用的请求属性 + conn.setRequestProperty("accept", "*/*"); + conn.setRequestProperty("connection", "Keep-Alive"); + conn.setRequestProperty("user-agent", + "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); + // 发送POST请求必须设置如下两行 + conn.setDoOutput(true); + conn.setDoInput(true); + // 获取URLConnection对象对应的输出流 + out = new PrintWriter(conn.getOutputStream()); + // 发送请求参数 + out.print(param); + // flush输出流的缓冲 + out.flush(); + // 定义BufferedReader输入流来读取URL的响应 + in = new BufferedReader( + new InputStreamReader(conn.getInputStream())); + String line; + while ((line = in.readLine()) != null) { + result += line; + } + } catch (Exception e) { + System.out.println("发送 POST 请求出现异常!"+e); + e.printStackTrace(); + } + //使用finally块来关闭输出流、输入流 + finally{ + try{ + if(out!=null){ + out.close(); + } + if(in!=null){ + in.close(); + } + } + catch(IOException ex){ + ex.printStackTrace(); + } + } + return result; + } + //将map型转为请求参数型 + public static String urlencode(Map data) { + StringBuilder sb = new StringBuilder(); + for (Map.Entry i : data.entrySet()) { + try { + sb.append(i.getKey()).append("=").append(URLEncoder.encode(i.getValue()+"","UTF-8")).append("&"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + } + return sb.toString(); + } +} diff --git a/src/main/java/com/util/NewFieldUtileTools.java b/src/main/java/com/util/NewFieldUtileTools.java new file mode 100644 index 0000000..86fc096 --- /dev/null +++ b/src/main/java/com/util/NewFieldUtileTools.java @@ -0,0 +1,155 @@ +package com.util; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.io.UnsupportedEncodingException; +import java.io.Writer; + +public class NewFieldUtileTools { + + /** + * 生成文件 + * @param filePath + * @param fileName + * @param fileContent + * @return + * @throws UnsupportedEncodingException + * @throws FileNotFoundException + */ + public static boolean fileOperation(String filePath, String fileName,String fileContent){ + boolean sign = false; + String pathTemp = filePath + "\\" + fileName; + File file = new File(pathTemp); + File file2 = new File(filePath); + file2.mkdirs(); + try { + // 文件不存在 + if (!file.exists()) { + + sign = createFile(pathTemp);// 创建文件 + if (sign) {// 文件创建成功 + writeFile(pathTemp, fileContent);// 写入内容 + } + } else { + sign = deleteFile(pathTemp);// 删除文件 + sign = createFile(pathTemp);// 创建文件 + if (sign) {// 文件创建成功 + writeFile(pathTemp, fileContent);// 写入内容 + } + } + } catch (IOException e) { + e.printStackTrace(); + } + return sign; + } + /** + * 创建文件 + * + * @throws IOException + */ + public static boolean createFile(String name) throws IOException { + boolean flag = false; + File filename = new File(name); + if (!filename.exists()) { + filename.createNewFile(); + flag = true; + } + return flag; + } + + /** + * 写文件 + * + * @param newStr + * 新内容 + * @throws IOException + */ + public static boolean writeFile(String filePath, String newStr) + throws IOException { + // 先读取原有文件内容,然后进行写入操作 + boolean flag = false; + String filein = newStr + "\r\n"; + // String str = new String(filein.getBytes("UTF-8"),"UTF-8"); + String temp = ""; + FileInputStream fis = null; + InputStreamReader isr = null; + BufferedReader br = null; + FileOutputStream fos = null; + // PrintWriter pw = null; + Writer pw = null; + try { + File file = new File(filePath); + // 将文件读入输入流 + fis = new FileInputStream(file); + isr = new InputStreamReader(fis, "utf-8"); + br = new BufferedReader(isr); + StringBuffer buf = new StringBuffer(); + // // 文件路径 + // File file = new File(filePath); + // // 将文件读入输入流 + // + // isr = new InputStreamReader(new FileInputStream(file),"utf-8"); + // br = new BufferedReader(isr); + // StringBuffer buf = new StringBuffer(); + /** + * File f=new File(rawfilename); if(f.exists()) { BufferedReader + * br=null; try { String line; InputStreamReader read = new + * InputStreamReader(new FileInputStream(f),"utf-8"); br=new + * BufferedReader(read); + */ + // 保存该文件原有的内容 + for (int i = 1; (temp = br.readLine()) != null; i++) { + buf = buf.append(temp); + buf = buf.append(System.getProperty("line.separator")); + } + buf.append(filein); + fos = new FileOutputStream(file); + pw = new OutputStreamWriter(fos, "utf-8"); + pw.write(buf.toString()); + pw.flush(); + flag = true; + } catch (IOException e1) { + throw e1; + } finally { + if (pw != null) { + pw.close(); + } + if (fos != null) { + fos.close(); + } + if (br != null) { + br.close(); + } + if (isr != null) { + isr.close(); + } + if (fis != null) { + fis.close(); + } + } + return flag; + } + + /** + * 删除单个文件 + * + * @param fileName + * 被删除文件的文件名 + * @return 单个文件删除成功返回true,否则返回false + */ + public static boolean deleteFile(String fileName) { + boolean isSuccess = false; + File file = new File(fileName); + if (file.isFile() && file.exists()) { + file.delete(); + isSuccess = true; + } + return isSuccess; + } +} diff --git a/src/main/java/com/util/OfficeUtil.java b/src/main/java/com/util/OfficeUtil.java new file mode 100644 index 0000000..78cd9ed --- /dev/null +++ b/src/main/java/com/util/OfficeUtil.java @@ -0,0 +1,278 @@ +package com.util; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.text.DecimalFormat; +import java.text.SimpleDateFormat; +import java.util.List; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.poi.hssf.usermodel.HSSFCell; +import org.apache.poi.hssf.usermodel.HSSFCellStyle; +import org.apache.poi.hssf.usermodel.HSSFDateUtil; +import org.apache.poi.hssf.usermodel.HSSFFont; +import org.apache.poi.hssf.usermodel.HSSFRow; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.xssf.usermodel.XSSFCell; +import org.apache.poi.xssf.usermodel.XSSFCellStyle; +import org.apache.poi.xssf.usermodel.XSSFFont; +import org.apache.poi.xssf.usermodel.XSSFRow; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; + +public class OfficeUtil { + + /********************************************************* xls *************************************************************/ + + /** + * 写Excel并下载针对.xls + * + */ + public boolean writeAndDownExcelToXLS(HttpServletRequest request,HttpServletResponse response, List list, String[] titles, + HSSFWorkbook workbook, HSSFSheet sheet, String filepath) { + boolean flag = true; + if (null!=list && list.size()>0) { + try { + for (int i = 0; i < titles.length; i++) { + HSSFRow row = sheet.createRow(i); + WriteExcelCellContextToXLS(workbook, row,i,titles[i]); + } + for (int j = 1; j <= list.size(); j++) { + Object[] object = object = (Object[]) list.get(j - 1); + HSSFRow row = sheet.createRow(j); + for (int n = 0; n < object.length; n++) { + WriteExcelCellContextToXLS(workbook,row,n,object[n] == null ? "" : UtilTools.delHTMLTag(object[n].toString())); + } + } + flag = CreateExcel(filepath, workbook); + if (flag) { + flag = UtilTools.downFile(response, filepath); + } + } catch (Exception e) { + flag = false; + e.printStackTrace(); + } + } + return flag; + } + + /** + * 写Excel内容针对.xls且对标题行加样式 + * + */ + public static void WriteExcelCellContextToXLS(HSSFWorkbook workbook,HSSFRow row,int cellindex,String content) { + HSSFCell cell = row.createCell((short) cellindex); + cell.setCellType(HSSFCell.CELL_TYPE_STRING); + // cell.setEncoding(HSSFCell.ENCODING_UTF_16); + cell.setCellValue(content); + //加样式 + HSSFCellStyle style = workbook.createCellStyle(); + HSSFFont font = workbook.createFont(); + font.setFontHeightInPoints((short) 11);// 字号 + font.setBoldweight(HSSFFont.BOLDWEIGHT_NORMAL);// 加粗 + font.setColor(HSSFFont.COLOR_RED);// 颜色 + style.setFont(font); + style.setAlignment(HSSFCellStyle.ALIGN_CENTER);// 左右居中 + style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 上下居中 + cell.setCellStyle(style); + } + + /** + * 写Excel内容针对.xls + * + */ + public static void WriteExcelCellContextToXLS(HSSFRow row,int cellindex,String content) { + HSSFCell cell = row.createCell((short) cellindex); + cell.setCellType(HSSFCell.CELL_TYPE_STRING); + // cell.setEncoding(HSSFCell.ENCODING_UTF_16); + cell.setCellValue(content); + } + + /** + * 获取.xls Excel单元格的值 + * + */ + public static Object getCellResultToXLS(HSSFRow row, int cellnum) { + HSSFCell cell = row.getCell((short) cellnum); + Object value = null; + DecimalFormat df = new DecimalFormat("0");// 格式化 number String 字符 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 格式化日期字符串 + DecimalFormat nf = new DecimalFormat("0.00");// 格式化数字 + if (null != cell) { + switch (cell.getCellType()) { + case HSSFCell.CELL_TYPE_STRING: + value = cell.getStringCellValue(); + break; + case HSSFCell.CELL_TYPE_FORMULA: + try { + value=cell.getNumericCellValue(); + } catch (Exception e) { + e.printStackTrace(); + value =""; + } + break; + case HSSFCell.CELL_TYPE_NUMERIC: + /*if ("@".equals(cell.getCellStyle().getDataFormat())) { + value = df.format(cell.getNumericCellValue()); + } else if ("General".equals(cell.getCellStyle().getDataFormat())) { + value = nf.format(cell.getNumericCellValue()); + } else { + value = sdf.format(HSSFDateUtil.getJavaDate(cell.getNumericCellValue())); + }*/ + if (HSSFDateUtil.isCellDateFormatted(cell)) { //日期 + value = sdf.format(HSSFDateUtil.getJavaDate(cell.getNumericCellValue())); + } else { // 纯数字 + value = df.format(cell.getNumericCellValue()); + } + break; + case HSSFCell.CELL_TYPE_BOOLEAN: + value = cell.getBooleanCellValue(); + break; + case HSSFCell.CELL_TYPE_BLANK: + value = ""; + break; + default: + value = cell.toString(); + } + } else { + value = ""; + } + + return value; + + } + + /********************************************************* xlsx *************************************************************/ + + /** + * 写Excel内容针对.xlsx且对标题行加样式 + * + */ + public static void WriteExcelCellContextToXLSX(XSSFWorkbook workbook,XSSFRow row,int cellindex,String content) { + XSSFCell cell = row.createCell(cellindex); + cell.setCellType(HSSFCell.CELL_TYPE_STRING); + cell.setCellValue(content); + //加样式 + XSSFCellStyle style = workbook.createCellStyle(); + XSSFFont font = workbook.createFont(); + font.setFontHeightInPoints((short) 11); + font.setBoldweight(HSSFFont.BOLDWEIGHT_NORMAL); + font.setColor(HSSFFont.COLOR_RED); + style.setFont(font); + style.setAlignment(HSSFCellStyle.ALIGN_CENTER); + style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER); + cell.setCellStyle(style); + } + + /** + * 写Excel内容针对.xlsx + * + */ + public static void WriteExcelCellContextToXLSX(XSSFRow row, int cellindex,String content) { + XSSFCell cell = row.createCell(cellindex); + cell.setCellType(HSSFCell.CELL_TYPE_STRING); + cell.setCellValue(content); + } + + /** + * 获取.xlsx Excel单元格的值 + * + */ + public static Object getExcelResultToXLSX(XSSFRow row, int cellnum) { + Object value = null; + XSSFCell cell = row.getCell(cellnum); + DecimalFormat df = new DecimalFormat("0");// 格式化 number String 字符 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 格式化日期字符串 + DecimalFormat ndf = new DecimalFormat("0.00");// 格式化数字 + if (null != cell) { + switch (cell.getCellType()) { + case XSSFCell.CELL_TYPE_STRING: + value = cell.getStringCellValue(); + break; + case XSSFCell.CELL_TYPE_NUMERIC: + if ("@".equals(cell.getCellStyle().getDataFormatString())) { + value = df.format(cell.getNumericCellValue()); + } else if ("General".equals(cell.getCellStyle().getDataFormatString())) { + value = ndf.format(cell.getNumericCellValue()); + } else { + value = sdf.format(HSSFDateUtil.getJavaDate(cell.getNumericCellValue())); + } + break; + case XSSFCell.CELL_TYPE_BOOLEAN: + value = cell.getBooleanCellValue(); + break; + case XSSFCell.CELL_TYPE_BLANK: + value = ""; + break; + default: + value = cell.toString(); + } + + } + + if(value==null)value=""; + return value; + } + + /** + * 判断sheet行标题与指定标题是否一至 + */ + public static boolean sheetRowTitleToXlSX(XSSFSheet sheet,String[] titles){ + boolean flag=true; + XSSFRow row=sheet.getRow(0); + for(int i=0;i params = new HashMap();//请求参数 + params.put("Action","Dialout");//命令名称,外呼接口中固定名称为Dialout + params.put("ActionID",key);//随机码,用户用来标识请求的操作,服务器返回的Response中会带有对应Action的ActionID;在通话事件中会带有该字段;该字段最大长度是40个字节 + params.put("Account","N00000002010"); + params.put("Exten",phoneno);//被叫号码 + params.put("FromExten",zxno);//坐席工号 + params.put("PBX", "sh.ali.1.5"); + params.put("ExtenType", "gateway");//外呼时强制座席使用该接听方式。可选参数。正常情况下调用外呼接口不需传此字段,座席默认使用登陆呼叫中心的接听方式外呼。 + //如有特殊需要,例如:座席不登陆系统发起外呼,需要传此字段。 + //Local为“手机” + //sip为“软电话” + //gateway为“语音网关” + + try { + result =net(url, params, "GET"); + System.out.println("---"+result); + JSONObject object = JSONObject.fromObject(result); + sign = object.getBoolean("Succeed"); + } catch (Exception e) { + e.printStackTrace(); + sign = false; + } + return sign; + } + + + + public static void main(String[] args) { + System.out.println(getTalk("13764935808","8003",RequestUtil.getid(6))); + + } + + /** + * + * @param strUrl 请求地址 + * @param params 请求参数 + * @param method 请求方法 + * @return 网络请求字符串 + * @throws Exception + */ + public static String net(String strUrl, final Map params,String method) throws Exception { + HttpURLConnection conn = null; + BufferedReader reader = null; + String rs = null; + try { + StringBuffer sb = new StringBuffer(); + if(method==null || method.equals("GET")){ + strUrl = strUrl+"?"+urlencode(params); + } +// String last = strUrl.substring(strUrl.length()-1, strUrl.length()); +// if("&".equals(last)){ +// strUrl = strUrl.substring(0, strUrl.length()-1); +// } + URL url = new URL(strUrl); + conn = (HttpURLConnection) url.openConnection(); + if(method==null || method.equals("GET")){ + conn.setRequestMethod("GET"); + }else{ + conn.setRequestMethod("POST"); + conn.setDoOutput(true); + } + conn.setRequestProperty("User-agent", userAgent); + conn.setUseCaches(false); + conn.setConnectTimeout(DEF_CONN_TIMEOUT); + conn.setReadTimeout(DEF_READ_TIMEOUT); + conn.setInstanceFollowRedirects(false); + conn.connect(); +// if (params!= null && method.equals("POST")) { +// try (DataOutputStream out = new DataOutputStream(conn.getOutputStream())) { +// out.writeBytes(urlencode(params)); +// } +// } + InputStream is = conn.getInputStream(); + reader = new BufferedReader(new InputStreamReader(is, DEF_CHATSET)); + String strRead = null; + while ((strRead = reader.readLine()) != null) { + sb.append(strRead); + } + rs = sb.toString(); + } catch (IOException e) { + e.printStackTrace(); + } finally { + if (reader != null) { + reader.close(); + } + if (conn != null) { + conn.disconnect(); + } + } + return rs; + } + + //将map型转为请求参数型 + public static String urlencode(Map data) { + StringBuilder sb = new StringBuilder(); + for (Map.Entry i : data.entrySet()) { + try { + sb.append(i.getKey()).append("=").append(URLEncoder.encode(i.getValue()+"","UTF-8")).append("&"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + } + return sb.toString(); + } +} diff --git a/src/main/java/com/util/PinYin2Abbreviation.java b/src/main/java/com/util/PinYin2Abbreviation.java new file mode 100644 index 0000000..56f8290 --- /dev/null +++ b/src/main/java/com/util/PinYin2Abbreviation.java @@ -0,0 +1,102 @@ +package com.util; +/** + * @author 作者姓名: dubaohui + * @version 创建时间:2015-10-6 下午2:03:37 + * 类说明:获取中文首字母 + */ +public class PinYin2Abbreviation { + + // 简体中文的编码范围从B0A1(45217)一直到F7FE(63486) + private static int BEGIN = 45217; + private static int END = 63486; + + // 按照声 母表示,这个表是在GB2312中的出现的第一个汉字,也就是说“啊”是代表首字母a的第一个汉字。 + // i, u, v都不做声母, 自定规则跟随前面的字母 + private static char[] chartable = { '啊', '芭', '擦', '搭', '蛾', '发', '噶', '哈', '哈', '击', '喀', '垃', '妈', '拿', '哦', '啪', '期', '然', '撒', '塌', '塌', '塌', '挖', '昔', '压', '匝', }; + + // 二十六个字母区间对应二十七个端点 + // GB2312码汉字区间十进制表示 + private static int[] table = new int[27]; + + // 对应首字母区间表 + private static char[] initialtable = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'h', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 't', 't', 'w', 'x', 'y', 'z', }; + + // 初始化 + static { + for (int i = 0; i < 26; i++) { + table[i] = gbValue(chartable[i]);// 得到GB2312码的首字母区间端点表,十进制。 + } + table[26] = END;// 区间表结尾 + } + + // ------------------------public方法区------------------------ + // 根据一个包含汉字的字符串返回一个汉字拼音首字母的字符串 最重要的一个方法,思路如下:一个个字符读入、判断、输出 + + public static String cn2py(String SourceStr) { + String Result = ""; + int StrLength = SourceStr.length(); + int i; + try { + for (i = 0; i < StrLength; i++) { + Result += Char2Initial(SourceStr.charAt(i)); + } + } catch (Exception e) { + Result = ""; + e.printStackTrace(); + } + return Result; + } + + // ------------------------private方法区------------------------ + /** + * 输入字符,得到他的声母,英文字母返回对应的大写字母,其他非简体汉字返回 '0'   *    + */ + private static char Char2Initial(char ch) { + // 对英文字母的处理:小写字母转换为大写,大写的直接返回 + if (ch >= 'a' && ch <= 'z') { + return (char) (ch - 'a' + 'A'); + } + if (ch >= 'A' && ch <= 'Z') { + return ch; + } + // 对非英文字母的处理:转化为首字母,然后判断是否在码表范围内, + // 若不是,则直接返回。 + // 若是,则在码表内的进行判断。 + int gb = gbValue(ch);// 汉字转换首字母 + if ((gb < BEGIN) || (gb > END))// 在码表区间之前,直接返回 + { + return ch; + } + int i; + for (i = 0; i < 26; i++) {// 判断匹配码表区间,匹配到就break,判断区间形如“[,)” + if ((gb >= table[i]) && (gb < table[i + 1])) { + break; + } + } + if (gb == END) {// 补上GB2312区间最右端 + i = 25; + } + return initialtable[i]; // 在码表区间中,返回首字母 + } + + /** + * 取出汉字的编码 cn 汉字    + */ + private static int gbValue(char ch) {// 将一个汉字(GB2312)转换为十进制表示。 + String str = new String(); + str += ch; + try { + byte[] bytes = str.getBytes("GB2312"); + if (bytes.length < 2) { + return 0; + } + return (bytes[0] << 8 & 0xff00) + (bytes[1] & 0xff); + } catch (Exception e) { + return 0; + } + } + + public static void main(String[] args) throws Exception { + System.out.println(cn2py("宝").toUpperCase()); + } +} diff --git a/src/main/java/com/util/ReadExcel.java b/src/main/java/com/util/ReadExcel.java new file mode 100644 index 0000000..22ae356 --- /dev/null +++ b/src/main/java/com/util/ReadExcel.java @@ -0,0 +1,141 @@ +package com.util; + +import org.apache.poi.hssf.usermodel.HSSFDateUtil; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.*; + +import javax.swing.filechooser.FileSystemView; +import java.io.*; +import java.text.DecimalFormat; +import java.text.SimpleDateFormat; +import java.util.*; + +/** + * Created by 16094 on 2017/8/24. + */ +public class ReadExcel { + + private Workbook workbook; + + private static String desktopPath = FileSystemView.getFileSystemView().getHomeDirectory().getAbsolutePath(); + + + public ReadExcel(File excelFile) throws Exception { + workbook = WorkbookFactory.create(new FileInputStream(excelFile)); + } + + public List getData(int index) { + + try { + List result = new ArrayList(); + int rowSize = 0; + Cell cell = null; + int numberOfSheets = Math.min(workbook.getNumberOfSheets(), index); + for (int sheetIndex = 0; sheetIndex < numberOfSheets; sheetIndex++) { + Sheet sheetAt = workbook.getSheetAt(sheetIndex); + for (int rowIndex = 0; rowIndex <= sheetAt.getLastRowNum(); rowIndex++) { + Row row = sheetAt.getRow(rowIndex); + if (row == null) { + continue; + } + int tempRowSize = row.getLastCellNum() + 1; + if (tempRowSize > rowSize) { + rowSize = tempRowSize; + } + List mapList = new ArrayList(); + // mapList.clear(); + //boolean hasValue = false; + for (short columnIndex = 0; columnIndex <= row.getLastCellNum(); columnIndex = (short) (columnIndex + 1)) { + String value = ""; + // String key = ""; + cell = row.getCell(columnIndex); + if (cell != null) { + switch (cell.getCellType()) { + case 1: + value = cell.getStringCellValue(); + // key = "String"; + break; + case 0: + if (HSSFDateUtil.isCellDateFormatted(cell)) { + Date date = cell.getDateCellValue(); + if (date != null) + value = new SimpleDateFormat("yyyy-MM-dd").format(date); + else { + value = ""; + } + // key = "Date"; + } else { + value = new DecimalFormat("0").format(cell.getNumericCellValue()); + // key = "Integer"; + } + break; + case 2: + if (!cell.getStringCellValue().equals("")) + value = cell.getStringCellValue(); + else { + value = cell.getNumericCellValue() + ""; + } + // key = "String"; + break; + case 3: + break; + case 5: + value = ""; + // key = ""; + break; + case 4: + value = cell.getBooleanCellValue() == true ? "Y" : "N"; + //key = "boolean"; + break; + default: + value = ""; + //key = ""; + } + } + if (value == null || value.equals("")) { + break; + } + if ((columnIndex == 0) && (value.trim().equals(""))) { + break; + } + //stringStringMap.put(rightTrim(key), ); + mapList.add(rightTrim(value)); + // hasValue = true; + } + result.add(mapList); +// if (hasValue) { +// result.add(mapList); +// } + } + } + return result; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + public static String rightTrim(String str) { + if (str == null) { + return ""; + } + int length = str.length(); + for (int i = length - 1; (i >= 0) && + (str.charAt(i) == ' '); i--) { + length--; + } + return str.substring(0, length); + } + + + public static void main(String[] args) throws Exception { + File file = new File(desktopPath + "/Outcomes.xlsx"); + List datas = new ReadExcel(file).getData(1); + for (int i = 0; i < datas.size(); i++) { + List listinfo = (List) datas.get(i); + for (int j = 0; j < listinfo.size(); j++) { + System.out.print(listinfo.get(j) + " "); + } + } + } +} diff --git a/src/main/java/com/util/ReadExcel2003.java b/src/main/java/com/util/ReadExcel2003.java new file mode 100644 index 0000000..2ae0aaa --- /dev/null +++ b/src/main/java/com/util/ReadExcel2003.java @@ -0,0 +1,109 @@ +package com.util; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +import org.apache.poi.hssf.usermodel.HSSFCell; +import org.apache.poi.hssf.usermodel.HSSFRow; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +/** +* 解析excel2003 +*/ +public class ReadExcel2003{ + +private HSSFWorkbook workbook ; +public ReadExcel2003(File excelFile) throws FileNotFoundException, IOException{ + workbook = new HSSFWorkbook(new FileInputStream(excelFile)); +} + +/** +*读取所有列 +*/ +public List getDatasInSheetarrall(int sheetNumber) throws FileNotFoundException, IOException{ + List result = new ArrayList(); + + //获得指定的表 + HSSFSheet sheet = workbook.getSheetAt(sheetNumber); + //获得数据总行数 + int rowCount = sheet.getLastRowNum(); + if (rowCount < 1) { + return result; + } + //逐行读取数据 + for (int rowIndex = 0; rowIndex <= rowCount; rowIndex++) { + //获得行对象 + HSSFRow row = sheet.getRow(rowIndex); + if (row != null) { + List list=new ArrayList(); + int columnCount = row.getLastCellNum(); + //读取所有的列 + for (int i = 0; i datas = parser.getDatasInSheetarrall(0); + boolean b=false; + for (int i = 0; i < datas.size(); i++) { + List listinfo = (List) datas.get(i); + for (int j = 0; j < listinfo.size(); j++) { + System.out.print(listinfo.get(j) + " "); + } + System.out.println(""); + } + +} + +} diff --git a/src/main/java/com/util/ReadExcel2007.java b/src/main/java/com/util/ReadExcel2007.java new file mode 100644 index 0000000..ca7c8d5 --- /dev/null +++ b/src/main/java/com/util/ReadExcel2007.java @@ -0,0 +1,112 @@ +package com.util; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import org.apache.poi.xssf.usermodel.XSSFCell; +import org.apache.poi.xssf.usermodel.XSSFRow; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; + +/** + * 解析excel2007 + */ +public class ReadExcel2007 { + + private XSSFWorkbook workbook; + + public ReadExcel2007(File excelFile)throws FileNotFoundException, IOException { + workbook = new XSSFWorkbook(new FileInputStream(excelFile)); + } + + /** + *读取所有列 + */ + public List getDatasInSheetarrall(int sheetNumber) + throws FileNotFoundException, IOException { + List result = new ArrayList(); + + //获得指定的表 + XSSFSheet sheet = workbook.getSheetAt(sheetNumber); + //获得数据总行数 + int rowCount = sheet.getLastRowNum(); + if (rowCount < 1) { + return result; + } + //逐行读取数据 + for (int rowIndex = 0; rowIndex <= rowCount; rowIndex++) { + //获得行对象 + XSSFRow row = sheet.getRow(rowIndex); + if (row != null) { + List list = new ArrayList(); + int columnCount = row.getLastCellNum(); + //读取所有的列 + for (int i = 0; i < columnCount; i++) { + //获得本行中单元格的个数 + //获得本行中各单元格中的数据 + XSSFCell cell = row.getCell(Short.parseShort(i + "")); + //获得指定单元格中数据 + Object cellStr = this.getCellString(cell); + if (null != cellStr) { + list.add(cellStr.toString().trim()); + } else { + list.add(""); + } + } + result.add(list); + } + } + return result; + } + + /** + * 获得单元格中的内容 + * @param cell + * @return + */ + protected Object getCellString(XSSFCell cell) { + Object result = null; + if (cell != null) { + int cellType = cell.getCellType(); + switch (cellType) { + case XSSFCell.CELL_TYPE_STRING: + result = cell.getStringCellValue(); + break; + case XSSFCell.CELL_TYPE_NUMERIC: + result = cell.getNumericCellValue(); + break; + case XSSFCell.CELL_TYPE_FORMULA: + result = cell.getNumericCellValue(); + break; + case XSSFCell.CELL_TYPE_ERROR: + break; + case XSSFCell.CELL_TYPE_BOOLEAN: + result = cell.getBooleanCellValue(); + break; + case XSSFCell.CELL_TYPE_BLANK: + result = null; + break; + } + } + return result; + } + + public static void main(String[] args) throws Exception { + File file = new File("C:\\Users\\Administrator\\Desktop\\金钥匙\\测试清单.xlsx"); + ReadExcel2007 parser3 = new ReadExcel2007(file); + List datas = parser3.getDatasInSheetarrall(0); + for (int i = 0; i < datas.size(); i++) { + List listinfo = (List) datas.get(i); + for (int j = 0; j < listinfo.size(); j++) { + System.out.print(listinfo.get(j) + " "); + } + System.out.println(""); + } + //XMLEventFactory + //C:\java\MyEclipse 6.0\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_6.0.0.zmyeclipse60020070820\data\libraryset\EE_5 + } + +} diff --git a/src/main/java/com/util/RequestMessage.java b/src/main/java/com/util/RequestMessage.java new file mode 100644 index 0000000..a061c0b --- /dev/null +++ b/src/main/java/com/util/RequestMessage.java @@ -0,0 +1,139 @@ +package com.util; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.UnsupportedEncodingException; +import java.net.HttpURLConnection; +import java.net.URL; +import java.net.URLEncoder; +import java.util.HashMap; +import java.util.Map; + +import net.sf.json.JSONObject; + +/** + * @author 作者姓名: dubaohui + * @version 创建时间:2015-9-29 下午4:56:12 + * 类说明 + */ +public class RequestMessage { + public static final String DEF_CHATSET = "UTF-8"; + public static final int DEF_CONN_TIMEOUT = 30000; + public static final int DEF_READ_TIMEOUT = 30000; + public static String userAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36"; + //配置您申请的KEY + public static final String APPKEY ="3bbd4eebe311f16af14c8f38dfa927f1"; + //模板编号 + // public static String tpl_id= "4027"; + //返回格式 + public static String dtype = "json"; + public static String url ="http://v.juhe.cn/sms/send"; + + //2.发送短信 + public static boolean SendMessage(String phoneno,String code,String tpl_id){ + boolean sign = false; + String result =null; + Map params = new HashMap();//请求参数 + params.put("mobile",phoneno);//接收短信的手机号码 + params.put("tpl_id",tpl_id);//短信模板ID,请参考个人中心短信模板设置 + //"#customername#="+code+"&#employeeno#="+8004+"" + params.put("tpl_value",code); + //变量名和变量值对。如果你的变量名或者变量值中带有#&=中的任意一个特殊符号,请先分别进行urlencode编码后再传递,<a href="http://www.juhe.cn/news/index/id/50" target="_blank">详细说明></a> + params.put("key",APPKEY);//应用APPKEY(应用详细页查询) + params.put("dtype",dtype);//返回数据的格式,xml或json,默认json + + try { + result =net(url, params, "GET"); + // System.out.println("---"+result); + JSONObject object = JSONObject.fromObject(result); + if(object.getInt("error_code")==0){ + // System.out.println(object.get("result")); + sign = true; + }else{ + // System.out.println(object.get("error_code")+":"+object.get("reason")); + sign = false; + } + } catch (Exception e) { + e.printStackTrace(); + sign = false; + } + return sign; + } + + + + public static void main(String[] args) { + //System.out.println(SendMessage("17717522592","收到请回复。。。。。")); + } + + /** + * + * @param strUrl 请求地址 + * @param params 请求参数 + * @param method 请求方法 + * @return 网络请求字符串 + * @throws Exception + */ + public static String net(String strUrl, final Map params,String method) throws Exception { + HttpURLConnection conn = null; + BufferedReader reader = null; + String rs = null; + try { + StringBuffer sb = new StringBuffer(); + if(method==null || method.equals("GET")){ + strUrl = strUrl+"?"+urlencode(params); + } + URL url = new URL(strUrl); + conn = (HttpURLConnection) url.openConnection(); + if(method==null || method.equals("GET")){ + conn.setRequestMethod("GET"); + }else{ + conn.setRequestMethod("POST"); + conn.setDoOutput(true); + } + conn.setRequestProperty("User-agent", userAgent); + conn.setUseCaches(false); + conn.setConnectTimeout(DEF_CONN_TIMEOUT); + conn.setReadTimeout(DEF_READ_TIMEOUT); + conn.setInstanceFollowRedirects(false); + conn.connect(); +// if (params!= null && method.equals("POST")) { +// try (DataOutputStream out = new DataOutputStream(conn.getOutputStream())) { +// out.writeBytes(urlencode(params)); +// } +// } + InputStream is = conn.getInputStream(); + reader = new BufferedReader(new InputStreamReader(is, DEF_CHATSET)); + String strRead = null; + while ((strRead = reader.readLine()) != null) { + sb.append(strRead); + } + rs = sb.toString(); + } catch (IOException e) { + e.printStackTrace(); + } finally { + if (reader != null) { + reader.close(); + } + if (conn != null) { + conn.disconnect(); + } + } + return rs; + } + + //将map型转为请求参数型 + public static String urlencode(Map data) { + StringBuilder sb = new StringBuilder(); + for (Map.Entry i : data.entrySet()) { + try { + sb.append(i.getKey()).append("=").append(URLEncoder.encode(i.getValue()+"","UTF-8")).append("&"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + } + return sb.toString(); + } +} diff --git a/src/main/java/com/util/RequestUtil.java b/src/main/java/com/util/RequestUtil.java new file mode 100644 index 0000000..5426f65 --- /dev/null +++ b/src/main/java/com/util/RequestUtil.java @@ -0,0 +1,1407 @@ +package com.util; + +import java.awt.image.BufferedImage; + +import java.io.*; +import java.net.InetAddress; +import java.net.UnknownHostException; +import java.security.MessageDigest; +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.MissingResourceException; +import java.util.Properties; +import java.util.Random; +import java.util.ResourceBundle; +import javax.imageio.ImageIO; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import com.alibaba.fastjson.JSON; +import net.sf.json.JSONArray; +import net.sf.json.JSONObject; + +/** + * 工具类 + * + * @author dubaohui + * */ +public class RequestUtil { + + /** + * 获取自动编号 + * + * @param int + * @return String + * */ + public static String getid(int f) { + SimpleDateFormat tempDate = new SimpleDateFormat("yyyyMMddHHmmss"); + String id = tempDate.format(new java.util.Date()) + getCodeint(f); + return id; + } + + /** + * + * 获取当前年份 + * + * */ + public static String getLongYear() { + SimpleDateFormat tempDate = new SimpleDateFormat("yyyy"); + String id = tempDate.format(new java.util.Date()); + return id; + } + + /** + * + * 获取当前年份 + * + * */ + public static String getShortYear() { + SimpleDateFormat tempDate = new SimpleDateFormat("yyyy"); + String id = tempDate.format(new java.util.Date()); + return id.substring(2, id.length()); + } + + /** + * + * 获取当前日期周日对应的日期 + * + * @param + * @return String + * */ + public static String getDateForSunday() { + Calendar cal = Calendar.getInstance(); + // n为推迟的周数,1本周,-1向前推迟一周,2下周,依次类推 + int n = 1; + cal.add(Calendar.DATE, n * 7); + cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY); + String sunday = new SimpleDateFormat("yyyy-MM-dd") + .format(cal.getTime()); + return sunday; + } + + /** + * + * 获取当前日期周一对应的日期 + * + * @param + * @return String + * */ + public static String getDateForMonday() { + Calendar cal = Calendar.getInstance(); + // n为推迟的周数,1本周,-1向前推迟一周,2下周,依次类推 + int n = 0; + cal.add(Calendar.DATE, n * 7); + cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); + String monday = new SimpleDateFormat("yyyy-MM-dd") + .format(cal.getTime()); + + return monday; + } + + /** + * + * 获取随即数字 + * + * @param code_len + * @reutrn String + * + * */ + public static String getCodeint(int code_len) { + int count = 0; + char str[] = { '1', '2', '3', '4', '5', '6', '7', '8', '9' }; + StringBuffer pwd = new StringBuffer(""); + Random r = new Random(); + while (count < code_len) { + int i = Math.abs(r.nextInt(10)); + if (i >= 0 && i < str.length) { + pwd.append(str[i]); + count++; + } + } + return pwd.toString(); + } + + /** + * 获取随即数 + * + * @param code_len + * @return String + * */ + public static String getCodechar(int codelen) { + int count = 0; + char str[] = { 'a', '1', 'b', 'c', '2', 'd', 'e', '4', 'f', 'j', 'h', + '3', 'i', 'j', '6', 'k', 'l', '9', 'm', 'n', 'p', 'q', 'r', + 's', 't', '7', 'u', 'v', 'w', '8', 'x', 'y', '5', 'z' }; + StringBuffer pwd = new StringBuffer(""); + Random r = new Random(); + while (count < codelen) { + int i = Math.abs(r.nextInt(10)); + if (i >= 0 && i < str.length) { + pwd.append(str[i]); + count++; + } + } + return pwd.toString(); + } + + /** + * 获取当前时间 + * + * @param + * @return String yyyy-MM-dd HH:mm:ss + * + * */ + public static String getDateTime() { + SimpleDateFormat tempDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + return tempDate.format(new java.util.Date()); + } + + /** + * 获取当前时间 + * + * @param + * @return String HH:mm + * + * */ + public static String getHHmmTime() { + SimpleDateFormat tempDate = new SimpleDateFormat("HH:mm"); + return tempDate.format(new java.util.Date()); + } + + /** + * + * 获取日期 YYYY-MM-DD + * */ + public static String getShortDate() { + SimpleDateFormat tempDate = new SimpleDateFormat("yyyy-MM-dd"); + return tempDate.format(new java.util.Date()); + } + + /** + * + * 根据起止日期获取范围内的每一天 + * + * @param start + * @param end + * @return String[] + * + * */ + public static String[] getEveryDateForDay(String start, String end) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + String strs = ""; + try { + Date dBegin = sdf.parse(start); + Date dEnd = sdf.parse(end); + List lDate = findDates(dBegin, dEnd); + + for (Date date : lDate) { + // System.out.println(sdf.format(date)); + strs += sdf.format(date) + ","; + } + } catch (ParseException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + if (!"".equals(strs)) { + strs = strs.substring(0, strs.length() - 1); + } + String str[] = strs.split(","); + return str; + } + + + + public static List findDates(Date dBegin, Date dEnd) { + List lDate = new ArrayList(); + lDate.add(dBegin); + Calendar calBegin = Calendar.getInstance(); + // 使用给定的 Date 设置此 Calendar 的时间 + calBegin.setTime(dBegin); + Calendar calEnd = Calendar.getInstance(); + // 使用给定的 Date 设置此 Calendar 的时间 + calEnd.setTime(dEnd); + // 测试此日期是否在指定日期之后 + while (dEnd.after(calBegin.getTime())) { + // 根据日历的规则,为给定的日历字段添加或减去指定的时间量 + calBegin.add(Calendar.DAY_OF_MONTH, 1); + lDate.add(calBegin.getTime()); + } + return lDate; + } + + /** + * + * 计算时间差 + * + * @param dateStart + * @param dateStop + * @return String + * + * */ + public static String TimeDifference(String dateStart, String dateStop) { + String returnvalue = "0天0时0分0秒"; + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + try { + Date d1 = format.parse(dateStart); + Date d2 = format.parse(dateStop); + // 毫秒ms + long diff = d2.getTime() - d1.getTime(); + System.out.println(diff); + long diffSeconds = diff / 1000 % 60; + long diffMinutes = diff / (60 * 1000) % 60; + long diffHours = diff / (60 * 60 * 1000) % 24; + long diffDays = diff / (24 * 60 * 60 * 1000); + returnvalue = diffDays + "天" + diffHours + "小时" + diffMinutes + + "分钟" + diffSeconds + "秒"; + } catch (Exception e) { + e.printStackTrace(); + } + return returnvalue; + } + + + /** + * + * 计算间隔天数 + * + * @param dateStart + * @param dateStop + * @return String + * + * */ + public static Integer DateDifference(String dateStart, String dateStop) { + int returnvalue = 0; + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + try { + Date d1 = format.parse(dateStart); + Date d2 = format.parse(dateStop); + // 毫秒ms + long diff = d2.getTime() - d1.getTime(); + long diffDays = diff / (24 * 60 * 60 * 1000); + returnvalue = Integer.parseInt(String.valueOf(diffDays)); + } catch (Exception e) { + e.printStackTrace(); + } + return returnvalue; + } + /** + * + * 计算间隔天数 + * + * @param dateStart + * @param dateStop + * @return String + * + * */ + public static Integer DateDifference(String dateStart, String dateStop,String dataformat) throws Exception{ + int returnvalue = 0; + SimpleDateFormat format = new SimpleDateFormat(dataformat); + try { + Date d1 = format.parse(dateStart); + Date d2 = format.parse(dateStop); + // 毫秒ms + long diff = d2.getTime() - d1.getTime(); + long diffDays = diff / (24 * 60 * 60 * 1000); + returnvalue = Integer.parseInt(String.valueOf(diffDays)); + } catch (Exception e) { + throw e; + } + return returnvalue; + } + /** + * + * 根据日期获取分钟 + * + * @param dateStart + * @param dateStop + * @return String + * */ + public static String getMinutes(String dateStart, String dateStop) { + + String returnvalue = "0"; + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + try { + Date d1 = format.parse(dateStart); + Date d2 = format.parse(dateStop); + // 毫秒ms + long diff = d2.getTime() - d1.getTime(); + long minut = diff / (1000 * 60); + returnvalue = minut + ""; + } catch (Exception e) { + e.printStackTrace(); + } + return returnvalue; + } + + + /** + * 获取服务路径 + * + * @param HttpServletRequest + * @return String + * */ + public static String getPath(HttpServletRequest request) { + return request.getContextPath(); + + } + + /** + * 获取文件路径 + * @param String + * @return String + * + * */ + public static String getFilePath(String filename,HttpServletRequest request){ + return request.getSession().getServletContext().getRealPath(filename); + } + + /** + * 读取实体文件转成二进制字符串 + * + * @param path + * @return String + * @throws IOException + * */ + public static String GetHexStringbyImg(String path, String type) + throws IOException { + + String info = ""; + File f = new File(path); + InputStream input = new FileInputStream(f); + BufferedInputStream bis = new BufferedInputStream(input); + BufferedImage bm = ImageIO.read(bis); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + ImageIO.write(bm, type, bos); + bos.flush(); + byte[] data = bos.toByteArray(); + info = byte2hex(data); + // System.out.println(info); + bos.close(); + return info; + } + + /** + * @title 根据二进制字符串生成图片 + * @param data + * 生成图片的二进制字符串 + * @param fileName + * 图片名称(完整路径) + * @param type + * 图片类型 + * @return + */ + public static void saveImage(String data, String fileName, String type) { + + BufferedImage image = new BufferedImage(300, 300, + BufferedImage.TYPE_BYTE_BINARY); + ByteArrayOutputStream byteOutputStream = new ByteArrayOutputStream(); + try { + ImageIO.write(image, type, byteOutputStream); + // byte[] date = byteOutputStream.toByteArray(); + byte[] bytes = hex2byte(data); + // System.out.println("path:" + fileName); + RandomAccessFile file = new RandomAccessFile(fileName, "rw"); + file.write(bytes); + file.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + + /** + * 反格式化byte + * + * @param s + * @return + */ + public static byte[] hex2byte(String s) { + byte[] src = s.toLowerCase().getBytes(); + byte[] ret = new byte[src.length / 2]; + for (int i = 0; i < src.length; i += 2) { + byte hi = src[i]; + byte low = src[i + 1]; + hi = (byte) ((hi >= 'a' && hi <= 'f') ? 0x0a + (hi - 'a') + : hi - '0'); + low = (byte) ((low >= 'a' && low <= 'f') ? 0x0a + (low - 'a') + : low - '0'); + ret[i / 2] = (byte) (hi << 4 | low); + } + return ret; + } + + /** + * 格式化byte + * + * @param b + * @return + */ + public static String byte2hex(byte[] b) { + char[] Digit = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', + 'B', 'C', 'D', 'E', 'F' }; + char[] out = new char[b.length * 2]; + for (int i = 0; i < b.length; i++) { + byte c = b[i]; + out[i * 2] = Digit[(c >>> 4) & 0X0F]; + out[i * 2 + 1] = Digit[c & 0X0F]; + } + + return new String(out); + } + + /** + * MD5加密 + * + * @param String + * @param String + * */ + + public static String getMD5Message(String strs) { + String returnValue = ""; + char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', + 'a', 'b', 'c', 'd', 'e', 'f' }; + try { + byte[] strTemp = strs.getBytes(); + // 使用MD5创建MessageDigest对象 + MessageDigest mdTemp = MessageDigest.getInstance("MD5"); + mdTemp.update(strTemp); + byte[] md = mdTemp.digest(); + int j = md.length; + char str[] = new char[j * 2]; + int k = 0; + for (int i = 0; i < j; i++) { + byte b = md[i]; + // 将每个数(int)b进行双字节加密 + str[k++] = hexDigits[b >> 4 & 0xf]; + str[k++] = hexDigits[b & 0xf]; + } + returnValue = new String(str); + } catch (Exception e) { + return null; + } + return returnValue; + } + + /** + * 获取某年 某月的第一天 + * + * @param year + * @param month + * @reutrn String + * */ + public static String getFirstDayOfMonth(int year, int month) { + Calendar cal = Calendar.getInstance(); + cal.set(Calendar.YEAR, year); + cal.set(Calendar.MONTH, month - 1); + cal.set(Calendar.DAY_OF_MONTH, cal.getMinimum(Calendar.DATE)); + return new SimpleDateFormat("yyyyMMdd ").format(cal.getTime()); + } + + /** + * 获取某月的最后一天 + * + * @param year + * @param month + * @return String + * */ + public static String getLastDayOfMonth(int year, int month) { + Calendar cal = Calendar.getInstance(); + cal.set(Calendar.YEAR, year); + cal.set(Calendar.MONTH, month - 1); + cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DATE)); + return new SimpleDateFormat("yyyyMMdd ").format(cal.getTime()); + } + + /** + * 获取某年 某月的第一天 + * + * @param year + * @param month + * @reutrn String + * */ + public static String getFirstDayOfMonthformat(int year, int month) { + Calendar cal = Calendar.getInstance(); + cal.set(Calendar.YEAR, year); + cal.set(Calendar.MONTH, month - 1); + cal.set(Calendar.DAY_OF_MONTH, cal.getMinimum(Calendar.DATE)); + return new SimpleDateFormat("yyyy-MM-dd ").format(cal.getTime()); + } + + /** + * 获取某月的最后一天 + * + * @param year + * @param month + * @return String + * */ + public static String getLastDayOfMonthformat(int year, int month) { + Calendar cal = Calendar.getInstance(); + cal.set(Calendar.YEAR, year); + cal.set(Calendar.MONTH, month - 1); + cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DATE)); + return new SimpleDateFormat("yyyy-MM-dd ").format(cal.getTime()); + } + + /** + * 根据年月获取周的起止日期 + * + * @param year + * @param month + * return String + * */ + public static String getWeekStartandEnd(String year, String month) { + + String info = ""; + Calendar cal = Calendar.getInstance(); + cal.clear(); + cal.set(Calendar.YEAR, Integer.parseInt(year)); + cal.set(Calendar.MONTH, Integer.parseInt(month) - 1); + int index = 1; + String start = null; + if (Integer.parseInt(month) < 10) { + start = year +"-"+ "0" + month +"-"+ "0" + 1; + } else { + start = year +"-"+ month +"-"+ 1; + } + String end = null; + for (int i = 1; i <= cal.getActualMaximum(Calendar.DAY_OF_MONTH); i++) { + cal.set(Calendar.DAY_OF_MONTH, i); + int week = cal.get(Calendar.DAY_OF_WEEK); + if (Integer.parseInt(month) < 10) { + if (i < 10) { + end = year +"-"+ "0" + month +"-"+ "0" + i; + } else { + end = year +"-"+ "0" + month+"-" + i; + } + } else { + if (i < 10) { + end = year +"-"+ month +"-"+ "0" + i; + } else { + end = year +"-"+ month +"-"+ i; + } + } + if (week - 1 == 6) { + info += start + "&" + end + ","; + if (Integer.parseInt(month) < 10) { + if ((i + 1) < 10) { + start = year +"-"+ "0" + month +"-"+ "0" + (i + 1); + } else { + start = year +"-"+ "0" + month +"-"+ (i + 1); + } + + } else { + if ((i + 1) < 10) { + start = year +"-"+ month +"-"+ "0" + (i + 1); + } else { + start = year +"-"+ month +"-"+ (i + 1); + } + } + index++; + } + } + info += start + "&" + end; + return info; + } + + + /** + * 得到本周和上周的起止日期 + * */ + public static String ReWeek(int n) { + Calendar cal = Calendar.getInstance(); + // n为推迟的周数,1本周,-1向前推迟一周,2下周,依次类推 + // 上周起止时间 n=-1 n=0 上周 n=-1<= date 9) { + } else { + if (month.length() == 2) { + month = month.substring(1, month.length()); + } + } + String str = getWeekStartandEnd(year, month); + String st[] = str.split(","); + info = st[f - 1].toString(); + return info; + } + + /** + * 计算时间段间隔多少分钟 + * + * @param String + * @param String + * @return String + * */ + public static String TimeLock(Date t11, Date t22) { + long l1 = 0; + long l2 = 0; + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + String t1 = sdf.format(t11); + String t2 = sdf.format(t22); + try { + l1 = sdf.parse(t1).getTime(); + l2 = sdf.parse(t2).getTime(); + } catch (java.text.ParseException pe) { + pe.printStackTrace(); + } + return String.valueOf((l2 - l1) / 1000 / 60); + } + + /** + * + * 对象数组[]转化成string + * */ + public static String ReturnObjStr(Object obj) { + if (obj != null) { + return obj.toString(); + } else { + return ""; + } + } + + /** + * 返回 空值 + * */ + public static String IsNULL(String str) { + if (str == null) { + str = ""; + } + return str; + } + + /** + * 判断当前日期是星期几
+ *
+ * + * @param pTime + * 修要判断的时间
+ * @return dayForWeek 判断结果
+ * @Exception 发生异常
+ */ + public static int dayForWeekInt(String pTime) { + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + Calendar c = Calendar.getInstance(); + try { + c.setTime(format.parse(pTime)); + } catch (ParseException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + int dayForWeek = 0; + if (c.get(Calendar.DAY_OF_WEEK) == 1) { + dayForWeek = 7; + } else { + dayForWeek = c.get(Calendar.DAY_OF_WEEK) - 1; + } + return dayForWeek; + } + + /*** + * + * 根据日期获取今天是周几中文 + * + * */ + public static String dayForWeekString(String pTime) { + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + Calendar c = Calendar.getInstance(); + try { + c.setTime(format.parse(pTime)); + } catch (ParseException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + int dayForWeek = 0; + if (c.get(Calendar.DAY_OF_WEEK) == 1) { + dayForWeek = 7; + } else { + dayForWeek = c.get(Calendar.DAY_OF_WEEK) - 1; + } + String[] weeks = { "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日" }; + return weeks[dayForWeek - 1]; + + } + + + /** + * 获取当前年月第几周 + * + * */ + public static String getYearMonthWeek() { + + Calendar cal = Calendar.getInstance(); + int month = cal.get(Calendar.MONTH) + 1;// 月 + int year = cal.get(Calendar.YEAR); // 年 + Map map = new HashMap(); + map.put(1, "一"); + map.put(2, "二"); + map.put(3, "三"); + map.put(4, "四"); + map.put(5, "五"); + map.put(6, "六"); + map.put(7, "七"); + map.put(8, "八"); + map.put(9, "九"); + int week = cal.get(Calendar.WEEK_OF_MONTH);// 获取是本月的第几周 + return year + "年" + month + "月" + " 第" + map.get(week) + "周"; + } + + public static void main(String[] args) throws ParseException { + String str = "201506151234"; + String co = str.substring(0, str.length()-4); + String newstr = str.substring(str.length()-4, str.length()); + int c = Integer.parseInt(newstr)+1; + String c1 = String.valueOf(c); + String code = ""; + if(c1.length()==1){ + code = co+"000"+c1; + }else if(c1.length()==2){ + code = co+"00"+c1; + }else if(c1.length()==3){ + code = co+"0"+c1; + }else{ + code=co+c1; + } + System.out.println(code); + } + + + + public static String GetCodeByCode(String jcode,String beforecode){ + String code = ""; + String between = UtilTools.getTime("YYYYMMdd"); + if(RequestUtil.checkisnull(beforecode) && beforecode.length()>8){ + String lastcode = beforecode.substring(beforecode.length()-4, beforecode.length()); + String newlastcode = String.valueOf(Integer.parseInt(lastcode)+1); + if(newlastcode.length()==1){ + code = jcode+between+"000"+newlastcode; + }else if(newlastcode.length()==2){ + code = jcode+between+"00"+newlastcode; + }else if(newlastcode.length()==3){ + code = jcode+between+"0"+newlastcode; + }else{ + code = jcode+between+newlastcode; + } + }else{ + code = jcode+between+"0001"; + } + return code; + } + + /*** + * 根据年月获取月份的最后一天 + * + * @param year + * @param month + * @param String + * yyyy-mm-dd + * */ + // 需要注意的是:月份是从0开始的,比如说如果输入5的话,实际上显示的是4月份的最后一天,千万不要搞错了哦 + public static String getLastDayOfYearMonth(int year, int month) { + Calendar cal = Calendar.getInstance(); + cal.set(Calendar.YEAR, year); + cal.set(Calendar.MONTH, month - 1); + cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DATE)); + return new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime()); + } + + /*** + * 根据年月获取月份的第一天 + * + * @param year + * @param month + * @param String + * yyyy-mm-dd + * */ + public static String getFirstDayOfYearMonth(int year, int month) { + Calendar cal = Calendar.getInstance(); + cal.set(Calendar.YEAR, year); + cal.set(Calendar.MONTH, month - 1); + cal.set(Calendar.DAY_OF_MONTH, cal.getMinimum(Calendar.DATE)); + return new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime()); + } + + /** + * + * double转int实现四舍五入 + * */ + public static int DoubletoInt(double value) { + int yvalue = Integer.parseInt(new java.text.DecimalFormat("0") + .format(value)); + return yvalue; + } + + /** + * Object转换成JSON + * + * @param javaObj + * @return + */ + public static String ObjecttoJsonString(Object javaObj) { + JSONObject json; + json = JSONObject.fromObject(javaObj); + return json.toString(); + + } + + + /** + * list转换成JSON + * + * @param javaObj + * @return + */ + public static String ListtoJsonString(List list) { + JSONArray json; + if (list != null && list.size() > 0) { + json = JSONArray.fromObject(list); + return json.toString(); + } else { + return ""; + } + + } + + + /** + * 数据写入缓存操作 + * + * @param HttpServletResponse + * @param jsonResult + * @return + * @author dubaohui + * */ + + public static void responseResult4Json(HttpServletResponse response, + String jsonResult) { + response.setCharacterEncoding("UTF-8"); + try { + PrintWriter out = response.getWriter(); + out.println(jsonResult); + out.flush(); + out.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + + /** + * JSON参数格式错误 + * + * @param HttpServletResponse + * @param jsonResult + * @return + * @author dubaohui + * */ + + public static void responseResult4JsonError(HttpServletResponse response, + String param) { + response.setCharacterEncoding("UTF-8"); + try { + PrintWriter out = response.getWriter(); + String jsonResult = "error:错误的JSON格式:" + param + ",请认真检查您的JSON格式。"; + out.println(jsonResult); + out.flush(); + out.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + + /** + * + * 获取List.size() + * + * @param List + * @return int + * @author dubaohui + * */ + public static int IfList(List list) { + if (list != null && list.size() > 0) { + return list.size(); + } else { + return 0; + } + } + + /** + * 数据删除提示 + * + * @param boolean + * @param HttpServletResponse + * @return String + * @author dubaohui + * */ + public static void Delete(boolean sign, HttpServletResponse response) { + if (sign) { + responseResult4Json(response, Configmessage.DELECESUCC); + } else { + responseResult4Json(response, Configmessage.DELECEFINAL); + } + } + + /** + * 数据修改提示 + * + * @param boolean + * @param HttpServletResponse + * @return String + * @author dubaohui + * */ + public static void Update(boolean sign, HttpServletResponse response) { + if (sign) { + responseResult4Json(response, Configmessage.UPDATESUCC); + } else { + responseResult4Json(response, Configmessage.UPDATEFINAL); + } + } + + /** + * 数据新增提示 + * + * @param boolean + * @param HttpServletResponse + * @return String + * @author dubaohui + * */ + public static void Save(boolean sign, HttpServletResponse response) { + if (sign) { + responseResult4Json(response, Configmessage.SAVESUCC); + } else { + responseResult4Json(response, Configmessage.SAVEFINAL); + } + } + + + /** + * + * 数据操作提示 + * + * @param boolean + * @return String + * @author dubaohui + * + * */ + public static void CAOZ(boolean sign, HttpServletResponse response) { + if (sign) { + responseResult4Json(response, Configmessage.CAOZYES); + } else { + responseResult4Json(response, Configmessage.CAOZNO); + } + } + /** + * + * 数据设置提示 + * + * @param boolean + * @return String + * @author dubaohui + * + * */ + public static void Setting(boolean sign, HttpServletResponse response) { + if (sign) { + responseResult4Json(response, Configmessage.SETINGSUCC); + } else { + responseResult4Json(response, Configmessage.SETINGFINAL); + } + } + + /** + * + * 数据调动提示 + * + * @param boolean + * @return String + * @author dubaohui + * + * */ + public static void Redeploy(boolean sign, HttpServletResponse response) { + if (sign) { + responseResult4Json(response, Configmessage.REDSUCC); + } else { + responseResult4Json(response, Configmessage.REDFINAL); + } + } + + /** + * + * 数据初始化提示 + * + * @param boolean + * @return String + * @author dubaohui + * + * */ + public static void Init(boolean sign, HttpServletResponse response) { + if (sign) { + responseResult4Json(response, Configmessage.INITSUCC); + } else { + responseResult4Json(response, Configmessage.INITFINAL); + } + } + /** + * + * 判断是否为int + * + * */ + public static boolean isInt(String value) { + boolean flg = false; + try { + Integer.parseInt(value); + flg = true; + } catch (Exception ex) { + flg = false; + } + return flg; + } + + /** + * + * 返回List结果集的记录条数 + * + * */ + public static int ListCount(List listcount) { + + int count = 0; + if (listcount != null && listcount.size() > 0) { + count = listcount.size(); + } + return count; + } + + // 返回序号 + public static int checkabc(String value) { + int j = 0; + String convert[] = { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", + "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", + "W", "X", "Y", "Z" }; + for (int i = 0; i < convert.length; i++) { + if (value.equals(convert[i])) { + j = i + 1; + break; + } + } + return j; + } + + /*** + * @param List + * + * @param String + * [] JSON标识 + * @return JSONArray + * @author dubaohui + * */ + public static JSONArray listTojsonArray(List list, String[] names) { + JSONArray jarry = new JSONArray(); + if (list != null && list.size() > 0) { + for (int i = 0; i < list.size(); i++) { + Object[] obj = (Object[]) list.get(i); + JSONObject object = new JSONObject(); + for (int j = 0; j < names.length; j++) { + object.put(names[j], + null == obj[j] ? "" : obj[j].toString()); + } + jarry.add(object); + } + } + return jarry; + } + + /** + * + * 读取properties配置文件中的数据 + * + * @param key + * @return value + * */ + public static String getpropertiesvalue(String key) { + ResourceBundle resourceBundle=ResourceBundle.getBundle("com/dubh/sysconfig/group"); + if (key == null || key.equals("") || key.equals("null")) { + return ""; + } + String result = ""; + try { + result = resourceBundle.getString(key); + } catch (MissingResourceException e) { + e.printStackTrace(); + } + return result; + } + + + /** + * + * 获取访问者IP地址 + * + * */ + public static String getIpAddr(HttpServletRequest request) { + String ipAddress = null; + // ipAddress = this.getRequest().getRemoteAddr(); + ipAddress = request.getHeader("x-forwarded-for"); + if (ipAddress == null || ipAddress.length() == 0 + || "unknown".equalsIgnoreCase(ipAddress)) { + ipAddress = request.getHeader("Proxy-Client-IP"); + } + if (ipAddress == null || ipAddress.length() == 0 + || "unknown".equalsIgnoreCase(ipAddress)) { + ipAddress = request.getHeader("WL-Proxy-Client-IP"); + } + if (ipAddress == null || ipAddress.length() == 0 + || "unknown".equalsIgnoreCase(ipAddress)) { + ipAddress = request.getRemoteAddr(); + if (ipAddress.equals("127.0.0.1") + || ipAddress.equals("0:0:0:0:0:0:0:1")) { + // 根据网卡取本机配置的IP + InetAddress inet = null; + try { + inet = InetAddress.getLocalHost(); + } catch (UnknownHostException e) { + e.printStackTrace(); + } + ipAddress = inet.getHostAddress(); + } + + } + + // 对于通过多个代理的情况,第一个IP为客户端真实IP,多个IP按照','分割 + if (ipAddress != null && ipAddress.length() > 15) { // "***.***.***.***".length() + // = 15 + if (ipAddress.indexOf(",") > 0) { + ipAddress = ipAddress.substring(0, ipAddress.indexOf(",")); + } + } + return ipAddress; + } + + + /** + * 如果文件为NULL 返回”” + * + * */ + public static String stringIsNull(String objstr) { + if (null == objstr) { + return ""; + } else { + return objstr; + } + } + + + + /** + * + * 获取文件后缀名 + * + * */ + public static String getExtensionName(String filename) { + if ((filename != null) && (filename.length() > 0)) { + int dot = filename.lastIndexOf('.'); + if ((dot >-1) && (dot < (filename.length() - 1))) { + return filename.substring(dot + 1); + } + } + return filename; + } + + + + /** + * + * 去除固定标示 + * + * @param String + * @return String + * */ + public static String SplitString(String flg){ + String info=""; + if(flg !=null && !"".equals(flg)){ + if(flg.indexOf("_")>0){ + + info= flg.replace("_", ""); + }else{ + + info= flg; + } + } + return info; + } + + + /** + * + * 判断是否为空 + * @param String + * @return boolean + * */ + public static boolean checkisnull(String str){ + if(null != str && !"".equals(str)){ + return true; + }else{ + return false; + } + } + + + + /*** + * + * 字符串转成万元 + * + * */ + public static String getMoneytoWan(String money){ + String wanmoney = "0.0万"; + if(checkisnull(money)){ + double moneys = Double.parseDouble(money); + double n = (double) moneys / 10000; + wanmoney = n+"万"; + } + return wanmoney; + } + + + /** + * 获取某一周内的所有日期及星期 + * @param int 0:本周 1:下一周 -1:上一周 可一次递增或递减 + * */ + public static org.json.JSONArray getEveryDayforWeek(int n) { + org.json.JSONArray array = new org.json.JSONArray(); + try{ + Calendar cal = Calendar.getInstance(); + cal.add(Calendar.DATE, n * 7); + cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + Calendar callast = Calendar.getInstance(); + //获取中国周日日期 + int f=n+1; + callast.add(Calendar.DATE, f * 7); + callast.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY); + //获取本周内所有日期 + String monday = dateFormat.format(cal.getTime()); + String sunday = dateFormat.format(callast.getTime()); + Date dBegin = dateFormat.parse(monday); + Date dEnd = dateFormat.parse(sunday); + List lDate = findDates(dBegin, dEnd); + for (Date date : lDate) { + org.json.JSONObject object = new org.json.JSONObject(); + object.put("date", dateFormat.format(date)); + object.put("weekcn",dayForWeekInt(dateFormat.format(date))); + object.put("weeken",dayForWeekString(dateFormat.format(date))); + array.put(object); + } + }catch(Exception ex){ + ex.printStackTrace(); + } + return array; + } + + + /** + * + * 根据日期获取日期属于第几周 + * @param date + * @return int + * */ + public static int getWeekforNum(String date){ + Calendar ca = Calendar.getInstance(); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + try { + ca.setTime(dateFormat.parse(date)); + } catch (ParseException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + int weeknum = ca.get(Calendar.WEEK_OF_YEAR); + return weeknum; + } + + + /** + * 获取对象编号 + * */ + public String getwebkeys(String webkey){ + StringBuffer sb = new StringBuffer(""); + if(RequestUtil.checkisnull(webkey)){ + if(webkey.indexOf(":")>-1){ + String webkeys[] = webkey.split(":"); + if(webkeys.length>0){ + for(int i=0;i-1){ + String student[] = webkey.split(":"); + if(student.length>0){ + webkeys= new String[student.length]; + for(int i=0;i params = new ArrayList(); + params.add(new BasicNameValuePair("action", action)); + params.add(new BasicNameValuePair("account", account)); + params.add(new BasicNameValuePair("password", password)); + params.add(new BasicNameValuePair("num", phone)); + params.add(new BasicNameValuePair("sign",sign)); + params.add(new BasicNameValuePair("content", context+" 退订请回T")); + params.add(new BasicNameValuePair("md5", md5)); + httppost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8)); + HttpResponse response = new DefaultHttpClient().execute(httppost); + if (response.getStatusLine().getStatusCode() == 200) { + String result = EntityUtils.toString(response.getEntity()); + JSONObject json = new JSONObject(result); + flg = json.getBoolean("success"); + } + }catch(Exception ex){ + ex.printStackTrace(); + } + return flg; + } + + public static void main(String[] args) { + System.out.println(sendcode("13764935808", "尊敬的车商您好! 退订请回T")); + } + +} diff --git a/src/main/java/com/util/SetJsonObject.java b/src/main/java/com/util/SetJsonObject.java new file mode 100644 index 0000000..32acf4c --- /dev/null +++ b/src/main/java/com/util/SetJsonObject.java @@ -0,0 +1,39 @@ +package com.util; + +import java.io.Serializable; +import java.util.List; + +import com.dubh.common.dto.BaseDto; + + + +/** + * JSON构造工具类 + * @author dubaohui + * */ +public class SetJsonObject implements Serializable{ + + + + private int total = 0; + private List rows; + private Object obj; + public Object getObj() { + return obj; + } + public void setObj(Object obj) { + this.obj = obj; + } + public int getTotal() { + return total; + } + public void setTotal(int total) { + this.total = total; + } + public List getRows() { + return rows; + } + public void setRows(List rows) { + this.rows = rows; + } +} diff --git a/src/main/java/com/util/SpringUtil.java b/src/main/java/com/util/SpringUtil.java new file mode 100644 index 0000000..fe32797 --- /dev/null +++ b/src/main/java/com/util/SpringUtil.java @@ -0,0 +1,20 @@ +package com.util; +import org.springframework.beans.BeansException; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; +/** + * 工具类 + * 服务启动时得到SpringBean + * @author dubaohui + * */ +public class SpringUtil implements ApplicationContextAware { + private static ApplicationContext applicationContext; + public void setApplicationContext(ApplicationContext arg0) + throws BeansException { + SpringUtil.applicationContext = arg0; + } + public static Object getBean(String name){ + return applicationContext.getBean(name); + } +} + diff --git a/src/main/java/com/util/Student.java b/src/main/java/com/util/Student.java new file mode 100644 index 0000000..e1b4f65 --- /dev/null +++ b/src/main/java/com/util/Student.java @@ -0,0 +1,69 @@ +package com.util; + +import java.util.Date; + +/** + * @author 作者姓名: dubaohui + * @version 创建时间:2015-8-12 下午2:40:28 + * 类说明 + */ +public class Student +{ + private int id; + private String name; + private int age; + private Date birth; + + public Student() + { + } + + public Student(int id, String name, int age, Date birth) + { + this.id = id; + this.name = name; + this.age = age; + this.birth = birth; + } + + public int getId() + { + return id; + } + + public void setId(int id) + { + this.id = id; + } + + public String getName() + { + return name; + } + + public void setName(String name) + { + this.name = name; + } + + public int getAge() + { + return age; + } + + public void setAge(int age) + { + this.age = age; + } + + public Date getBirth() + { + return birth; + } + + public void setBirth(Date birth) + { + this.birth = birth; + } + +} \ No newline at end of file diff --git a/src/main/java/com/util/SystemTool.java b/src/main/java/com/util/SystemTool.java new file mode 100644 index 0000000..c81e81c --- /dev/null +++ b/src/main/java/com/util/SystemTool.java @@ -0,0 +1,166 @@ +package com.util; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.net.InetAddress; +import java.net.NetworkInterface; + +/** + * 与系统相关的一些常用工具方法. + * + * @author dubaohui + * @version 1.0.0 + */ +public class SystemTool { + + /** + * 获取当前操作系统名称. return 操作系统名称 例如:windows xp,linux 等. + */ + public static String getOSName() { + return System.getProperty("os.name").toLowerCase(); + } + + /** + * 获取unix网卡的mac地址. 非windows的系统默认调用本方法获取. + * 如果有特殊系统请继续扩充新的取mac地址方法. + * + * @return mac地址 + */ + public static String getUnixMACAddress() { + String mac = null; + BufferedReader bufferedReader = null; + Process process = null; + try { + // linux下的命令,一般取eth0作为本地主网卡 + process = Runtime.getRuntime().exec("ifconfig eth0"); + // 显示信息中包含有mac地址信息 + bufferedReader = new BufferedReader(new InputStreamReader( + process.getInputStream())); + String line = null; + int index = -1; + while ((line = bufferedReader.readLine()) != null) { + // 寻找标示字符串[hwaddr] + index = line.toLowerCase().indexOf("hwaddr"); + if (index >= 0) {// 找到了 + // 取出mac地址并去除2边空格 + mac = line.substring(index + "hwaddr".length() + 1).trim(); + break; + } + } + } catch (IOException e) { + e.printStackTrace(); + } finally { + try { + if (bufferedReader != null) { + bufferedReader.close(); + } + } catch (IOException e1) { + e1.printStackTrace(); + } + bufferedReader = null; + process = null; + } + return mac; + } + + /** + * 获取widnows网卡的mac地址. + * + * @return mac地址 + */ + public static String getWindowsMACAddress() { + String mac = null; + BufferedReader bufferedReader = null; + Process process = null; + try { + // windows下的命令,显示信息中包含有mac地址信息 + process = Runtime.getRuntime().exec("ipconfig /all"); + bufferedReader = new BufferedReader(new InputStreamReader( + process.getInputStream())); + String line = null; + int index = -1; + while ((line = bufferedReader.readLine()) != null) { + System.out.println(line); + // 寻找标示字符串[physical + index = line.toLowerCase().indexOf("physical address"); + + if (index >= 0) {// 找到了 + index = line.indexOf(":");// 寻找":"的位置 + if (index >= 0) { + System.out.println(mac); + // 取出mac地址并去除2边空格 + mac = line.substring(index + 1).trim(); + } + break; + } + } + } catch (IOException e) { + e.printStackTrace(); + } finally { + try { + if (bufferedReader != null) { + bufferedReader.close(); + } + } catch (IOException e1) { + e1.printStackTrace(); + } + bufferedReader = null; + process = null; + } + + return mac; + } + + /** + * windows 7 专用 获取MAC地址 + * + * @return + * @throws Exception + */ + public static String getMACAddress() throws Exception { + + // 获取本地IP对象 + InetAddress ia = InetAddress.getLocalHost(); + // 获得网络接口对象(即网卡),并得到mac地址,mac地址存在于一个byte数组中。 + byte[] mac = NetworkInterface.getByInetAddress(ia).getHardwareAddress(); + + // 下面代码是把mac地址拼装成String + StringBuffer sb = new StringBuffer(); + + for (int i = 0; i < mac.length; i++) { + if (i != 0) { + sb.append("-"); + } + // mac[i] & 0xFF 是为了把byte转化为正整数 + String s = Integer.toHexString(mac[i] & 0xFF); + sb.append(s.length() == 1 ? 0 + s : s); + } + + // 把字符串所有小写字母改为大写成为正规的mac地址并返回 + return sb.toString().toUpperCase(); + } + + /** + * 测试用的main方法. + * + * @param argc 运行参数. + * @throws Exception + */ + public static void main(String[] argc) throws Exception { + String os = getOSName(); + System.out.println(os); + if (os.equals("windows 7")) { + String mac = getMACAddress(); + System.out.println(mac); + } else if (os.startsWith("windows")) { + // 本地是windows + String mac = getWindowsMACAddress(); + System.out.println(mac); + } else { + // 本地是非windows系统 一般就是unix + String mac = getUnixMACAddress(); + System.out.println(mac); + } + } +} diff --git a/src/main/java/com/util/UniqId.java b/src/main/java/com/util/UniqId.java new file mode 100644 index 0000000..d1b6bfb --- /dev/null +++ b/src/main/java/com/util/UniqId.java @@ -0,0 +1,240 @@ +/** + * @Copyright com.taiyiche + * @author 刘峻辉 + * @description 用户登录token生成器 + * @date 2016-08-08 + */ +package com.util; + + +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.InetAddress; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.security.SecureRandom; +import java.util.HashMap; +import java.util.Map; +import java.util.Random; +import java.util.concurrent.atomic.AtomicLong; +import java.util.concurrent.locks.ReentrantLock; + + +public class UniqId { + private static char[] digits = { '0', '1', '2', '3', '4', '5', '6', '7', + '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; + + private static Map rDigits = new HashMap( + 16); + static { + for (int i = 0; i < digits.length; ++i) { + rDigits.put(digits[i], i); + } + } + + private static UniqId me = new UniqId(); + private String hostAddr; + private Random random = new SecureRandom(); + private MessageDigest mHasher; + private UniqTimer timer = new UniqTimer(); + + private ReentrantLock opLock = new ReentrantLock(); + + private UniqId() { + try { + InetAddress addr = InetAddress.getLocalHost(); + + hostAddr = addr.getHostAddress(); + } catch (IOException e) { + hostAddr = String.valueOf(System.currentTimeMillis()); + } + + if (hostAddr == null || hostAddr.length() == 0 + || "127.0.0.1".equals(hostAddr)) { + hostAddr = String.valueOf(System.currentTimeMillis()); + } + + try { + mHasher = MessageDigest.getInstance("MD5"); + } catch (NoSuchAlgorithmException nex) { + mHasher = null; + } + } + + /** + * 获取UniqID实例 + * + * @return UniqId + */ + public static UniqId getInstance() { + return me; + } + + /** + * 获得不会重复的毫秒数 + * + * @return + */ + public long getUniqTime() { + return timer.getCurrentTime(); + } + + /** + * 获得UniqId + * + * @return uniqTime-randomNum-hostAddr-threadId + */ + public String getUniqID() { + StringBuffer sb = new StringBuffer(); + long t = timer.getCurrentTime(); + + sb.append(t); + + sb.append("-"); + + sb.append(random.nextInt(8999) + 1000); + + sb.append("-"); + sb.append(hostAddr); + + sb.append("-"); + sb.append(Thread.currentThread().hashCode()); + + return sb.toString(); + } + + /** + * 获取MD5之后的uniqId string + * + * @return uniqId md5 string + */ + public String getUniqIDHashString() { + return hashString(getUniqID()); + } + + /** + * 获取MD5之后的uniqId + * + * @return byte[16] + */ + public byte[] getUniqIDHash() { + return hash(getUniqID()); + } + + /** + * 对字符串进行md5 + * + * @param str + * @return md5 byte[16] + */ + public byte[] hash(String str) { + opLock.lock(); + try { + byte[] bt = mHasher.digest(str.getBytes("UTF-8")); + if (null == bt || bt.length != 16) { + throw new IllegalArgumentException("md5 need"); + } + return bt; + } catch (UnsupportedEncodingException e) { + throw new RuntimeException("unsupported utf-8 encoding", e); + } finally { + opLock.unlock(); + } + } + + /** + * 对二进制数据进行md5 + * + * @param str + * @return md5 byte[16] + */ + public byte[] hash(byte[] data) { + opLock.lock(); + try { + byte[] bt = mHasher.digest(data); + if (null == bt || bt.length != 16) { + throw new IllegalArgumentException("md5 need"); + } + return bt; + } finally { + opLock.unlock(); + } + } + + /** + * 对字符串进行md5 string + * + * @param str + * @return md5 string + */ + public String hashString(String str) { + byte[] bt = hash(str); + return bytes2string(bt); + } + + /** + * 对字节流进行md5 string + * + * @param str + * @return md5 string + */ + public String hashBytes(byte[] str) { + byte[] bt = hash(str); + return bytes2string(bt); + } + + /** + * 将一个字节数组转化为可见的字符串 + * + * @param bt + * @return + */ + public String bytes2string(byte[] bt) { + int l = bt.length; + + char[] out = new char[l << 1]; + + for (int i = 0, j = 0; i < l; i++) { + out[j++] = digits[(0xF0 & bt[i]) >>> 4]; + out[j++] = digits[0x0F & bt[i]]; + } + + return new String(out); + } + + /** + * 将字符串转换为bytes + * + * @param str + * @return byte[] + */ + public byte[] string2bytes(String str) { + if (null == str) { + throw new NullPointerException("参数不能为空"); + } + if (str.length() != 32) { + throw new IllegalArgumentException("字符串长度必须是32"); + } + byte[] data = new byte[16]; + char[] chs = str.toCharArray(); + for (int i = 0; i < 16; ++i) { + int h = rDigits.get(chs[i * 2]).intValue(); + int l = rDigits.get(chs[i * 2 + 1]).intValue(); + data[i] = (byte) ((h & 0x0F) << 4 | (l & 0x0F)); + } + return data; + } + + /** + * 实现不重复的时间 + * + * @author dogun + */ + private static class UniqTimer { + private AtomicLong lastTime = new AtomicLong(System.currentTimeMillis()); + + public long getCurrentTime() { + return this.lastTime.incrementAndGet(); + } + } +} \ No newline at end of file diff --git a/src/main/java/com/util/UtilTools.java b/src/main/java/com/util/UtilTools.java new file mode 100644 index 0000000..6199f82 --- /dev/null +++ b/src/main/java/com/util/UtilTools.java @@ -0,0 +1,917 @@ +package com.util; + +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.InetAddress; +import java.net.UnknownHostException; +import java.text.ParseException; +import java.text.ParsePosition; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; +import java.util.GregorianCalendar; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import com.zhongdao.jlr.enums.Week; + +import net.sf.json.JSONArray; +import net.sf.json.JSONObject; + +public class UtilTools { + private static final String regEx_script = "]*?>[\\s\\S]*?<\\/script>"; // 定义script的正则表达式 + private static final String regEx_style = "]*?>[\\s\\S]*?<\\/style>"; // 定义style的正则表达式 + private static final String regEx_html = "<[^>]+>"; // 定义HTML标签的正则表达式 + private static final String bxcompanykey = "2016052210383737344";// 太保上海分公司编号 + private static final String sysrolekey = "20150807152252189885";// 管理员角色编号 + private static final String adminCode = "2015050608332656789";// 超级管理员(admin)主键编号 + + public static String getCode(String codeStr) { + String str = ""; + if (codeStr.equals("bxcompanykey")) { + str = bxcompanykey; + } else if (codeStr.equals("sysrolekey")) { + str = sysrolekey; + } else if (codeStr.equals("adminCode")) { + str = adminCode; + } + return str; + } + + /** + * 获取List长度 + * + * @param List + * @return int + * + */ + public static Integer ListCount(List list) { + Integer count = new Integer(0); + if (list != null && list.size() > 0) { + count = list.size(); + } + return count; + } + + /** + * 得到当前日期 gs(格式):自定义 + */ + public static String getTime(String gs) { + SimpleDateFormat df = new SimpleDateFormat(gs); + String currentdate = df.format(new Date()); + return currentdate; + } + + /** + * 获取具体时间精确到日 + */ + public static String getTimeForD() { + return getTime("yyyy-MM-dd"); + } + + /** + * 获取具体时间精确到日 + */ + public static String getTimeForD(String format) { + return getTime(format); + } + + /** + * 获取具体时间精确到时 + */ + public static String getTimeForH() { + return getTime("yyyy-MM-dd HH"); + } + + /** + * 获取具体时间精确到分 + */ + public static String getTimeForM() { + return getTime("yyyy-MM-dd HH:mm"); + } + + /** + * 获取具体时间精确到秒 + */ + public static String getTimeForS() { + return getTime("yyyy-MM-dd HH:mm:ss"); + } + + /** + * 删除HTML标签 + * + * @param htmlStr + * @return + */ + public static String delHTMLTag(String htmlStr) { + Pattern p_script = Pattern.compile(regEx_script, + Pattern.CASE_INSENSITIVE); + Matcher m_script = p_script.matcher(htmlStr); + htmlStr = m_script.replaceAll(""); // 过滤script标签 + + Pattern p_style = Pattern + .compile(regEx_style, Pattern.CASE_INSENSITIVE); + Matcher m_style = p_style.matcher(htmlStr); + htmlStr = m_style.replaceAll(""); // 过滤style标签 + + Pattern p_html = Pattern.compile(regEx_html, Pattern.CASE_INSENSITIVE); + Matcher m_html = p_html.matcher(htmlStr); + htmlStr = m_html.replaceAll(""); // 过滤html标签 + + htmlStr = htmlStr.replaceAll(" ", " ");// 过滤空格标签 + + return htmlStr.trim(); // 返回文本字符串 + } + + /** + * Date转String gs:时间格式 + */ + public static String dateToString(Date date, String gs) { + String result = ""; + SimpleDateFormat df = new SimpleDateFormat(gs); + result = df.format(date); + return result; + } + + /** + * String转Date sj:时间,默认"yyyy-MM-dd" gs:时间格式 + */ + public static Date stringToDate(String sj, String gs) { + Date date = null; + if (!strNotNull(sj)) { + sj = getTimeForD(); + } + SimpleDateFormat df = new SimpleDateFormat(gs); + try { + date = df.parse(sj); + } catch (ParseException e) { + e.printStackTrace(); + } + return date; + } + + /** + * 判断字符串是否为null或空 + */ + public static boolean strNotNull(String str) { + if (null != str && !"".equals(str.trim())) { + return true; + } else { + return false; + } + } + + public static boolean strNotNullAndNullStr(String str) { + if (null != str && !"".equals(str.trim()) && !"null".equals(str.trim())) { + return true; + } else { + return false; + } + } + + /** + * 自定义添加Day获取新的日期 yyyy-MM-dd + * + * @param args + */ + public static String getNewDateForDay(Integer day) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + String rq = getTimeForD(); + Calendar calendar = Calendar.getInstance(); + try { + calendar.setTime(sdf.parse(rq)); + } catch (ParseException e) { + e.printStackTrace(); + } + calendar.add(Calendar.DAY_OF_MONTH, day); + rq = sdf.format(calendar.getTime()); + return rq; + } + + /** + * list转换为jsonArray + * + * @param list + * @param names + * @return + */ + public static JSONArray listTojsonArray(List list, String[] names) { + JSONArray jarry = new JSONArray(); + if (list != null && list.size() > 0) { + for (int i = 0; i < list.size(); i++) { + Object[] obj = (Object[]) list.get(i); + JSONObject object = new JSONObject(); + for (int j = 0; j < names.length; j++) { + object.put(names[j], + null == obj[j] ? "" : obj[j].toString()); + } + jarry.add(object); + } + } + return jarry; + } + + /** + * list转换为jsonObject + * + * @param list + * @param names + * @return + */ + public static JSONObject listTojsonObject(List list, String[] names) { + JSONObject object= new JSONObject(); + if (list != null && list.size() > 0) { + for (int i = 0; i < list.size(); i++) { + Object[] obj = (Object[]) list.get(i); + object = new JSONObject(); + for (int j = 0; j < names.length; j++) { + object.put(names[j], + null == obj[j] ? "" : obj[j].toString()); + } + } + } + return object; + } + /** + * 返回新的字符串格式 'p1','p2',..... + * + * @param str + * 要转换的字符串 + * @param separator + * 字符串之间的分隔符 ,值为null时,默认为',' + * @return + */ + public static String strToNewStr(String str, String separator) { + String result = ""; + if (null != str && !"".equals(str)) { + if (null == separator) + separator = ","; + String[] nstr = str.split(separator); + for (int i = 0; i < nstr.length; i++) { + if (!"".equals(result)) { + result += ","; + } + result += "'" + nstr[i] + "'"; + } + } + return result; + } + + /** + * 判断字符串是否是数字 true:数字 false:非数字 + */ + public static boolean isNumber(String str) { + if (null != str + && !"".equals(str.trim()) + && str.matches("^[-+]?(([0-9]+)([.]([0-9]+))?|([.]([0-9]+))?)$")) { + return true; + } else { + return false; + } + } + + /** + * 把Vo 封装成jsonObj + * + * @param v + * @param thistablesx + * @return + */ + public static SetJsonObject voToJsonObj(Vo v, String[] thistablesx) { + long startTime=System.currentTimeMillis(); + JSONArray json = new JSONArray(); + SetJsonObject jsonObj = new SetJsonObject(); + try { + for (int i = 0; i < v.getRows().size(); i++) { + Object[] obj = (Object[]) v.getRows().get(i); + JSONObject jobj = new JSONObject(); + for (int j = 0; j < thistablesx.length; j++) { + String strarr = null == obj[j] ? "" : obj[j].toString(); + String str = thistablesx[j]; + jobj.put(str, strarr); + } + json.add(jobj); + } + jsonObj.setRows(json); + jsonObj.setTotal(v.getTotal()); + } catch (Exception e) { + e.printStackTrace(); + } + System.out.println("voToJsonObjTime:"+(System.currentTimeMillis()-startTime)); + return jsonObj; + } + + public static SetJsonObject voToJsonObj(Vo v) { + SetJsonObject jsonObj = new SetJsonObject(); + jsonObj.setRows(v.getRows()); + jsonObj.setTotal(v.getTotal()); + return jsonObj; + } + + /** + * 把List 封装成jsonObj + * + * @param v + * @param thistablesx + * @return + */ + public static SetJsonObject listToJsonObj(List list, String[] thistablesx) { + JSONArray json = new JSONArray(); + SetJsonObject jsonObj = new SetJsonObject(); + try { + for (int i = 0; i < list.size(); i++) { + Object[] obj = (Object[]) list.get(i); + JSONObject jobj = new JSONObject(); + for (int j = 0; j < thistablesx.length; j++) { + String strarr = null == obj[j] ? "" : obj[j].toString(); + String str = thistablesx[j]; + jobj.put(str, strarr); + } + json.add(jobj); + } + jsonObj.setRows(json); + jsonObj.setTotal(list.size()); + } catch (Exception e) { + e.printStackTrace(); + } + return jsonObj; + } + /** + * 把List 封装成jsonObj + * + * @param v + * @param thistablesx + * @return + */ + public static JSONArray listToJsonObj2(List list, String[] thistablesx) { + JSONArray json = new JSONArray(); + try { + for (int i = 0; i < list.size(); i++) { + Object[] obj = (Object[]) list.get(i); + JSONObject jobj = new JSONObject(); + for (int j = 0; j < thistablesx.length; j++) { + String strarr = null == obj[j] ? "" : obj[j].toString(); + String str = thistablesx[j]; + jobj.put(str, strarr); + } + json.add(jobj); + } + } catch (Exception e) { + e.printStackTrace(); + } + return json; + } + /** + * 得到前天 昨天 今天 明天的日期 -1代表前一天 1代表后一天 等等 默认 yyyy-MM-dd + */ + public static String getTcTime(String style, int numb) { + if (!UtilTools.strNotNull(style)) { + style = "yyyy-MM-dd"; + } + Date date = new Date();// 取时间 + Calendar calendar = new GregorianCalendar(); + calendar.setTime(date); + calendar.add(calendar.DATE, numb);// 把日期往后增加一天.整数往后推,负数往前移动 + date = calendar.getTime(); // 这个时间就是日期往后推一天的结果 + SimpleDateFormat formatter = new SimpleDateFormat(style); + String dateString = formatter.format(date); + return dateString; + } + + /** + * 得到上一个月第一天 + */ + public static String getMMTop() { + Calendar c = Calendar.getInstance(); + c.add(Calendar.MONTH, -1); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM"); + String time = format.format(c.getTime()); + return time + "-01"; + } + + /** + * 得到上一个月最后一天 + */ + public static String getMMNext() { + Calendar c = Calendar.getInstance(); + c.add(Calendar.MONTH, -1); + int MaxDay = c.getActualMaximum(Calendar.DAY_OF_MONTH); + // 按你的要求设置时间 + c.set(c.get(Calendar.YEAR), c.get(Calendar.MONTH), MaxDay, 23, 59, 59); + // 按格式输出 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + String gtime = sdf.format(c.getTime()); // 上月最后一天 + return gtime; + } + + /** + * 得到page + * + * @return mysql默认0 oracle默认1 + */ + public static Integer getPage(HttpServletRequest request) { + Integer page = 1; + if (null != request && null != request.getParameter("page") + && isNumber(request.getParameter("page"))) { + return Integer.parseInt(request.getParameter("page")); + } + return page; + } + + /** + * 得到rows + * + * @return 默认10 + */ + public static Integer getRows(HttpServletRequest request) { + Integer rows = 10; + if (null != request && null != request.getParameter("rows") + && isNumber(request.getParameter("rows"))) { + return Integer.parseInt(request.getParameter("rows")); + } + return rows; + } + + /** + * 字符串首字母转换大写 + */ + public static String szmZdx(String result) { + String result1 = ""; + if (null != result && !"".equals(result)) { + result1 = result.substring(0, 1).toUpperCase() + + result.substring(1, result.length()); + } + return result1; + } + + /** + * 获取服务器地址:如:http://192.168.1.100:8080/web + * + * @param request + * @return + */ + public static String getWebAddress(HttpServletRequest request) { + String web1 = request.getServerName(); + // 把localhost替换成本机ip + if (web1.equals("localhost")) { + try { + web1 = InetAddress.getLocalHost().getHostAddress(); + } catch (UnknownHostException e) { + e.printStackTrace(); + } + } + String path = "http://" + web1 + ":" + request.getServerPort() + + request.getContextPath(); + return path; + } + + /** + * 判断手机号码是否正确 + * + * @param mobiles + * @return + */ + public static boolean isMobileNO(String mobiles) { + Pattern p = Pattern + .compile("^(13[0-9]|15[012356789]|17[36780]|18[0-9]|14[57])[0-9]{8}$"); + Matcher m = p.matcher(mobiles); + return m.matches(); + } + + /** + * 获取状态 + */ + public static String getOrderState(Integer state) { + String str = "初始值"; + if (0 == state) { + str = "初始值"; + } else if (5 == state) { + str = "待取车预约"; + } else if (10 == state) { + str = "取车预约失败"; + } else if (15 == state) { + str = "待取车派单"; + } else if (20 == state) { + str = "待取车邀约"; + } else if (30 == state) { + str = "取车邀约失败"; + } else if (31 == state) { + str = "待取车"; + } else if (32 == state) { + str = "取车条件不符"; + } else if (33 == state) { + str = "待送修"; + } else if (34 == state) { + str = "取车失败"; + } else if (343 == state) { + str = "等待定损"; + }else if (345 == state) { + str = "还车预约"; + }else if (347 == state) { + str = "还车派单"; + }else if (35 == state) { + str = "待还车邀约"; + } else if (351 == state) { + str = "邀约失败重新"; + }else if (352 == state) { + str = "邀约失败重新派单"; + }else if (36 == state) { + str = "待维修网点取车"; + }else if (361 == state) { + str = "提车失败"; + } else if (37 == state) { + str = "待还车"; + }else if (371 == state) { + str = "还车失败"; + } else if (40 == state) { + str = "待理赔"; + } else if (100 == state) { + str = "理赔完毕"; + } else if (101 == state) { + str = "强制废除"; + } + return str; + } + + /** + * 获取状态 + */ + public static String getOrderState(String state) { + StringBuffer str = new StringBuffer(); + if ("初始值".contains(state)) { + str.append("0,"); + } else if ("待取车预约".equals(state)) { + str.append("5,"); + } else if ("取车预约失败".equals(state)) { + str.append("10,"); + } else if ("待取车派单".equals(state)) { + str.append("15,"); + } else if ("待取车邀约".equals(state)) { + str.append("20,"); + } else if ("取车邀约成功".equals(state)) { + str.append("25,"); + } else if ("取车邀约失败".equals(state)) { + str.append("30,"); + } else if ("待取车".equals(state)) { + str.append("31,"); + } else if ("待送修".equals(state)) { + str.append("33,"); + } else if ("取车失败".equals(state)) { + str.append("34,"); + } else if ("等待定损".equals(state)) { + str.append("343,"); + } else if ("还车预约".equals(state)) { + str.append("345,"); + } else if ("还车派单".equals(state)) { + str.append("347,"); + } + else if ("待还车邀约".equals(state)) { + str.append("35,"); + } + else if ("邀约失败重新预约".equals(state)) { + str.append("351,"); + } else if ("邀约失败重新派单".equals(state)) { + str.append("352,"); + } + else if ("待维修网点取车".equals(state)) { + str.append("36,"); + } else if ("提车失败".equals(state)) { + str.append("361,"); + } else if ("待还车".equals(state)) { + str.append("37,"); + } else if ("还车失败 ".equals(state)) { + str.append("371,"); + } else if ("还车成功待理赔".equals(state)) { + str.append("40,"); + } else if ("理赔完毕".equals(state)) { + str.append("100,"); + } else if ("强制废除".equals(state)) { + str.append("101,"); + } + return str.toString(); + } + /** + * 获取状态App + */ + public static String getOrderStateApp(String state) { + StringBuffer str = new StringBuffer(); + if ("初始值".contains(state)) { + str.append("0,"); + } else if ("取车预约".equals(state)) { + str.append("5,"); + } else if ("预约失败".equals(state)) { + str.append("10,"); + } else if ("取车派单".equals(state)) { + str.append("15,"); + } else if ("取车邀约".equals(state)) { + str.append("20,"); + } else if ("邀约失败".equals(state)) { + str.append("30,"); + } else if ("取车".equals(state)) { + str.append("31,"); + } else if ("送修".equals(state)) { + str.append("33,"); + } else if ("取车失败".equals(state)) { + str.append("34,"); + } else if ("定损".equals(state)) { + str.append("343,"); + } else if ("还车预约".equals(state)) { + str.append("345,"); + } else if ("还车派单".equals(state)) { + str.append("347,"); + } + else if ("还车邀约".equals(state)) { + str.append("35,"); + } + else if ("重新预约".equals(state)) { + str.append("351,"); + } else if ("重新派单".equals(state)) { + str.append("352,"); + } + else if ("提车".equals(state)) { + str.append("36,"); + } else if ("提车失败".equals(state)) { + str.append("361,"); + } else if ("还车".equals(state)) { + str.append("37,"); + } else if ("还车失败 ".equals(state)) { + str.append("371,"); + } else if ("理赔".equals(state)) { + str.append("40,"); + } else if ("理赔完毕".equals(state)) { + str.append("100,"); + } else if ("强制废除".equals(state)) { + str.append("101,"); + } + return str.toString(); + } + + /** + * 获取状态4SApp + */ + public static String get4SOrderStateApp(String state) { + StringBuffer str = new StringBuffer(); + if ("等待送修".contains(state)) { + str.append("5,"); + } else if ("送修途中".equals(state)) { + str.append("10,"); + } else if ("返修途中".equals(state)) { + str.append("20,"); + } else if ("接车成功".equals(state)) { + str.append("30,"); + } else if ("交车失败".equals(state)) { + str.append("35,"); + } else if ("开始维修".equals(state)) { + str.append("40,"); + } else if ("维修完毕".equals(state)) { + str.append("50,"); + } else if ("等待交车".equals(state)) { + str.append("60,"); + } else if ("交车成功".equals(state)) { + str.append("70,"); + } else if ("接车失败".equals(state)) { + str.append("15,"); + } else if ("结账完毕".equals(state)) { + str.append("100,"); + } else if ("强制撤销".equals(state)) { + str.append("101,"); + } + return str.toString(); + } + + /** + * 获取组号 + */ + public static int getModenoByFiletype(int filetype) { + if (filetype == 6 || filetype == 7 || filetype == 101) { + return 0; + } else if (filetype == 8) { + return 1; + } else if (filetype >= 9 && filetype <= 12) { + return 2; + } else if (filetype == 13) { + return 3; + } else if (filetype >= 14 && filetype <= 17) { + return 4; + } else if (filetype == 18) { + return 5; + } else if (filetype >= 19 && filetype <= 22) { + return 6; + } else if (filetype == 23) { + return 7; + } else if (filetype >= 24 && filetype <= 27) { + return 8; + } else if (filetype == 28) { + return 9; + } else if (filetype >= 29 && filetype <= 30) { + return 10; + } else if (filetype == 31) { + return 11; + } + return -1; + } + + /** + * 客户类型 + */ + public static String getOrderCustomlb(String state) { + if ("A类".equals(state)) { + return "A"; + } else if ("B类".equals(state)) { + return "B"; + } + return ""; + } + + /** + * 下载 + */ + public static boolean downFile(HttpServletResponse response, String path) { + boolean flag = false; + File file = null; + try { + file = new File(path); + } catch (Exception e) { + e.printStackTrace(); + } + + if (null != file) { + if (file.exists()) { + try { + String filename = file.getName(); + // 弹出下载对话框 + response.reset(); + response.setContentType("application/octet-stream"); + filename = new String(filename.getBytes(System + .getProperty("file.encoding")), "ISO-8859-1"); + response.addHeader("Content-Disposition", + "attachment;filename=\"" + filename + "\""); + OutputStream os = os = response.getOutputStream(); + InputStream is = is = new FileInputStream(file); + BufferedInputStream bis = new BufferedInputStream(is); + BufferedOutputStream bos = new BufferedOutputStream(os); + // 用输入流进行先读,然后用输出流去写 + int bytesRead = 0; + byte[] buffer = new byte[8192]; + while ((bytesRead = bis.read(buffer, 0, 8192)) != -1) { + bos.write(buffer, 0, bytesRead); + } + bos.flush(); + bos.close(); + bis.close(); + os.flush(); + os.close(); + is.close(); + flag = true; + } catch (IOException e) { + flag = false; + e.printStackTrace(); + } + } + } + return flag; + } + + public static String parsJsonString(org.json.JSONObject json, String params) { + try { + return json.getString(params); + } catch (Exception e) { + // TODO: handle exception + return null; + } + } + + /** + * 根据一个日期,返回是星期几的字符串 + * + * @param sdate + * @return + */ + // public static String getWeek(String sdate) { + // // 再转换为时间 + // Date date =strToDate(sdate); + // Calendar c = Calendar.getInstance(); + // c.setTime(date); + // // int hour=c.get(Calendar.DAY_OF_WEEK); + // // hour中存的就是星期几了,其范围 1~7 + // // 1=星期日 7=星期六,其他类推 + // return new SimpleDateFormat("EEEE").format(c.getTime()); + // } + public static Week getWeekStr(String sdate) { + int year = Integer.parseInt(sdate.substring(0, 4)); + int month = Integer.parseInt(sdate.substring(5, 7)); + int day = Integer.parseInt(sdate.substring(8, 10)); + + Calendar c = Calendar.getInstance(); + + c.set(Calendar.YEAR, year); + c.set(Calendar.MONTH, month - 1); + c.set(Calendar.DAY_OF_MONTH, day); + + String str = c.get(Calendar.DAY_OF_WEEK) + ""; + + if ("1".equals(str)) { + return Week.SUN; + } else if ("2".equals(str)) { + return Week.MON; + } else if ("3".equals(str)) { + return Week.TUE; + } else if ("4".equals(str)) { + return Week.WEN; + } else if ("5".equals(str)) { + return Week.THU; + } else if ("6".equals(str)) { + return Week.FRI; + } else if ("7".equals(str)) { + return Week.SAT; + } + return null; + } + + /** + * 将短时间格式字符串转换为时间 yyyy-MM-dd + * + * @param strDate + * @return + */ + public static Date strToDate(String strDate) { + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); + ParsePosition pos = new ParsePosition(0); + Date strtodate = formatter.parse(strDate, pos); + return strtodate; + } + + /** + * 字符串的日期格式的计算 + */ + public static int daysBetween(String smdate, String bdate) + throws ParseException { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + Calendar cal = Calendar.getInstance(); + cal.setTime(sdf.parse(smdate)); + long time1 = cal.getTimeInMillis(); + cal.setTime(sdf.parse(bdate)); + long time2 = cal.getTimeInMillis(); + long between_days = (time2 - time1) / (1000 * 3600 * 24); + + return Integer.parseInt(String.valueOf(between_days)); + } + /** + * 获得指定日期的前一天 + * + * @param specifiedDay + * @return + * @throws Exception + */ + public static String getSpecifiedDayBefore(String specifiedDay) { + // SimpleDateFormat simpleDateFormat = new + // SimpleDateFormat("yyyy-MM-dd"); + Calendar c = Calendar.getInstance(); + Date date = null; + try { + date = new SimpleDateFormat("yyyy-MM-dd").parse(specifiedDay); + } catch (ParseException e) { + e.printStackTrace(); + } + c.setTime(date); + int day = c.get(Calendar.DATE); + c.set(Calendar.DATE, day - 1); + + String dayBefore = new SimpleDateFormat("yyyy-MM-dd").format(c + .getTime()); + return dayBefore; + } + + /** + * 获得指定日期的后一天 + * + * @param specifiedDay + * @return + */ + public static String getSpecifiedDayAfter(String specifiedDay) { + Calendar c = Calendar.getInstance(); + Date date = null; + try { + date = new SimpleDateFormat("yyyy-MM-dd").parse(specifiedDay); + } catch (ParseException e) { + e.printStackTrace(); + } + c.setTime(date); + int day = c.get(Calendar.DATE); + c.set(Calendar.DATE, day + 1); + + String dayAfter = new SimpleDateFormat("yyyy-MM-dd") + .format(c.getTime()); + return dayAfter; + } + +} diff --git a/src/main/java/com/util/Vo.java b/src/main/java/com/util/Vo.java new file mode 100644 index 0000000..55d1944 --- /dev/null +++ b/src/main/java/com/util/Vo.java @@ -0,0 +1,30 @@ +package com.util; + +import com.dubh.common.dto.BaseDto; + +import java.util.List; + +public class Vo extends BaseDto{ + private List rows; + private Integer total; + public List getRows() { + return rows; + } + public void setRows(List rows) { + this.rows = rows; + } + public Integer getTotal() { + return total; + } + public void setTotal(Integer total) { + this.total = total; + } + + @Override + public String toString() { + return "Vo{" + + "rows=" + rows + + ", total=" + total + + '}'; + } +} diff --git a/src/main/java/com/util/ZipUtil.java b/src/main/java/com/util/ZipUtil.java new file mode 100644 index 0000000..f7dd79f --- /dev/null +++ b/src/main/java/com/util/ZipUtil.java @@ -0,0 +1,518 @@ +package com.util; + +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; +import java.util.zip.CRC32; +import java.util.zip.CheckedOutputStream; +import java.util.zip.Deflater; + +import org.apache.tools.zip.ZipEntry; +import org.apache.tools.zip.ZipOutputStream; + +/** + * 功能:使用Apache Ant里提供的org.apache.tools.zip实现zip压缩和解压 (支持中文文件名) + * 解决了由于java.util.zip包不支持汉字的问题。 使用java.util.zip包时,当zip文件中有名字为中文的文件时, + * 就会出现异常:"Exception in thread "main " java.lang.IllegalArgumentException at + * java.util.zip.ZipInputStream.getUTF8String(ZipInputStream.java:285) + * + * @author 夏明龙 E-mail:邮箱 + * @version 创建时间:2013-3-22 上午10:40:21 类说明: + */ +public class ZipUtil { + private static List list = new ArrayList(); + + private static List listFile(String path) { + File file = new File(path); + String[] array = null; + String sTemp = ""; + + if (!file.isDirectory()) { + return null; + } + array = file.list(); + if (array.length > 0) { + for (int i = 0; i < array.length; i++) { + sTemp = path + array[i]; + file = new File(sTemp); + if (file.isDirectory()) { + listFile(sTemp + "/"); + } else + list.add(sTemp); + } + } else { + return null; + } + + return list; + } + + public static void zip(String needtozipfilepath) { + try { + byte[] b = new byte[512]; + + File needtozipfile = new File(needtozipfilepath); + + if (!needtozipfile.exists()) { + System.err.println("指定的要压缩的文件或目录不存在."); + return; + } + + String zipFile = needtozipfilepath + ".zip"; + System.out.println("zipFile:" + zipFile); + // File targetFile = new File(zipFile.substring(0, + // zipFile.indexOf("\\") + 1)); + // + // if (!targetFile.exists()) { + // System.out.println("指定的目标文件或目录不存在."); + // return; + // } + + String filepath = needtozipfilepath; + List fileList = listFile(filepath + "/"); + FileOutputStream fileOutputStream = new FileOutputStream(zipFile); + CheckedOutputStream cs = new CheckedOutputStream(fileOutputStream, + new CRC32()); + ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream( + cs)); + + for (int i = 0; i < fileList.size(); i++) { + InputStream in = new FileInputStream((String) fileList.get(i)); + String fileName = ((String) fileList.get(i)).replace( + File.separatorChar, '/'); + fileName = fileName.substring(fileName.indexOf("/") + 1); + ZipEntry e = new ZipEntry(fileName); + out.putNextEntry(e); + int len = 0; + while ((len = in.read(b)) != -1) { + out.write(b, 0, len); + } + out.closeEntry(); + } + out.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + // /////////////////////////////////////// + /** + * 压缩文件 或者 文件夹 + * + * @param baseDirName + * 压缩的根目录 + * @param fileName + * 根目录下待压缩的文件或文件夹名 + * @param targetFileName + * 目标ZIP 文件 星号 "*" 表示压缩根目录下的全部文件 + * + */ + public static boolean zip(String baseDirName, String[] fileNames, + String targetFileName, String encoding) { + boolean flag = false; + try { + // 判断 "压缩的根目录"是否存在! 是否是一个文件夹! + File baseDir = new File(baseDirName); + if (!baseDir.exists() || (!baseDir.isDirectory())) { + System.err.println("压缩失败! 根目录不存在: " + baseDirName); + return false; + } + + // 得到这个 "压缩的根目录" 的绝对路径 + String baseDirPath = baseDir.getAbsolutePath(); + + // 由这个 "目标 ZIP 文件" 文件名得到一个 压缩对象 ZipOutputStream + File targetFile = new File(targetFileName); + ZipOutputStream out = new ZipOutputStream(new FileOutputStream( + targetFile)); + // 中文有乱码,引进下面的改造类 + // CnZipOutputStream out = new CnZipOutputStream(new + // FileOutputStream(targetFile),encoding); + + // 设置压缩编码Apache Ant有个包专门处理ZIP文件,可以指定文件名的编码方式。由此可以解决问题。例如:用 + // org.apache.tools.zip.ZipOutputStream代替java.util.zip.ZipOutputStream。ZipOutputStream + // out = .....; out.setEncoding("GBK"); + // out.setEncoding("GBK");//设置为GBK后在windows下就不会乱码了,如果要放到Linux或者Unix下就不要设置了 + out.setEncoding(encoding); + + // "*" 表示压缩包括根目录 baseDirName 在内的全部文件 到 targetFileName文件下 + if (fileNames.equals("*")) { + ZipUtil.dirToZip(baseDirPath, baseDir, out); + } else { + File[] files = new File[fileNames.length]; + for (int i = 0; i < files.length; i++) { + // 根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。 + files[i] = new File(baseDir, fileNames[i]); + } + if (files[0].isFile()) { + // 调用本类的一个静态方法 压缩一个文件 + // CompressUtil.fileToZip(baseDirPath, file, out); + ZipUtil.filesToZip(baseDirPath, files, out); + } + + } + out.close(); + // System.out.println("压缩成功! 目标文件名为: " + targetFileName); + flag = true; + } catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + return flag; + } + + /** + * 将文件压缩到Zip 输出流 + * + * @param baseDirPath + * 根目录路径 + * @param file + * 要压缩的文件 + * @param out + * 输出流 + * @throws IOException + */ + private static void fileToZip(String baseDirPath, File file, + ZipOutputStream out) throws IOException { + // + FileInputStream in = null; + org.apache.tools.zip.ZipEntry entry = null; + // 创建复制缓冲区 1024*4 = 4K + byte[] buffer = new byte[1024 * 4]; + int bytes_read = 0; + if (file.isFile()) { + in = new FileInputStream(file); + // 根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例 + String zipFileName = getEntryName(baseDirPath, file); + entry = new org.apache.tools.zip.ZipEntry(zipFileName); + // "压缩文件" 对象加入 "要压缩的文件" 对象 + out.putNextEntry(entry); + // 现在是把 "要压缩的文件" 对象中的内容写入到 "压缩文件" 对象 + while ((bytes_read = in.read(buffer)) != -1) { + out.write(buffer, 0, bytes_read); + } + out.closeEntry(); + in.close(); + // System.out.println("添加文件" + file.getAbsolutePath()+ "被添加到 ZIP + // 文件中!"); + } + } + + /** + * 多个文件目录压缩到Zip 输出流 + * + * @param baseDirPath + * @param files + * @param out + * @throws IOException + */ + @SuppressWarnings("unused") + private static void filesToZip(String baseDirPath, File[] files, + ZipOutputStream out) throws IOException { + // 遍历所有的文件 一个一个地压缩 + for (int i = 0; i < files.length; i++) { + File file = files[i]; + if (file.isFile()) { + // 调用本类的一个静态方法 压缩一个文件 + ZipUtil.fileToZip(baseDirPath, file, out); + } else { + /* + * 这是一个文件夹 所以要再次得到它下面的所有的文件 这里是自己调用自己..............递归.......... + */ + ZipUtil.dirToZip(baseDirPath, file, out); + } + } + } + + /** + * 将文件目录压缩到Zip 输出流 + * + * @param baseDirPath + * @param dir + * @param out + * @throws IOException + */ + private static void dirToZip(String baseDirPath, File dir, + ZipOutputStream out) throws IOException { + // 得到一个文件列表 (本目录下的所有文件对象集合) + File[] files = dir.listFiles(); + // 要是这个文件集合数组的长度为 0 , 也就证明了这是一个空的文件夹,虽然没有再循环遍历它的必要,但是也要把这个空文件夹也压缩到目标文件中去 + if (files.length == 0) { + // 根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例 + String zipFileName = getEntryName(baseDirPath, dir); + org.apache.tools.zip.ZipEntry entry = new org.apache.tools.zip.ZipEntry( + zipFileName); + out.putNextEntry(entry); + out.closeEntry(); + } else { + // 遍历所有的文件 一个一个地压缩 + for (int i = 0; i < files.length; i++) { + File file = files[i]; + if (file.isFile()) { + // 调用本类的一个静态方法 压缩一个文件 + ZipUtil.fileToZip(baseDirPath, file, out); + } else { + /* + * 这是一个文件夹 所以要再次得到它下面的所有的文件 + * 这里是自己调用自己..............递归.......... + */ + ZipUtil.dirToZip(baseDirPath, file, out); + } + } + } + } + + /** + * 获取 待压缩文件在 ZIP 文件中的 entry的名字,即相对于根目录的相对路径名 + * + * @param baseDirPath + * 根目录 + * @param file + * @return + */ + private static String getEntryName(String baseDirPath, File file) { + /** + * 改变 baseDirPath 的形式 把 "C:/temp" 变成 "C:/temp/" + */ + if (!baseDirPath.endsWith(File.separator)) { + baseDirPath += File.separator; + } + String filePath = file.getAbsolutePath(); + /** + * 测试此抽象路径名表示的文件是否是一个目录。 要是这个文件对象是一个目录 则也要变成 后面带 "/" 这个文件对象类似于 + * "C:/temp/人体写真/1.jpg" 要是这个文件是一个文件夹 则也要变成 后面带 "/" + * 因为你要是不这样做,它也会被压缩到目标文件中 但是却不能正解显示 也就是说操作系统不能正确识别它的文件类型(是文件还是文件夹) + */ + if (file.isDirectory()) { + filePath += "/"; + } + int index = filePath.indexOf(baseDirPath); + return filePath.substring(index + baseDirPath.length()); + } + + // //////////////////////////解压缩//////////////////////////////////////// + /** + * 调用org.apache.tools.zip实现解压缩,支持目录嵌套和中文名 + * 也可以使用java.util.zip不过如果是中文的话,解压缩的时候文件名字会是乱码 + * 。原因是解压缩软件的编码格式跟java.util.zip.ZipInputStream的编码字符集(固定是UTF-8)不同 + * + * @param zipFileName + * 要解压缩的文件 + * @param outputDirectory + * 要解压到的目录 + * @throws Exception + */ + public static boolean unZip(String zipFileName, String outputDirectory) { + boolean flag = false; + try { + org.apache.tools.zip.ZipFile zipFile = new org.apache.tools.zip.ZipFile( + zipFileName); + java.util.Enumeration e = zipFile.getEntries(); + org.apache.tools.zip.ZipEntry zipEntry = null; + createDirectory(outputDirectory, ""); + while (e.hasMoreElements()) { + zipEntry = (org.apache.tools.zip.ZipEntry) e.nextElement(); + // System.out.println("unziping " + zipEntry.getName()); + if (zipEntry.isDirectory()) { + String name = zipEntry.getName(); + name = name.substring(0, name.length() - 1); + File f = new File(outputDirectory + File.separator + name); + f.mkdir(); + System.out.println("创建目录:" + outputDirectory + + File.separator + name); + } else { + String fileName = zipEntry.getName(); + fileName = fileName.replace('\\', '/'); + // System.out.println("测试文件1:" +fileName); + if (fileName.indexOf("/") != -1) { + createDirectory(outputDirectory, fileName.substring(0, + fileName.lastIndexOf("/"))); + fileName = fileName.substring( + fileName.lastIndexOf("/") + 1, + fileName.length()); + } + + File f = new File(outputDirectory + File.separator + + zipEntry.getName()); + + f.createNewFile(); + InputStream in = zipFile.getInputStream(zipEntry); + FileOutputStream out = new FileOutputStream(f); + + byte[] by = new byte[1024]; + int c; + while ((c = in.read(by)) != -1) { + out.write(by, 0, c); + } + out.close(); + in.close(); + } + flag = true; + } + } catch (Exception ex) { + ex.printStackTrace(); + } + return flag; + } + + /** + * 创建目录 + * + * @param directory + * 父目录 + * @param subDirectory + * 子目录 + */ + private static void createDirectory(String directory, String subDirectory) { + String dir[]; + File fl = new File(directory); + try { + if (subDirectory == "" && fl.exists() != true) + fl.mkdir(); + else if (subDirectory != "") { + dir = subDirectory.replace('\\', '/').split("/"); + for (int i = 0; i < dir.length; i++) { + File subFile = new File(directory + File.separator + dir[i]); + if (subFile.exists() == false) + subFile.mkdir(); + directory += File.separator + dir[i]; + } + } + } catch (Exception ex) { + System.out.println(ex.getMessage()); + } + } + + public static void zip(File inputFile) { + try { + //创建文件输出对象out,提示:注意中文支持 + FileOutputStream out = new FileOutputStream(inputFile.getAbsolutePath()+".zip"); + //將文件輸出ZIP输出流接起来 + ZipOutputStream zOut = new ZipOutputStream(out); + + zip(zOut, inputFile, ""); + + zOut.close(); + + } catch (Exception e) { + e.printStackTrace(); + } + } + public static void zip(ZipOutputStream zOut, File file, String base) { + try { + // 如果文件句柄是目录 + if (file.isDirectory()) { + // 获取目录下的文件 + File[] listFiles = file.listFiles(); + // 建立ZIP条目 + zOut.putNextEntry(new ZipEntry(base + "/")); + + base = (base.length() == 0 ? "" : base + "/"); + + // 遍历目录下文件 + for (int i = 0; i < listFiles.length; i++) { + // 递归进入本方法 + zip(zOut, listFiles[i], base + listFiles[i].getName()); + } + } + // 如果文件句柄是文件 + else { + if (base == "") { + base = file.getName(); + } + // 填入文件句柄 + zOut.putNextEntry(new ZipEntry(base)); + + // 开始压缩 + // 从文件入流读,写入ZIP 出流 + writeFile(zOut, file); + } + + } catch (Exception e) { + e.printStackTrace(); + } + } + + public static void writeFile(ZipOutputStream zOut, File file) + throws IOException { + FileInputStream in = new FileInputStream(file); + int len; + while ((len = in.read()) != -1) + zOut.write(len); + in.close(); + } + + // ///////////////////////////////////// + + public static void main(String[] temp) { + // 压缩 + // String baseDirName = "C:\\"; + // String[] fileNames = { "中文1.doc", "中文2.doc" }; + // String zipFileName = "c:\\中文.zip"; + // // 压缩多个指定的文件 到ZIP + // System.out.println(ZipUtil.zip(baseDirName, + // fileNames,zipFileName,"GBK")); + + // 压缩一个文件夹 到ZIP + String sourcePath = "G:\\tomcat\\apache-tomcat-7.0.70\\apache-tomcat-7.0.70\\webapps\\mgmt\\attached\\downlaodcache\\2015050608332656789\\2017010516350645638"; + ZipUtil.zip(new File(sourcePath)); + + // 解压缩 + // System.out.println(ZipUtil.unZip("c:\\中文.zip", "c:\\中文")); + } + //删除指定文件夹下所有文件 + //param path 文件夹完整绝对路径 + public static boolean delAllFile(String path) { + boolean flag = false; + File file = new File(path); + if (!file.exists()) { + return flag; + } + if (!file.isDirectory()) { + return flag; + } + String[] tempList = file.list(); + File temp = null; + for (int i = 0; i < tempList.length; i++) { + if (path.endsWith(File.separator)) { + temp = new File(path + tempList[i]); + } else { + temp = new File(path + File.separator + tempList[i]); + } + if (temp.isFile()) { + temp.delete(); + } + if (temp.isDirectory()) { + delAllFile(path + "/" + tempList[i]);//先删除文件夹里面的文件 + delFolder(path + "/" + tempList[i]);//再删除空文件夹 + flag = true; + } + } + return flag; + } +//删除文件夹 +//param folderPath 文件夹完整绝对路径 + + public static void delFolder(String folderPath) { + try { + delAllFile(folderPath); //删除完里面所有内容 + String filePath = folderPath; + filePath = filePath.toString(); + java.io.File myFilePath = new java.io.File(filePath); + myFilePath.delete(); //删除空文件夹 + } catch (Exception e) { + e.printStackTrace(); + } +} + + + +} \ No newline at end of file diff --git a/src/main/java/com/util/yzcode/BuilderCode.java b/src/main/java/com/util/yzcode/BuilderCode.java new file mode 100644 index 0000000..5a54ad8 --- /dev/null +++ b/src/main/java/com/util/yzcode/BuilderCode.java @@ -0,0 +1,146 @@ +package com.util.yzcode; + +import javax.servlet.http.HttpServlet; +import java.awt.Color; +import java.awt.Font; +import java.awt.Graphics2D; +import java.awt.image.BufferedImage; +import java.util.Random; + +import javax.imageio.ImageIO; +import javax.servlet.ServletException; +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; +public class BuilderCode extends HttpServlet { + + + + + /** + * 生成图片验证码 + * + * @author dubaohui + * @date 2009-6-5 + */ + + // 验证码图片的宽度。 + private int width = 60; + // 验证码图片的高度。 + private int height = 32; + // 验证码字符个数 + private int codeCount = 4; + private int x = 0; + // 字体高度 + private int fontHeight; + private int codeY; + + char[] codeSequence = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9' }; + + /** + * 初始化验证图片属性 + */ + public void init() throws ServletException { + // 从web.xml中获取初始信息 + // 宽度 + String strWidth = this.getInitParameter("width"); + // 高度 + String strHeight = this.getInitParameter("height"); + // 字符个数 + String strCodeCount = this.getInitParameter("codeCount"); + + // 将配置的信息转换成数值 + try { + if (strWidth != null && strWidth.length() != 0) { + width = Integer.parseInt(strWidth); + } + if (strHeight != null && strHeight.length() != 0) { + height = Integer.parseInt(strHeight); + } + if (strCodeCount != null && strCodeCount.length() != 0) { + codeCount = Integer.parseInt(strCodeCount); + } + } catch (NumberFormatException e) { + } + + x = width / (codeCount + 1); + fontHeight = height - 2; + codeY = height - 4; + + } + + protected void service(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, java.io.IOException { + + HttpSession session = req.getSession(); + + // 定义图像buffer + BufferedImage buffImg = new BufferedImage(width, height, + BufferedImage.TYPE_INT_RGB); + Graphics2D g = buffImg.createGraphics(); + + // 创建一个随机数生成器类 + Random random = new Random(); + + // 将图像填充为白色 + g.setColor(Color.WHITE); + g.fillRect(0, 0, width, height); + + // 创建字体,字体的大小应该根据图片的高度来定。 + Font font = new Font("Fixedsys", Font.PLAIN, fontHeight); + // 设置字体。 + g.setFont(font); + + // 画边框。 + g.setColor(Color.WHITE); + g.drawRect(0, 0, width - 1, height - 1); + + // 随机产生20条干扰线,使图象中的认证码不易被其它程序探测到。 + g.setColor(Color.BLACK); + /*for (int i = 0; i < 20; i++) { + int x = random.nextInt(width); + int y = random.nextInt(height); + int xl = random.nextInt(12); + int yl = random.nextInt(12); + g.drawLine(x, y, x + xl, y + yl); + }*/ + + // randomCode用于保存随机产生的验证码,以便用户登录后进行验证。 + StringBuffer randomCode = new StringBuffer(); + int red = 0, green = 0, blue = 0; + + // 随机产生codeCount数字的验证码。 + for (int i = 0; i < codeCount; i++) { + // 得到随机产生的验证码数字。 + String strRand = String.valueOf(codeSequence[random.nextInt(10)]); + // 产生随机的颜色分量来构造颜色值,这样输出的每位数字的颜色值都将不同。 + red = random.nextInt(255); + green = random.nextInt(255); + blue = random.nextInt(255); + + // 用随机产生的颜色将验证码绘制到图像中。 + g.setColor(new Color(red, green, blue)); + g.drawString(strRand, (i + 1) * x-2, codeY+2); + // 将产生的四个随机数组合在一起。 + randomCode.append(strRand); + } + // 将四位数字的验证码保存到Session中。 + session.setAttribute("validateCodeRecruitstu", randomCode.toString()); + // 禁止图像缓存。 + resp.setHeader("Pragma", "no-cache"); + resp.setHeader("Cache-Control", "no-cache"); + resp.setDateHeader("Expires", 0); + resp.setContentType("image/jpeg"); + //清空缓存 + g.dispose(); + // 将图像输出到Servlet输出流中。 + ServletOutputStream sos = resp.getOutputStream(); + ImageIO.write(buffImg, "jpeg", sos); + sos.close(); + } + + + +} diff --git a/src/main/java/com/zhongdao/jlr/BaiduTest.java b/src/main/java/com/zhongdao/jlr/BaiduTest.java new file mode 100644 index 0000000..23ea900 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/BaiduTest.java @@ -0,0 +1,78 @@ +package com.zhongdao.jlr; + +import com.util.NetUtil; + +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; +import java.security.NoSuchAlgorithmException; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Map.Entry; + +//java版计算signature签名 +public class BaiduTest { + public static void main(String[] args) throws UnsupportedEncodingException, + NoSuchAlgorithmException { + BaiduTest snCal = new BaiduTest(); + + // 计算sn跟参数对出现顺序有关,get请求请使用LinkedHashMap保存,该方法根据key的插入顺序排序;post请使用TreeMap保存,该方法会自动将key按照字母a-z顺序排序。所以get请求可自定义参数顺序(sn参数必须在最后)发送请求,但是post请求必须按照字母a-z顺序填充body(sn参数必须在最后)。以get请求为例:http://api.map.baidu.com/geocoder/v2/?address=百度大厦&output=json&ak=yourak,paramsMap中先放入address,再放output,然后放ak,放入顺序必须跟get请求中对应参数的出现顺序保持一致。 + Map paramsMap = new LinkedHashMap(); + paramsMap.put("address", "上海市张江路1196号"); + paramsMap.put("output", "json"); + paramsMap.put("ak", "F5lGYj8lbIGcZUSym6jIQNnN0ms9sabM"); + + // 调用下面的toQueryString方法,对LinkedHashMap内所有value作utf8编码,拼接返回结果address=%E7%99%BE%E5%BA%A6%E5%A4%A7%E5%8E%A6&output=json&ak=yourak + String paramsStr = snCal.toQueryString(paramsMap); + + // 对paramsStr前面拼接上/geocoder/v2/?,后面直接拼接yoursk得到/geocoder/v2/?address=%E7%99%BE%E5%BA%A6%E5%A4%A7%E5%8E%A6&output=json&ak=yourakyoursk + String wholeStr = new String("/geocoder/v2/?" + paramsStr + "4VbjBrpfEfKeFPGc8PfGRIjRmRX8MwWy"); + + // 对上面wholeStr再作utf8编码 + String tempStr = URLEncoder.encode(wholeStr, "UTF-8"); + + // 调用下面的MD5方法得到最后的sn签名7de5a22212ffaa9e326444c75a58f9a0 + String sn=snCal.MD5(tempStr); + System.out.println(sn); + System.out.println(NetUtil.sendPost("http://api.map.baidu.com/geocoder/v2/?address=上海市张江路1196号&output=json&ak=F5lGYj8lbIGcZUSym6jIQNnN0ms9sabM&sn="+sn, "")); + } + + // 对Map内所有value作utf8编码,拼接返回结果 + public String toQueryString(Map data) + throws UnsupportedEncodingException { StringBuffer queryString = new StringBuffer(); + for (Entry pair : data.entrySet()) { + queryString.append(pair.getKey() + "="); + String ss[] = pair.getValue().toString().split(","); + if(ss.length>1){ + for(String s:ss){ + queryString.append(URLEncoder.encode(s,"UTF-8") + ","); + } + queryString.deleteCharAt(queryString.length()-1); + queryString.append("&"); + } + else{ + queryString.append(URLEncoder.encode((String) pair.getValue(), + "UTF-8") + "&"); + } + } + if (queryString.length() > 0) { + queryString.deleteCharAt(queryString.length() - 1); + } + return queryString.toString();} + + // 来自stackoverflow的MD5计算方法,调用了MessageDigest库函数,并把byte数组结果转换成16进制 + public String MD5(String md5) { + try { + java.security.MessageDigest md = java.security.MessageDigest + .getInstance("MD5"); + byte[] array = md.digest(md5.getBytes()); + StringBuffer sb = new StringBuffer(); + for (int i = 0; i < array.length; ++i) { + sb.append(Integer.toHexString((array[i] & 0xFF) | 0x100) + .substring(1, 3)); + } + return sb.toString(); + } catch (java.security.NoSuchAlgorithmException e) { + } + return null; + } +} \ No newline at end of file diff --git a/src/main/java/com/zhongdao/jlr/Test.java b/src/main/java/com/zhongdao/jlr/Test.java new file mode 100644 index 0000000..3a7ffb2 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/Test.java @@ -0,0 +1,55 @@ +package com.zhongdao.jlr; + +import java.math.BigDecimal; +import java.text.DecimalFormat; +import java.text.NumberFormat; + +public class Test { +// public static void main(String[] args) { +// Week week=Week.valueOf("SUN1"); +// switch (week) { +// case SUN: +// System.out.println("星期天"); +// break; +// case MON: +// System.out.println("星期1"); +// break; +// default: +// System.out.println("不是星期内"); +// break; +// } +// } + + double f = 111231; + public void m1() { + BigDecimal bg = new BigDecimal(f); + double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + System.out.println(f1); + } + /** + * DecimalFormat转换最简便 + */ + public void m2() { + DecimalFormat df = new DecimalFormat("#.00"); + System.out.println(df.format(f)); + } + /** + * String.format打印最简便 + */ + public void m3() { + System.out.println(String.format("%.2f", f)); + } + public void m4() { + NumberFormat nf = NumberFormat.getNumberInstance(); + nf.setMaximumFractionDigits(2); + System.out.println(nf.format(f)); + } + public static void main(String[] args) { +// Test f = new Test(); +// f.m1(); +// f.m2(); +// f.m3(); +// f.m4(); + System.out.println(System.currentTimeMillis()+""); + } +} diff --git a/src/main/java/com/zhongdao/jlr/business/action/BaseAction.java b/src/main/java/com/zhongdao/jlr/business/action/BaseAction.java new file mode 100644 index 0000000..784fb9a --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/action/BaseAction.java @@ -0,0 +1,106 @@ +package com.zhongdao.jlr.business.action; + + +import com.util.RequestUtil; +import com.zhongdao.jlr.business.service.BaseService; +import com.zhongdao.jlr.pojo.BaseMenu; +import org.apache.http.util.TextUtils; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/*** + * 用户登录控制器 + */ + +@Controller +@RequestMapping("/base") +public class BaseAction { + + @Resource(name = "baseServiceImpl") + BaseService baseService; + + /*** + * 用户登录 + * @param request + * @param response + */ + @RequestMapping(value = "/login.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public void login(HttpServletRequest request, HttpServletResponse response) { + //获取参数 + String username = request.getParameter("username"); + String password = request.getParameter("password"); + Map result = new HashMap(); + result.put("flag", "0"); + result.put("msg", "执行失败"); + if (TextUtils.isEmpty(username) || TextUtils.isEmpty(password)) { + result.put("msg", "必填参数不能为空"); + RequestUtil.responseResult4Json(response, RequestUtil.ObjecttoJsonString(result)); + return; + } + Map map = baseService.login(request, result, username, password); + RequestUtil.responseResult4Json(response, RequestUtil.ObjecttoJsonString(map)); + } + + /*** + * 展示权限列表 + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/home.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public String home(HttpServletRequest request, HttpServletResponse response) { + //获取菜单信息 + List list=baseService.getMenuInfo(); + //获取父级菜单信息 + List lists=baseService.getParentMenuInfo(); + //共享数据 + request.setAttribute("firstPage", 1); + request.getSession().setAttribute("menu", list); + request.getSession().setAttribute("parentMenu", lists); + return "/page/home"; + } + + /*** + * 用户注销 + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/loginout.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public String loginout(HttpServletRequest request, HttpServletResponse response) { + request.getSession().invalidate(); + return "/login"; + } + + /** + * 地图定位 + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/amap.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public String amap(HttpServletRequest request, HttpServletResponse response) { + //获取参数 + String lngStr = request.getParameter("lngStr"); + //将参数类型转换为double类型 + Double lng = Double.valueOf(TextUtils.isBlank(lngStr) ? 0 : Double.valueOf(lngStr)); + String StrLat = request.getParameter("lat"); + Double lat = Double.valueOf(TextUtils.isBlank(StrLat) ? 0 : Double.valueOf(StrLat)); + //共享数据 + request.setAttribute("lng", lng); + request.setAttribute("lat", lat); + return "/page/amap/amap"; + } +} diff --git a/src/main/java/com/zhongdao/jlr/business/action/CasesAction.java b/src/main/java/com/zhongdao/jlr/business/action/CasesAction.java new file mode 100644 index 0000000..fcfbb84 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/action/CasesAction.java @@ -0,0 +1,176 @@ +package com.zhongdao.jlr.business.action; +import com.util.RequestUtil; +import com.util.Vo; +import com.zhongdao.jlr.business.service.CasesListService; +import com.zhongdao.jlr.business.vo.LoginUserVo; +import net.sf.json.JSON; +import net.sf.json.JSONArray; +import org.json.JSONObject; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + + + +/** + * 道路救援控制器 + */ +@Controller +@RequestMapping("/casesInfo") +public class CasesAction { + + private final static String timeFormat = "yyyy/MM/dd"; + + @Resource(name = "casesListServiceImpl") + CasesListService casesListService; + + /* + * 跳转救援工单页面 + * */ + @RequestMapping(value = "/case.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public String JumpTocaseInfo(HttpServletRequest request, HttpServletResponse response) { + //获取参数 + String state = request.getParameter("state"); + //共享数据 + request.setAttribute("state", state); + if("0".equals(state)){ + return "/page/caseInfo"; + }else { + return "/page/sue"; + } + } + + /* + * 跳转进店工单页面 + * */ + @RequestMapping(value = "/caseEnter.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public String caseEnter(HttpServletRequest request, HttpServletResponse response) { + //获取登录信息 + LoginUserVo loginInfo=(LoginUserVo)request.getSession().getAttribute("logininfo"); + //获取参数 + String state = request.getParameter("state"); + //共享数据 + request.setAttribute("state", state); + return "/page/caseInfoEnter"; + } + + /* + * 获取道路救援案件信息 + * */ + @RequestMapping(value = "/caseFirstQuery.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public void caseInfoList(HttpServletRequest request, HttpServletResponse response) { + //获取参数 + String caseCode = request.getParameter("caseCode");// 案件编号 + String frame_code = request.getParameter("frame_code");// VIN码 + String rescueState = request.getParameter("rescueState");// 服务状态 + String createTime = request.getParameter("createTime");//开始时间 + String finishTime = request.getParameter("finishTime");//结束时间 + String companyName = request.getParameter("companyName");//服务商代码 + String state = request.getParameter("state");//服务商代码 + String plateNumber = request.getParameter("plateNumber");//服务商代码 + //获取救援信息 + Vo vo = casesListService.casesListService(state,request,caseCode, + frame_code, rescueState,createTime, finishTime, companyName,plateNumber); + //将救援信息响应到客户端 + RequestUtil.responseResult4Json(response, RequestUtil.ObjecttoJsonString(vo)); + } + + /* + * 获取进店救援案件信息 + * */ + @RequestMapping(value = "/caseEnterQuery.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public void caseEnterQuery(HttpServletRequest request, HttpServletResponse response) { + //获取参数 + String caseCode = request.getParameter("caseCode");// 案件编号 + String frame_code = request.getParameter("frame_code");// VIN码 + String createTime = request.getParameter("createTime");//开始时间 + String finishTime = request.getParameter("finishTime");//结束时间 + String state = request.getParameter("state");//结束时间 + //获取进店救援案件信息 + Vo vo = casesListService.caseEnterQuery(state,request,caseCode, + frame_code,createTime, finishTime); + //将救援信息响应到客户端 + RequestUtil.responseResult4Json(response, RequestUtil.ObjecttoJsonString(vo)); + } + + /* + * 救援案件详情信息 + * */ + @RequestMapping(value = "/caseEnterInfo.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public String caseEnterInfo(HttpServletRequest request, HttpServletResponse response) { + //获取参数 + String caseCode = request.getParameter("code");// 案件编号 + String tid = request.getParameter("tid");//任务编号 + String state = request.getParameter("state");//任务编号 + //获取进店救援案件详情信息 + Vo vo = casesListService.caseEnterInfo(request,caseCode,tid); + //共享数据 + request.setAttribute("info",vo); + request.setAttribute("state",state); + //跳转页面 + return "/page/caseDetail"; + } + + /* + * 故障零件三级检索 + * */ + @RequestMapping(value = "/getTroubleCode.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public void getTroubleCode(HttpServletRequest request, HttpServletResponse response) throws Exception { + JSONObject jsonObject = casesListService.getTroubleCode(request); + RequestUtil.responseResult4Json(response, jsonObject.toString()); + } + + /* + * 案件详细信息保存 + * */ + @RequestMapping(value = "/caseDetailSave.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public void caseDetailSave(HttpServletRequest request, HttpServletResponse response) throws Exception { + JSONObject jsonObject = casesListService.caseDetailSave(request); + RequestUtil.responseResult4Json(response, jsonObject.toString()); + } + + /* + *导出数据EXCEl格式 + * */ + @RequestMapping(value = "/exportData.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public void exportData(HttpServletRequest request, HttpServletResponse response) throws Exception { + JSONObject jsonObject = casesListService.exportData(request); + RequestUtil.responseResult4Json(response, jsonObject.toString()); + } + + /* + *导出数据CSV + * */ + @RequestMapping(value = "/exportDataCSV.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public void exportDataCSV(HttpServletRequest request, HttpServletResponse response) throws Exception { + JSONObject jsonObject = casesListService.exportCSVData(request, response); + RequestUtil.responseResult4Json(response, jsonObject.toString()); + } + + /* + * 救援完成确认 + * */ + @RequestMapping(value = "/completionOfRescue.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public void completionOfRescue(HttpServletRequest request, HttpServletResponse response) throws Exception { + //获取参数 + String code = request.getParameter("code"); + //获取救援详情信息 + JSON jsonObject = casesListService.completionOfRescue(code); + //将json数据响应到客户端 + RequestUtil.responseResult4Json(response, RequestUtil.ObjecttoJsonString(jsonObject)); + } +} diff --git a/src/main/java/com/zhongdao/jlr/business/action/CouponAction.java b/src/main/java/com/zhongdao/jlr/business/action/CouponAction.java new file mode 100644 index 0000000..9bdfc4c --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/action/CouponAction.java @@ -0,0 +1,299 @@ + +package com.zhongdao.jlr.business.action; + + +import com.util.RequestUtil; +import com.util.UtilTools; +import com.util.Vo; +import com.zhongdao.jlr.business.service.CouponService; +import com.zhongdao.jlr.business.vo.LoginUserVo; +import org.apache.http.util.TextUtils; +import org.json.JSONObject; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.HashMap; +import java.util.Map; + + +/** + * 代金劵控制器 + */ +@Controller +@RequestMapping("/coupon") +public class CouponAction { + + @Resource(name = "couponServiceImpl") + CouponService baseService; + + /** + * 账户查询页面 + */ + @RequestMapping(value = "/coupon_history.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, RequestMethod.POST}) + public String couponHistory(HttpServletRequest request, HttpServletResponse response) { + return "/page/coupon_consume_history"; + } + + /** + * 代金劵搜索 + */ + @RequestMapping(value = "/search_consume.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, RequestMethod.POST}) + public void searchConsume(HttpServletRequest request, HttpServletResponse response) { + //获取参数 + String vinCode = request.getParameter("vinCode"); + String userPhone = request.getParameter("userPhone"); + String electronicAccounts = request.getParameter("electronicAccounts"); + //查询代金券数据 + Vo list = baseService.searchConsume(vinCode, electronicAccounts,userPhone, UtilTools.getPage(request), UtilTools.getRows(request)); + //将数据响应到客户端 + RequestUtil.responseResult4Json(response, RequestUtil.ObjecttoJsonString(list)); + } + + /** + * 获取个人代金券消费记录 + */ + + @RequestMapping(value = "/get_coupon_consume.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, RequestMethod.POST}) + public void getCouponConsume(HttpServletRequest request, HttpServletResponse response) { + //获取参数 + String vin = request.getParameter("vinCode"); + if (!TextUtils.isEmpty(vin)) { + //获取个人代金券消费信息 + Vo vo = baseService.getCouponConsume(vin, UtilTools.getPage(request), UtilTools.getRows(request)); + //将数据响应到客户端 + RequestUtil.responseResult4Json(response, RequestUtil.ObjecttoJsonString(vo)); + + } else { + RequestUtil.responseResult4JsonError(response, "参数为空"); + ; + } + + } + + /** + * 获取个人充值记录 + */ + @RequestMapping(value = "/get_coupon_recharge.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, RequestMethod.POST}) + public void getCouponRecharge(HttpServletRequest request, HttpServletResponse response) { + //获取参数 + String vin = request.getParameter("vinCode"); + if (!TextUtils.isEmpty(vin)) { + //获取用户充值记录 + Vo vo = baseService.getCouponRecharge(vin, UtilTools.getPage(request), UtilTools.getRows(request)); + //将用户充值记录信息发送到客户端 + RequestUtil.responseResult4Json(response, RequestUtil.ObjecttoJsonString(vo)); + } else { + RequestUtil.responseResult4JsonError(response, "参数为空"); + ; + } + + } + + /** + * 消费记录查询、处理页面 + */ + @RequestMapping(value = "/consume_query.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET}) + public String couponConsumeQuery(HttpServletRequest request, HttpServletResponse response) { + //获取参数 + String state = request.getParameter("state"); + //共享数据 + request.setAttribute("state",state); + return "/page/coupon_consume_query"; + } + + /** + * 消费记录查询、处理页面 + */ + @RequestMapping(value = "/consume_querys.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.POST}) + public void getConsumeQuery(@RequestParam(value = "vininput", required = false, defaultValue = "") String vin, + @RequestParam(value = "electronicAccounts", required = false, defaultValue = "") String account, + @RequestParam(value = "license", required = false, defaultValue = "") String license, + @RequestParam(value = "phone", required = false, defaultValue = "") String phone, + @RequestParam(value = "rescueCompanyName", required = false, defaultValue = "") String rescueCompanyName, + @RequestParam(value = "queryDate1", required = false, defaultValue = "") String queryDate1, + @RequestParam(value = "queryDate2", required = false, defaultValue = "") String queryDate2, + @RequestParam(value = "checkState", required = false, defaultValue = "") String checkState, + HttpServletRequest request, HttpServletResponse response) { + //获取session信息 + LoginUserVo logininfo = (LoginUserVo) request.getSession().getAttribute("logininfo"); + String rescueCompanyCode = ""; + if (logininfo.getEnterpriseJlrId() != null) rescueCompanyCode = logininfo.getEnterpriseJlrId().toString(); + //查询用户消费记录信息并发送到客户端 + Vo vo = baseService.queryCouponConsume(vin, account, rescueCompanyName, rescueCompanyCode, license, phone, checkState, queryDate1, queryDate2, UtilTools.getPage(request), UtilTools.getRows(request)); + RequestUtil.responseResult4Json(response, RequestUtil.ObjecttoJsonString(vo)); + } + + /** + * 导出消费记录报表 + */ + @RequestMapping(value = "/exportData.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, RequestMethod.POST} + ) + public void exportData(@RequestParam(value = "vininput", required = false, defaultValue = "") String vin, + @RequestParam(value = "electronicAccounts", required = false, defaultValue = "") String account, + @RequestParam(value = "license", required = false, defaultValue = "") String license, + @RequestParam(value = "phone", required = false, defaultValue = "") String phone, + @RequestParam(value = "rescueCompanyName", required = false, defaultValue = "") String rescueCompanyName, + @RequestParam(value = "queryDate1", required = false, defaultValue = "") String queryDate1, + @RequestParam(value = "queryDate2", required = false, defaultValue = "") String queryDate2, + @RequestParam(value = "checkState", required = false, defaultValue = "") String checkState, HttpServletRequest request, HttpServletResponse response) { + JSONObject jsonObject = null; + //获取session数据 + LoginUserVo logininfo = (LoginUserVo) request.getSession().getAttribute("logininfo"); + try { + String rescueCompanyCode = ""; + //获取导出的报表信息 + if (logininfo.getEnterpriseJlrId() != null) rescueCompanyCode = logininfo.getEnterpriseJlrId().toString(); + jsonObject = baseService.exportData(request, vin, account, rescueCompanyName, rescueCompanyCode, license, phone, checkState, queryDate1, queryDate2); + } catch (Exception e) { + e.printStackTrace(); + } + //将报表信息响应到客户端 + RequestUtil.responseResult4Json(response, jsonObject.toString()); + } + + /** + * 消费记录查询、处理页面 + */ + @RequestMapping(value = "/consume_update.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.POST}) + public void updateConsumeState(@RequestParam(value = "ids", required = false, defaultValue = "") String ids, + @RequestParam(value = "state", required = false, defaultValue = "") String state, + HttpServletRequest request, HttpServletResponse response) { + //修改消费记录的状态 + Boolean b = baseService.updateConsumeState(ids, state); + //将修改记录的状态响应到客户端 + RequestUtil.responseResult4Json(response, RequestUtil.ObjecttoJsonString(b)); + } + + /** + * 代金卷账户密码短信发送 + */ + @RequestMapping(value = "/sendMsg.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public void sendMsg(HttpServletRequest request, HttpServletResponse response) { + String phoneNum = request.getParameter("phoneNum"); + String msgContent = request.getParameter("msgContent"); + phoneNum = phoneNum == null ? "" : phoneNum; + msgContent = msgContent == null ? "" : msgContent; + boolean sign = baseService.sendMsg(phoneNum, msgContent); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("sign", sign); + RequestUtil.responseResult4Json(response, jsonObject.toString()); + } + + /** + * 充值记录查询页面 + */ + @RequestMapping(value = "/recharge_query.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET}) + public String couponRechargeQuery(HttpServletRequest request, HttpServletResponse response) { + return "/page/coupon_recharge_query"; + } + + /** + * 充值记录查询、处理页面 + */ + @RequestMapping(value = "/recharges_query.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.POST}) + public void getRechargeQuery(@RequestParam(value = "vininput", required = false, defaultValue = "") String vin, + @RequestParam(value = "electronicAccounts", required = false, defaultValue = "") String account, + @RequestParam(value = "license", required = false, defaultValue = "") String license, + @RequestParam(value = "phone", required = false, defaultValue = "") String phone, + @RequestParam(value = "orderCode", required = false, defaultValue = "") String orderCode, + @RequestParam(value = "queryDate1", required = false, defaultValue = "") String queryDate1, + @RequestParam(value = "queryDate2", required = false, defaultValue = "") String queryDate2, + HttpServletRequest request, HttpServletResponse response) { + Vo vo = baseService.queryCouponRecharge(vin, account, orderCode, license, phone, queryDate1, queryDate2, UtilTools.getPage(request), UtilTools.getRows(request)); + RequestUtil.responseResult4Json(response, RequestUtil.ObjecttoJsonString(vo)); + } + + /** + * 导出充值记录报表 + */ + @RequestMapping(value = "/rechangeExportData.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public void rechangeExportData(@RequestParam(value = "vininput", required = false, defaultValue = "") String vin, + @RequestParam(value = "electronicAccounts", required = false, defaultValue = "") String account, + @RequestParam(value = "phone", required = false, defaultValue = "") String phone, + @RequestParam(value = "orderCode", required = false, defaultValue = "") String orderCode, + @RequestParam(value = "queryDate1", required = false, defaultValue = "") String queryDate1, + @RequestParam(value = "queryDate2", required = false, defaultValue = "") String queryDate2, + HttpServletRequest request, HttpServletResponse response) { + JSONObject jsonObject = null; + try { + //获取充值记录的报表信息 + jsonObject = baseService.rechangeExportData(request, vin, account, orderCode, phone, queryDate1, queryDate2); + } catch (Exception e) { + e.printStackTrace(); + } + //将报表信息响应到客户端 + RequestUtil.responseResult4Json(response, jsonObject.toString()); + } + + /** + * 代金劵消费页面 + */ + @RequestMapping(value = "/coupon_consume.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, RequestMethod.POST}) + public String couponConsume(HttpServletRequest request, HttpServletResponse response) { + return "/page/coupon_consume"; + } + + /** + * 获取个人账户信息 + */ + @RequestMapping(value = "/get_coupon.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, RequestMethod.POST}) + public void getCoupon(HttpServletRequest request, HttpServletResponse response) { + String vin = request.getParameter("vin"); + String electronicAccounts = request.getParameter("electronicAccounts"); + + if (!TextUtils.isEmpty(vin) || !TextUtils.isEmpty(electronicAccounts)) { + Vo list = baseService.getCoupon(vin, electronicAccounts, UtilTools.getPage(request), UtilTools.getRows(request)); + + RequestUtil.responseResult4Json(response, RequestUtil.ObjecttoJsonString(list)); + } else { + RequestUtil.responseResult4JsonError(response, "参数为空"); + } + } + + /** + * 代金劵消费 + */ + @RequestMapping(value = "/consume.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, RequestMethod.POST}) + public void consume(HttpServletRequest request, HttpServletResponse response) { + //声明一个map集合,用来存储返回的结果集 + Map result = new HashMap(); + result.put("flag", "0"); + result.put("msg", "消费失败"); + //获取参数 + String vinCode = request.getParameter("vinCode"); + String consumeCount = request.getParameter("consumeCount"); + String remark = request.getParameter("remark"); + String epassword = request.getParameter("epassword"); + String consumeTime = request.getParameter("consumeTime"); + String reparieInfo = request.getParameter("reparieInfo"); + String hitchInfo = request.getParameter("hitchInfo"); + //获取用户信息 + LoginUserVo loginuser = (LoginUserVo) request.getSession().getAttribute("logininfo"); + //若用户为空则返回错误信息 + if (loginuser == null) { + result.put("msg", "没有登录"); + RequestUtil.responseResult4Json(response, RequestUtil.ObjecttoJsonString(result)); + return; + } + if (!TextUtils.isEmpty(consumeTime) && !TextUtils.isEmpty(vinCode) && !TextUtils.isEmpty(consumeCount) && !TextUtils.isEmpty(epassword)) { + Map back = baseService.consume(consumeTime, vinCode, Double.valueOf(consumeCount), Integer.valueOf(loginuser.getEnterpriseJlrId()), reparieInfo, hitchInfo, remark, epassword); + if ((boolean) back.get("status")) { + result.put("flag", "1"); + result.put("msg", "消费成功"); + } else { + result.put("msg", back.get("msg").toString()); + } + } else { + + result.put("msg", "参数为空"); + } + RequestUtil.responseResult4Json(response, RequestUtil.ObjecttoJsonString(result)); + } +} diff --git a/src/main/java/com/zhongdao/jlr/business/action/EnterpriseAction.java b/src/main/java/com/zhongdao/jlr/business/action/EnterpriseAction.java new file mode 100644 index 0000000..98cbbaf --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/action/EnterpriseAction.java @@ -0,0 +1,323 @@ +package com.zhongdao.jlr.business.action; + +import com.util.RequestUtil; +import com.util.UtilTools; +import com.util.Vo; +import com.zhongdao.jlr.business.service.EnterpriseService; +import com.zhongdao.jlr.business.vo.LoginUserVo; +import com.zhongdao.jlr.pojo.EnterpriseJlr; +import org.apache.http.util.TextUtils; +import org.json.JSONObject; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; + +/*** + * 经销商维护控制器 + */ +@Controller +@RequestMapping("/enterprise") +public class EnterpriseAction { + + @Resource(name = "enterpriseServiceImpl") + EnterpriseService baseService; + + /** + * 经销商维护列表页面 + */ + @RequestMapping(value = "/enterprise.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public String enterprise(HttpServletRequest request, HttpServletResponse response) { + return "/page/enterprise"; + } + + /** + * 经销商维护搜索 + */ + @RequestMapping(value = "/search_enterprise.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public void searchEnterprise(HttpServletRequest request, HttpServletResponse response) { + //获取参数 + String name = request.getParameter("name"); + String abbrCode = request.getParameter("abbrCode"); + //获取经销商信息 + Vo list = baseService.searchEnterprise(name, abbrCode, UtilTools.getPage(request), UtilTools + .getRows(request)); + //将数据响应到客户端 + RequestUtil.responseResult4Json(response, RequestUtil.ObjecttoJsonString(list)); + } + + /** + * 根据编号删除经销商信息 + */ + @RequestMapping(value = "/delete_by_id.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public void deleteById(HttpServletRequest request, HttpServletResponse response) { + //声明一个map对象用于存放响应到客户端的数据 + Map result = new HashMap(); + result.put("flag", "0"); + result.put("msg", "执行失败"); + //获取参数 + String id = request.getParameter("id"); + + if (!TextUtils.isEmpty(id)) { + //根据编号删除经销商信息 + boolean back = baseService.deleteById(id); + if (back) { + result.put("flag", "1"); + result.put("msg", "执行成功"); + } + } else { + + result.put("msg", "参数为空"); + } + //将数据信息响应到客户端 + RequestUtil.responseResult4Json(response, RequestUtil.ObjecttoJsonString(result)); + + } + + + /** + * 经销商信息修改 + */ + @RequestMapping(value = "/put_enterprise.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public void putMyEnterprise(HttpServletRequest request, HttpServletResponse response, @ModelAttribute EnterpriseJlr + enterprise) throws Exception { + //声明一个map集合,存储返回的结果信息 + Map result = new HashMap(); + result.put("flag", "0"); + result.put("msg", "执行失败"); + //获取参数 + String name = request.getParameter("name"); + String abbrCode = request.getParameter("abbr_code"); + String brands = request.getParameter("brands"); + String contact = request.getParameter("contact"); + String phone1 = request.getParameter("phone1"); + String job1 = request.getParameter("job1"); + String newPassword = request.getParameter("newPassword"); + String confirmPassword = request.getParameter("confirmPassword"); + String contact2 = request.getParameter("contact2"); + String phone2 = request.getParameter("phone2"); + String job2 = request.getParameter("job2"); + String contact3 = request.getParameter("contact3"); + String phone3 = request.getParameter("phone3"); + String job3 = request.getParameter("job3"); + //遍历服务资质信息并将其拼接 + String[] serviceQualifications = request.getParameterValues("service_qualification"); + StringBuffer serviceQualification=new StringBuffer(); + for(String service:serviceQualifications){ + serviceQualification.append(service); + serviceQualification.append(","); + } + String serviceQualificationer=serviceQualification.subSequence(0,serviceQualification.lastIndexOf(",")).toString(); + String address = request.getParameter("address"); + String vinCode = request.getParameter("vin_code"); + String carType = request.getParameter("car_type"); + String firstSellDate = request.getParameter("first_sale_date"); + String lon = request.getParameter("lon"); + String lat = request.getParameter("lat"); + String id = request.getParameter("id"); + // 防止数据累加 + if (enterprise != null) { + enterprise.setName(name); + enterprise.setAbbr_code(abbrCode); + enterprise.setBrands(brands); + enterprise.setContact(contact); + enterprise.setPhone1(phone1); + enterprise.setJob1(job1); + enterprise.setContact2(contact2); + enterprise.setPhone2(phone2); + enterprise.setJob2(job2); + enterprise.setContact3(contact3); + enterprise.setPhone3(phone3); + enterprise.setJob3(job3); + enterprise.setAddress(address); + enterprise.setVin_code(vinCode); + enterprise.setCar_type(carType); + enterprise.setFirst_sale_date(firstSellDate); + enterprise.setLon(lon); + enterprise.setLat(lat); + enterprise.setService_qualification(serviceQualificationer); + //如果id不为空则判断此操作为更改 + if(!TextUtils.isEmpty(id)){ + //根据id获取经销商信息 + EnterpriseJlr back = baseService.getById(id); + //获取创建时间并放入enterprise对象中 + enterprise.setCreate_time(back.getCreate_time()); + } + } + if (!TextUtils.isEmpty(name) && !TextUtils.isEmpty(brands) && !TextUtils.isEmpty(abbrCode)) { + //添加或更改经销商信息 + boolean back = baseService.putEnterprise(enterprise, newPassword, confirmPassword,null); + if (back) { + result.put("flag", "1"); + result.put("msg", "执行成功"); + } + } else { + result.put("msg", "参数为空"); + } + //将数据响应到客户端 + RequestUtil.responseResult4Json(response, RequestUtil.ObjecttoJsonString(result)); + + } + + /** + * 经销商个人信息修改 + */ + @RequestMapping(value = "/put_Myenterprise.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public void put_Myenterprise(HttpServletRequest request, HttpServletResponse response, @ModelAttribute EnterpriseJlr + enterprise) throws Exception { + //声明一个map集合,存储返回的结果信息 + Map result = new HashMap(); + result.put("flag", "0"); + result.put("msg", "执行失败"); + //获取参数 + String name = request.getParameter("name"); + String abbrCode = request.getParameter("abbr_code"); + String brands = request.getParameter("brands"); + String contact = request.getParameter("contact"); + String phone1 = request.getParameter("phone1"); + String job1 = request.getParameter("job1"); + String newPassword = request.getParameter("newPassword"); + String confirmPassword = request.getParameter("confirmPassword"); + String contact2 = request.getParameter("contact2"); + String phone2 = request.getParameter("phone2"); + String job2 = request.getParameter("job2"); + String contact3 = request.getParameter("contact3"); + String phone3 = request.getParameter("phone3"); + String job3 = request.getParameter("job3"); + String address = request.getParameter("address"); + String vinCode = request.getParameter("vin_code"); + String carType = request.getParameter("car_type"); + String firstSellDate = request.getParameter("first_sale_date"); + String lon = request.getParameter("lon"); + String lat = request.getParameter("lat"); + // 防止数据累加 + if (enterprise != null) { + enterprise.setName(name); + enterprise.setAbbr_code(abbrCode); + enterprise.setBrands(brands); + enterprise.setContact(contact); + enterprise.setPhone1(phone1); + enterprise.setJob1(job1); + enterprise.setContact2(contact2); + enterprise.setPhone2(phone2); + enterprise.setJob2(job2); + enterprise.setContact3(contact3); + enterprise.setPhone3(phone3); + enterprise.setJob3(job3); + enterprise.setAddress(address); + enterprise.setVin_code(vinCode); + enterprise.setCar_type(carType); + enterprise.setFirst_sale_date(firstSellDate); + enterprise.setLon(lon); + enterprise.setLat(lat); + } + //获取session数据 + LoginUserVo logininfo=(LoginUserVo)request.getSession().getAttribute("logininfo"); + String enpterpriseId=String.valueOf(logininfo.getEnterpriseJlrId()); + //根据id获取经销商信息 + EnterpriseJlr back = baseService.getById(enpterpriseId); + enterprise.setId(logininfo.getEnterpriseJlrId()); + enterprise.setService_qualification(back.getService_qualification()); + //获取创建时间并放入enterprise对象中 + enterprise.setCreate_time(back.getCreate_time()); + if (!TextUtils.isEmpty(name) && !TextUtils.isEmpty(brands) && !TextUtils.isEmpty(abbrCode)) { + //更改个人经销商信息 + boolean backs = baseService.putEnterprise(enterprise, newPassword, confirmPassword,String.valueOf(logininfo.getId())); + if (backs) { + result.put("flag", "1"); + result.put("msg", "执行成功"); + } + } else { + result.put("msg", "参数为空"); + } + //将数据响应到客户端 + RequestUtil.responseResult4Json(response, RequestUtil.ObjecttoJsonString(result)); + } + + /** + * 根据id查询经销商 + */ + @RequestMapping(value = "/get_by_id.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public void getById(HttpServletRequest request, HttpServletResponse response) { + //声明一个map集合,存储返回的结果信息 + Map result = new HashMap(); + result.put("flag", "0"); + result.put("msg", "执行失败"); + String id = request.getParameter("id"); + if (!TextUtils.isEmpty(id)) { + //根据id获取经销商信息 + EnterpriseJlr back = baseService.getById(id); + if (back != null) { + result.put("flag", "1"); + result.put("msg", "执行成功"); + result.put("data", back); + } + } else { + + result.put("msg", "参数为空"); + } + //将结果信息响应到客户端 + RequestUtil.responseResult4Json(response, RequestUtil.ObjecttoJsonString(result)); + + } + + /** + * 查询自己的经销商信息 + */ + @RequestMapping(value = "/get_my_info.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public void getMyInfo(HttpServletRequest request, HttpServletResponse response) { + Map result = new HashMap(); + result.put("flag", "0"); + result.put("msg", "执行失败"); + LoginUserVo loginuser = (LoginUserVo) request.getSession().getAttribute("logininfo"); + String id = loginuser.getEnterpriseJlrId() + ""; + if (!TextUtils.isEmpty(id)) { + EnterpriseJlr back = baseService.getById(id); + if (back != null) { + result.put("flag", "1"); + result.put("msg", "执行成功"); + result.put("data", back); + }else { + result.put("flag", "0"); + result.put("msg", "暂无经销商信息"); + } + } else { + + result.put("msg", "参数为空"); + } + RequestUtil.responseResult4Json(response, RequestUtil.ObjecttoJsonString(result)); + + } + + /** + * 导出报表 + */ + @RequestMapping(value = "/exportData.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public void exportData(HttpServletRequest request, HttpServletResponse response) { + //获取参数 + String name = request.getParameter("name"); + String abbrCode = request.getParameter("abbrCode"); + //获取经销商信息 + JSONObject jsonObject = baseService.expordata(request, name, abbrCode); + //将结果信息响应到客户端 + RequestUtil.responseResult4Json(response, jsonObject.toString()); + + } + +} + diff --git a/src/main/java/com/zhongdao/jlr/business/action/OrderCheckAction.java b/src/main/java/com/zhongdao/jlr/business/action/OrderCheckAction.java new file mode 100644 index 0000000..dc4acb2 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/action/OrderCheckAction.java @@ -0,0 +1,129 @@ +package com.zhongdao.jlr.business.action; + +import com.util.RequestUtil; +import com.util.UtilTools; +import com.util.Vo; +import com.zhongdao.jlr.business.service.OrderCheckService; +import net.sf.json.JSONObject; +import org.apache.commons.lang.StringUtils; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.HashMap; +import java.util.Map; + + +/**** + * 服务结算控制器 + */ + +@Controller +@RequestMapping("/orderCheck") +public class OrderCheckAction { + + @Resource(name = "orderCheckServiceImpl") + OrderCheckService serviceImpl; + + /** + * 跳转到中道服务核对界面 + */ + @RequestMapping(value = "/list.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, RequestMethod.POST}) + public String list(HttpServletRequest request, HttpServletResponse response) { + String state = request.getParameter("state"); + return "/page/orderCheck"; + } + + /** + * 跳转到中道服务结算界面 + */ + @RequestMapping(value = "/settle.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, RequestMethod.POST}) + public String settle(HttpServletRequest request, HttpServletResponse response) { + //获取参数 + String state = request.getParameter("state"); + //共享数据 + request.setAttribute("state",state); + return "/page/orderCheckAll"; + } + + /** + * 查询服务费用核对信息 + */ + @RequestMapping(value = "/query.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, RequestMethod.POST}) + public void query(HttpServletRequest request, HttpServletResponse response) { + //获取参数 + String orderCode = request.getParameter("orderCode"); + String queryDate1 = request.getParameter("queryDate1"); + String queryDate2 = request.getParameter("queryDate2"); + String rescueCompanyName = request.getParameter("rescueCompanyName"); + String checkState = request.getParameter("checkState"); + //获取工单服务费用信息 + Vo vo = serviceImpl.list(request, UtilTools.getPage(request), UtilTools.getRows(request),orderCode, queryDate1, rescueCompanyName, queryDate2, checkState); + //RequestUtil.responseResult4Json(response, "1"); + RequestUtil.responseResult4Json(response, RequestUtil.ObjecttoJsonString(vo)); + } + + /** + * 查询工单费用信息 + */ + @RequestMapping(value = "/querys.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, RequestMethod.POST}) + public void querys(HttpServletRequest request, HttpServletResponse response) { + //获取参数 + String code = request.getParameter("code"); + String orderCode = request.getParameter("orderCode"); + String queryDate1 = request.getParameter("queryDate1"); + String queryDate2 = request.getParameter("queryDate2"); + String rescueCompanyName = request.getParameter("rescueCompanyName"); + String checkState = request.getParameter("checkState"); + String state = request.getParameter("state"); + //获取工单服务费用信息 + Vo vo = serviceImpl.lists(request, UtilTools.getPage(request), UtilTools.getRows(request), code, orderCode, queryDate1, rescueCompanyName, queryDate2, checkState,state); + //RequestUtil.responseResult4Json(response, "1"); + RequestUtil.responseResult4Json(response, RequestUtil.ObjecttoJsonString(vo)); + } + + /*** + * 导出 + * @param request + * @param response + */ + @RequestMapping(value = "/exportData.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.POST}) + public void exportData(HttpServletRequest request, HttpServletResponse response) { + //获取参数 + String code = request.getParameter("code"); + String orderCode = request.getParameter("orderCode"); + String queryDate1 = request.getParameter("queryDate1"); + String queryDate2 = request.getParameter("queryDate2"); + String rescueCompanyName = request.getParameter("rescueCompanyName"); + String checkState = request.getParameter("checkState"); + JSONObject jsonObject = serviceImpl.exportData(request, code, orderCode, queryDate1, rescueCompanyName, queryDate2, checkState); + RequestUtil.responseResult4Json(response, jsonObject.toString()); + } + + /*** + * 保存核对后信息 + * @param request + * @param response + */ + @RequestMapping(value = "/save.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, RequestMethod.POST}) + public void save(HttpServletRequest request, HttpServletResponse response) { + //获取参数 + String uid = request.getParameter("uid"); + String totalFee = request.getParameter("totalFee"); + Map result = new HashMap(); + result.put("flag", "0"); + if (StringUtils.isNotBlank(totalFee) && StringUtils.isNotBlank(uid)) { + boolean state=serviceImpl.updateInfo(uid,totalFee); + if(state){ + result.put("flag","1"); + } + }else{ + result.put("msg","参数为空"); + } + RequestUtil.responseResult4Json(response,RequestUtil.ObjecttoJsonString(result)); + } + +} diff --git a/src/main/java/com/zhongdao/jlr/business/action/RoleAction.java b/src/main/java/com/zhongdao/jlr/business/action/RoleAction.java new file mode 100644 index 0000000..df19c2e --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/action/RoleAction.java @@ -0,0 +1,177 @@ +package com.zhongdao.jlr.business.action; + +import com.util.RequestUtil; +import com.util.Vo; +import com.zhongdao.jlr.business.service.RoleService; +import com.zhongdao.jlr.business.vo.JLRMenu; +import com.zhongdao.jlr.pojo.BaseMenu; +import com.zhongdao.jlr.pojo.JLRRole; +import org.apache.http.util.TextUtils; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/*** + * 角色控制器 + */ +@Controller +@RequestMapping("/role") +public class RoleAction { + + @Resource(name = "roleServiceImpl") + RoleService service; + + /*** + * 跳转角色管理界面 + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/role.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public String JumpTocaseInfo(HttpServletRequest request, HttpServletResponse response) { + return "/page/role"; + } + + /*** + * 获取角色信息 + * @param request + * @param response + */ + @RequestMapping(value = "/getRole.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public void caseInfoList(HttpServletRequest request, HttpServletResponse response) { + //获取参数 + String name = request.getParameter("name");// 案件编号 + //获取用户信息 + Vo vo = service.getRoleInfo(request, name); + //将用户信息响应到客户端 + RequestUtil.responseResult4Json(response, RequestUtil.ObjecttoJsonString(vo)); + } + + /*** + * 获取tree数据 + * @param request + * @param response + */ + @RequestMapping(value = "/getTree.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public void getTreeInfo(HttpServletRequest request, HttpServletResponse response) { + //获取用户信息 + List vo = service.getTreeInfo(); + //将用户信息响应到客户端 + RequestUtil.responseResult4Json(response, RequestUtil.ListtoJsonString(vo)); + } + + /** + * 添加角色信息 + */ + @RequestMapping(value = "/insertRole.do", produces = "application/json;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + @ResponseBody + public Map putMyEnterprise(HttpServletRequest request, HttpServletResponse response, JLRRole jlrRole, int[] ids) throws Exception { + //声明一个map集合,存储返回的结果信息 + Map result = new HashMap(); + result.put("flag", "0"); + result.put("msg", "执行失败"); + if (jlrRole != null) { + //添加或更改用户信息 + boolean back = service.updateRoleInfo(jlrRole, ids); + if (back) { + result.put("flag", "1"); + result.put("msg", "执行成功"); + } + } else { + result.put("msg", "参数为空"); + } + //将数据响应到客户端 + return result; + } + + /** + * 根据id查询角色信息 + */ + @RequestMapping(value = "/getRoleInfo.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public void getById(HttpServletRequest request, HttpServletResponse response) { + //声明一个map集合,存储返回的结果信息 + Map result = new HashMap(); + result.put("flag", "0"); + result.put("msg", "执行失败"); + String id = request.getParameter("id"); + if (!TextUtils.isEmpty(id)) { + //根据id获取角色信息 + JLRRole back = service.getRole(id); + if (back != null) { + result.put("flag", "1"); + result.put("msg", "执行成功"); + result.put("data", back); + } + } else { + result.put("msg", "参数为空"); + } + //将结果信息响应到客户端 + RequestUtil.responseResult4Json(response, RequestUtil.ObjecttoJsonString(result)); + } + + /** + * 根据id查询菜单信息 + */ + @RequestMapping(value = "/getMenuInfo.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public void getMenu(HttpServletRequest request, HttpServletResponse response) { + //声明一个map集合,存储返回的结果信息 + Map result = new HashMap(); + result.put("flag", "0"); + result.put("msg", "执行失败"); + String id = request.getParameter("id"); + if (!TextUtils.isEmpty(id)) { + //根据id获取角色信息 + List back = service.getMenu(id); + if (back != null) { + result.put("flag", "1"); + result.put("msg", "执行成功"); + result.put("data", back); + } + } else { + result.put("msg", "参数为空"); + } + //将结果信息响应到客户端 + RequestUtil.responseResult4Json(response, RequestUtil.ObjecttoJsonString(result)); + } + + /** + * 根据编号删除角色信息 + */ + @RequestMapping(value = "/deleteRole.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public void deleteById(HttpServletRequest request, HttpServletResponse response) { + //声明一个map对象用于存放响应到客户端的数据 + Map result = new HashMap(); + result.put("flag", "0"); + result.put("msg", "执行失败"); + //获取参数 + String id = request.getParameter("id"); + String name = request.getParameter("name"); + if (!TextUtils.isEmpty(id) && !TextUtils.isEmpty(name)) { + boolean back = service.deleteRole(id,name); + if (back) { + result.put("flag", "1"); + result.put("msg", "执行成功"); + } + } else { + result.put("msg", "参数为空"); + } + //将数据信息响应到客户端 + RequestUtil.responseResult4Json(response, RequestUtil.ObjecttoJsonString(result)); + + } +} \ No newline at end of file diff --git a/src/main/java/com/zhongdao/jlr/business/action/SupplierAction.java b/src/main/java/com/zhongdao/jlr/business/action/SupplierAction.java new file mode 100644 index 0000000..a22af65 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/action/SupplierAction.java @@ -0,0 +1,332 @@ +package com.zhongdao.jlr.business.action; + +import com.util.RequestUtil; +import com.util.Vo; +import com.zhongdao.jlr.business.service.SupplierService; +import com.zhongdao.jlr.business.service.UserInfoService; +import com.zhongdao.jlr.business.vo.Contract; +import com.zhongdao.jlr.business.vo.Destination; +import com.zhongdao.jlr.business.vo.Enterprise; +import com.zhongdao.jlr.pojo.JLRRole; +import com.zhongdao.jlr.pojo.JLRUserContract; +import org.apache.http.util.TextUtils; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Controller +@RequestMapping("/supplier") +public class SupplierAction { + + @Resource(name = "userInfoService") + UserInfoService service; + + @Resource(name = "supplierServiceImpl") + SupplierService serviceImpl; + + /*** + * 获取用户信息,跳转数据权限管理页面 + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/supplier.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public String JumpTocaseInfo(HttpServletRequest request, HttpServletResponse response) { + //获取角色信息 + List baseRoles=service.getRoleInfo(); + //共享数据 + request.setAttribute("roles",baseRoles); + return "/page/supplier"; + } + + /*** + * 获取合同信息 + * @param request + * @param response + */ + @RequestMapping(value = "/getContractInfo.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public void caseInfoList(HttpServletRequest request, HttpServletResponse response) { + //获取参数 + String name = request.getParameter("name");// 合同名称 + String id = request.getParameter("id");// 用户id + //获取合同信息 + Vo vo = serviceImpl.getContractInfo(request,name,id); + //将合同信息响应到客户端 + RequestUtil.responseResult4Json(response, RequestUtil.ObjecttoJsonString(vo)); + } + + /*** + * 获取指定的合同信息 + * @param request + * @param response + */ + @RequestMapping(value = "/geAssignContract.do", produces = "application/json;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + @ResponseBody + public List geAssignContract(HttpServletRequest request, HttpServletResponse response) { + //获取参数 + String id = request.getParameter("id");// 用户id + //获取合同信息 + List vo = serviceImpl.getAssignContract(id); + //将数据响应到客户端 + return vo; + } + + /*** + * 获取指定的目的地信息 + * @param request + * @param response + */ + @RequestMapping(value = "/geAssignDestination.do", produces = "application/json;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + @ResponseBody + public List geAssignDestination(HttpServletRequest request, HttpServletResponse response) { + //获取参数 + String id = request.getParameter("id");// 用户id + //获取合同信息 + List vo = serviceImpl.geAssignDestination(id); + //将数据响应到客户端 + return vo; + } + + /*** + * 获取指定的供应商信息 + * @param request + * @param response + */ + @RequestMapping(value = "/geAssignEnterprise.do", produces = "application/json;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + @ResponseBody + public List geAssignEnterprise(HttpServletRequest request, HttpServletResponse response) { + //获取参数 + String id = request.getParameter("id");// 用户id + //获取合同信息 + List vo = serviceImpl.geAssignEnterprise(id); + //将数据响应到客户端 + return vo; + } + + + /*** + * 获取供应商信息 + * @param request + * @param response + */ + @RequestMapping(value = "/getEnterpriseInfo.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public void getEnterpriseInfo(HttpServletRequest request, HttpServletResponse response) { + //获取参数 + String name = request.getParameter("name");// 合同名称 + String id = request.getParameter("id");// 用户id + //获取供应商信息 + Vo vo = serviceImpl.getEnterpriseInfo(request,name,id); + //将用户信息响应到客户端 + RequestUtil.responseResult4Json(response, RequestUtil.ObjecttoJsonString(vo)); + } + + /*** + * 获取合同下的目的地信息 + * @param request + * @param response + */ + @RequestMapping(value = "/getDestination.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public void getList(HttpServletRequest request, HttpServletResponse response) { + //获取参数 + String name = request.getParameter("name");// 合同名称 + String id= request.getParameter("id");// 合同名称 + //获取合同下的目的地信息 + Vo vo = serviceImpl.getDestination(request,name,id); + //将目的地信息响应到客户端 + RequestUtil.responseResult4Json(response, RequestUtil.ObjecttoJsonString(vo)); + } + + /** + * 指定合同 + */ + @RequestMapping(value = "/insertContract.do", produces = "application/json;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + @ResponseBody + public Map putMyEnterprise(HttpServletRequest request, HttpServletResponse response, Integer id, int[] ids) throws Exception { + //声明一个map集合,存储返回的结果信息 + Map result = new HashMap(); + result.put("flag", "0"); + result.put("msg", "执行失败"); + if (ids != null && id != null) { + //添加合同信息 + boolean back = serviceImpl.insertContractInfo(id,ids); + if (back) { + result.put("flag", "1"); + result.put("msg", "执行成功"); + } else { + result.put("msg", "参数为空"); + } + } + //将数据响应到客户端 + return result; + } + + + /** + * 指定目的地 + */ + @RequestMapping(value = "/insertDestination.do", produces = "application/json;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + @ResponseBody + public Map insertDestination(HttpServletRequest request, HttpServletResponse response, Integer id, int[] ids) throws Exception { + //声明一个map集合,存储返回的结果信息 + Map result = new HashMap(); + result.put("flag", "0"); + result.put("msg", "执行失败"); + if (ids != null && id != null) { + //添加或更改用户信息 + boolean back = serviceImpl.insertDestinationInfo(id,ids); + if (back) { + result.put("flag", "1"); + result.put("msg", "执行成功"); + } else { + result.put("msg", "参数为空"); + } + } + //将数据响应到客户端 + return result; + } + + /** + * 指定供应商 + */ + @RequestMapping(value = "/insertEnterprise.do", produces = "application/json;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + @ResponseBody + public Map insertEnterprise(HttpServletRequest request, HttpServletResponse response, Integer id, int[] ids) throws Exception { + //声明一个map集合,存储返回的结果信息 + Map result = new HashMap(); + result.put("flag", "0"); + result.put("msg", "执行失败"); + if (ids != null && id != null) { + //添加或更改用户信息 + boolean back = serviceImpl.insertEnterpriseInfo(id,ids); + if (back) { + result.put("flag", "1"); + result.put("msg", "执行成功"); + } else { + result.put("msg", "参数为空"); + } + } + //将数据响应到客户端 + return result; + } + + /** + * 删除指定的合同 + */ + @RequestMapping(value = "/deleteContract.do", produces = "application/json;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + @ResponseBody + public Map deleteContract(HttpServletRequest request, HttpServletResponse response, Integer id, int[] ids) throws Exception { + //声明一个map集合,存储返回的结果信息 + Map result = new HashMap(); + result.put("flag", "0"); + result.put("msg", "执行失败"); + if (ids != null && id != null) { + //添加或更改用户信息 + boolean back = serviceImpl.deleteContractInfo(id,ids); + if (back) { + result.put("flag", "1"); + result.put("msg", "执行成功"); + } + } else { + result.put("msg", "参数为空"); + } + //将数据响应到客户端 + return result; + } + + /** + * 删除指定的供应商 + */ + @RequestMapping(value = "/deleteEnterprise.do", produces = "application/json;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + @ResponseBody + public Map deleteEnterprise(HttpServletRequest request, HttpServletResponse response, Integer id, int[] ids) throws Exception { + //声明一个map集合,存储返回的结果信息 + Map result = new HashMap(); + result.put("flag", "0"); + result.put("msg", "执行失败"); + if (ids != null && id != null) { + //添加或更改用户信息 + boolean back = serviceImpl.deleteEnterpriseInfo(id,ids); + if (back) { + result.put("flag", "1"); + result.put("msg", "执行成功"); + } + } else { + result.put("msg", "参数为空"); + } + //将数据响应到客户端 + return result; + } + + /** + * 删除指定的目的地 + */ + @RequestMapping(value = "/deleteDestination.do", produces = "application/json;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + @ResponseBody + public Map deleteDestination(HttpServletRequest request, HttpServletResponse response, Integer id, int[] ids) throws Exception { + //声明一个map集合,存储返回的结果信息 + Map result = new HashMap(); + result.put("flag", "0"); + result.put("msg", "执行失败"); + if (ids != null && id != null) { + //添加或更改用户信息 + boolean back = serviceImpl.deleteDestinationInfo(id,ids); + if (back) { + result.put("flag", "1"); + result.put("msg", "执行成功"); + } + }else { + result.put("msg", "参数为空"); + } + //将数据响应到客户端 + return result; + } + + /** + * 根据用户id查询合同信息 + */ + @RequestMapping(value = "/getDestinationInfo.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public void getById(HttpServletRequest request, HttpServletResponse response) { + //声明一个map集合,存储返回的结果信息 + Map result = new HashMap(); + result.put("flag", "0"); + result.put("msg", "执行失败"); + String id = request.getParameter("id"); + if (!TextUtils.isEmpty(id)) { + //根据id获取合同信息 + List back = serviceImpl.getDestinationInfo(id); + if (back != null) { + result.put("flag", "1"); + result.put("msg", "执行成功"); + result.put("data", back); + } + } else { + result.put("msg", "参数为空"); + } + //将结果信息响应到客户端 + RequestUtil.responseResult4Json(response, RequestUtil.ObjecttoJsonString(result)); + } + + +} diff --git a/src/main/java/com/zhongdao/jlr/business/action/UserAction.java b/src/main/java/com/zhongdao/jlr/business/action/UserAction.java new file mode 100644 index 0000000..e65c5fb --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/action/UserAction.java @@ -0,0 +1,227 @@ +package com.zhongdao.jlr.business.action; + +import com.util.RequestUtil; +import com.util.Vo; +import com.zhongdao.jlr.business.service.UserInfoService; +import com.zhongdao.jlr.pojo.*; +import jodd.util.BCrypt; +import org.apache.http.util.TextUtils; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/*** + * 用户管理控制器 + */ +@Controller +@RequestMapping("/user") +public class UserAction { + @Resource(name = "userInfoService") + UserInfoService service; + + /*** + * 获取角色信息,跳转用户管理页面 + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/user.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public String JumpTocaseInfo(HttpServletRequest request, HttpServletResponse response) { + //获取角色信息 + List baseRoles=service.getRoleInfo(); + //获取经销商信息 + List enterpriseJlrs=service.getEnterpriseInfo(); + //共享数据 + request.setAttribute("roles",baseRoles); + request.setAttribute("enterprise",enterpriseJlrs); + return "/page/user"; + } + + /*** + * 获取,跳转用户账号页面 + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/myself.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public String JumpMyself(HttpServletRequest request, HttpServletResponse response) { + return "/page/modifyPassword"; + } + + /*** + * 获取用户信息 + * @param request + * @param response + */ + @RequestMapping(value = "/getUserInfo.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public void caseInfoList(HttpServletRequest request, HttpServletResponse response) { + //获取参数 + String name = request.getParameter("name");// 案件编号 + String phone = request.getParameter("phone");// VIN码 + String role = request.getParameter("role");// VIN码 + String username = request.getParameter("username");// VIN码 + //获取用户信息 + Vo vo = service.getUserInfo(request,name,phone,role,username); + //将用户信息响应到客户端 + RequestUtil.responseResult4Json(response, RequestUtil.ObjecttoJsonString(vo)); + } + + /** + * 用户信息添加或修改信息修改 + */ + @RequestMapping(value = "/insertUser.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public void putMyEnterprise(HttpServletRequest request, HttpServletResponse response) throws Exception { + JLRUser jlrUser=new JLRUser(); + //声明一个map集合,存储返回的结果信息 + Map result = new HashMap(); + result.put("flag", "0"); + result.put("msg", "执行失败"); + //获取参数 + String name = request.getParameter("name"); + String username = request.getParameter("login_name"); + String phone = request.getParameter("phone"); + String email = request.getParameter("email"); + String role = request.getParameter("role"); + String enterprise = request.getParameter("enterprise"); + String newPassword = request.getParameter("newPassword"); + String id = request.getParameter("id"); + //将参数放入对象中 + if(!TextUtils.isEmpty(id)){ + jlrUser.setId(Integer.valueOf(id)); + } + jlrUser.setName(name); + jlrUser.setLogin_name(username); + jlrUser.setPhone(phone); + jlrUser.setEmail(email); + jlrUser.setPassword(newPassword); + jlrUser.setRole_id(Integer.valueOf(role)); + jlrUser.setEnterprise_id(Integer.valueOf(enterprise)); + if (jlrUser != null) { + //添加或更改用户信息 + boolean back = service.updateUserInfo(jlrUser); + if (back) { + result.put("flag", "1"); + result.put("msg", "执行成功"); + } + } else { + result.put("msg", "参数为空"); + } + //将数据响应到客户端 + RequestUtil.responseResult4Json(response, RequestUtil.ObjecttoJsonString(result)); + + } + + /** + * 根据id查询用户信息 + */ + @RequestMapping(value = "/getUser.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public void getById(HttpServletRequest request, HttpServletResponse response) { + //声明一个map集合,存储返回的结果信息 + Map result = new HashMap(); + result.put("flag", "0"); + result.put("msg", "执行失败"); + String id = request.getParameter("id"); + if (!TextUtils.isEmpty(id)) { + //根据id获取用户信息 + JLRUser back = service.getUser(id); + if (back != null) { + result.put("flag", "1"); + result.put("msg", "执行成功"); + result.put("data", back); + } + } else { + result.put("msg", "参数为空"); + } + //将结果信息响应到客户端 + RequestUtil.responseResult4Json(response, RequestUtil.ObjecttoJsonString(result)); + } + + /** + * 根据编号删除用户信息 + */ + @RequestMapping(value = "/deleteUser.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public void deleteById(HttpServletRequest request, HttpServletResponse response) { + //声明一个map对象用于存放响应到客户端的数据 + Map result = new HashMap(); + result.put("flag", "0"); + result.put("msg", "执行失败"); + //获取参数 + String id = request.getParameter("id"); + if (!TextUtils.isEmpty(id)) { + //根据id获取用户信息 + JLRUser user = service.getUser(id); + //根据编号删除经用户信息 + boolean back = service.deleteUser(user); + if (back) { + result.put("flag", "1"); + result.put("msg", "执行成功"); + } + } else { + result.put("msg", "参数为空"); + } + //将数据信息响应到客户端 + RequestUtil.responseResult4Json(response, RequestUtil.ObjecttoJsonString(result)); + + } + + /** + * 修改密码 + */ + @RequestMapping(value = "/updatePassword.do", produces = "text/html;chrset=UTF-8", method = {RequestMethod.GET, + RequestMethod.POST}) + public void updatePassword(HttpServletRequest request, HttpServletResponse response) throws Exception { + //声明一个map集合,存储返回的结果信息 + Map result = new HashMap(); + result.put("flag", "0"); + result.put("msg", "执行失败"); + //获取参数 + String password = request.getParameter("password"); + String newPassword = request.getParameter("newPassword"); + String confirmPassword = request.getParameter("confirmPassword"); + String id = request.getParameter("id"); + if (!TextUtils.isEmpty(id) && !TextUtils.isEmpty(password) && !TextUtils.isEmpty(newPassword) && !TextUtils.isEmpty(confirmPassword)) { + try { + //根据id获取用户信息 + JLRUser jlrUser=service.getUser(id); + if(jlrUser != null){ + //判断密码是否正确 + boolean ps= BCrypt.checkpw(password,jlrUser.getPassword()); + if(ps){ + //将新密码放入对象中 + jlrUser.setPassword(newPassword); + //修改密码 + boolean back = service.updateUserInfo(jlrUser); + if (back) { + result.put("flag", "1"); + result.put("msg", "执行成功"); + } + }else{ + throw new Exception("密码错误"); + } + } + }catch (Exception e){ + e.printStackTrace(); + result.put("msg",e.getMessage()); + } + } else { + result.put("msg", "参数为空"); + } + //将数据响应到客户端 + RequestUtil.responseResult4Json(response, RequestUtil.ObjecttoJsonString(result)); + + } + +} diff --git a/src/main/java/com/zhongdao/jlr/business/dao/BaseDao.java b/src/main/java/com/zhongdao/jlr/business/dao/BaseDao.java new file mode 100644 index 0000000..ff2c153 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/dao/BaseDao.java @@ -0,0 +1,25 @@ +package com.zhongdao.jlr.business.dao; + +import com.dubh.common.dao.Dao; +import com.zhongdao.jlr.pojo.BaseMenu; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/*** + * 接口 + */ +public interface BaseDao extends Dao{ + + /*** + * 获取子菜单信息 + * @return + */ + List getMenuInfo(); + + /*** + * 获取父级菜单信息 + * @return + */ + List getParentMenuInfo(); +} diff --git a/src/main/java/com/zhongdao/jlr/business/dao/CaseDao.java b/src/main/java/com/zhongdao/jlr/business/dao/CaseDao.java new file mode 100644 index 0000000..baf9734 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/dao/CaseDao.java @@ -0,0 +1,48 @@ +package com.zhongdao.jlr.business.dao; + +import com.dubh.common.dao.Dao; +import com.util.Vo; +import com.zhongdao.jlr.business.vo.UserOrderViewVO; +import org.json.JSONObject; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +public interface CaseDao extends Dao { + + /** + * 救援工单信息 + * + * @param + * @return 用户信息 + */ + Vo casesListService(String state,HttpServletRequest request, String caseCode, String frame_code, String + rescueState,String createTime, String finishTime, String companyName,String plateNumber); + + /*** + * 获取进店救援案件信息 + * @param request + * @param caseCode + * @param frame_code + * @param createTime + * @param finishTime + * @return + */ + Vo caseEnterQuery(String state,HttpServletRequest request,String caseCode,String frame_code,String createTime,String finishTime); + + /**** + * 获取案件详情信息 + * @return + */ + Vo caseEnterInfo(HttpServletRequest request,String caseCode,String tid); + + /* + * 故障三级信息 + */ + JSONObject getTroubleCode(HttpServletRequest request) throws Exception; + + /* + * 详细页面保存 + */ + JSONObject caseDetailSave(HttpServletRequest request) throws Exception; +} diff --git a/src/main/java/com/zhongdao/jlr/business/dao/CouponDao.java b/src/main/java/com/zhongdao/jlr/business/dao/CouponDao.java new file mode 100644 index 0000000..fe97588 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/dao/CouponDao.java @@ -0,0 +1,53 @@ +package com.zhongdao.jlr.business.dao; + +import com.dubh.common.dao.Dao; +import com.util.Vo; +import com.zhongdao.jlr.business.vo.CouponRechargeJlr; +import com.zhongdao.jlr.pojo.CouponConsumeJlrPO; +import com.zhongdao.jlr.pojo.CouponRechargeJlrPO; + +import java.util.List; + +public interface CouponDao extends Dao { + + /** + * 代金券模糊搜索 + */ + public Vo searchConsume(String vinCode, String electronicAccounts, String userPhone, int page, int raws); + + /** + * 代金券消费记录 + */ + public Vo getCouponConsume(String vin, int page, int raws); + + + /** + * 代金券充值记录 + */ + public Vo getCouponRecharge(String vin, int page, int raws); + + /** + * 代金券消费记录(整体) + */ + public Vo queryCouponConsume(String vin, String account, String RecuseCompanyName, String rescueCompanyCode, String license, String phone, String state, String qureyDate1, String queryDate2, int page, int raws); + + /** + * 代金券消费修改 撤回、同意付款 + */ + public boolean updateConsumeState(List couponechargeList, String cId, String state); + + /** + * 充值记录 + */ + public Vo queryCouponRecharge(String vin, String account, String orderCode, String license, String phone, String qureyDate1, String queryDate2, int page, int raws); + + /** + * 代金券获取 + */ + public Vo getCoupon(String vin, String electronicAccounts, int page, int raws); + + /** + * 代金券消费 + */ + public boolean consume(CouponConsumeJlrPO couponConsumeJlr, List CouponRechargeJlrs); +} diff --git a/src/main/java/com/zhongdao/jlr/business/dao/EnterpriseDao.java b/src/main/java/com/zhongdao/jlr/business/dao/EnterpriseDao.java new file mode 100644 index 0000000..7e91f48 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/dao/EnterpriseDao.java @@ -0,0 +1,50 @@ +package com.zhongdao.jlr.business.dao; + +import com.dubh.common.dao.Dao; +import com.util.Vo; +import com.zhongdao.jlr.pojo.BaseUser; +import com.zhongdao.jlr.pojo.EnterpriseJlr; + +/*** + * 接口 + */ +public interface EnterpriseDao extends Dao { + + /**** + * 获取经销商维护信息 + * @param name + * @param page + * @param rows + * @return + */ + public Vo searchEnterprise(String name,String abbrCode, + Integer page, Integer rows); + + /*** + * 删除经销商信息 + * @param id + * @return + */ + public boolean deleteById(String id); + + /*** + * 保存经销商信息 + * @param enterprise + * @return + */ + public boolean putEnterprise(EnterpriseJlr enterprise); + + /**** + * 保存用户信息 + * @param systemUser + * @return + */ + boolean putSystemUser(BaseUser systemUser); + + /*** + * 根据id查询经销商 + * @param id + * @return + */ + public EnterpriseJlr getById(String id); +} diff --git a/src/main/java/com/zhongdao/jlr/business/dao/OrderCheckDao.java b/src/main/java/com/zhongdao/jlr/business/dao/OrderCheckDao.java new file mode 100644 index 0000000..940887a --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/dao/OrderCheckDao.java @@ -0,0 +1,51 @@ +package com.zhongdao.jlr.business.dao; + +import com.dubh.common.dao.Dao; +import com.util.Vo; +import net.sf.json.JSONObject; + +import javax.servlet.http.HttpServletRequest; + +/*** + * 接口 + */ +public interface OrderCheckDao extends Dao{ + + /** + * 服务费用核对信息 + * + * @param + * @return 用户信息 + */ + public Vo list(HttpServletRequest request, int page, int raws, String orderCode, String queryDate1, String rescueCompanyName, String queryDate2, String check_state); + + /** + * 服务费用信息 + * + * @param + * @return 用户信息 + */ + public Vo lists(HttpServletRequest request, int page, int raws, String code, String orderCode, String queryDate1, String rescueCompanyName, String queryDate2, String check_state,String state); + + /*** + * 导出 + * @param request + * @param code + * @param orderCode + * @param queryDate1 + * @param rescueCompanyName + * @param queryDate2 + * @param check_state + * @return + */ + JSONObject exportData(HttpServletRequest request, String code, String orderCode, String queryDate1, String rescueCompanyName, String queryDate2, String check_state); + + /*** + * 修改服务信息 + * @param uid + * @param totalFee + * @return + */ + boolean updateInfo(String uid,String totalFee); + +} diff --git a/src/main/java/com/zhongdao/jlr/business/dao/RoleDao.java b/src/main/java/com/zhongdao/jlr/business/dao/RoleDao.java new file mode 100644 index 0000000..c36803d --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/dao/RoleDao.java @@ -0,0 +1,62 @@ +package com.zhongdao.jlr.business.dao; + +import com.dubh.common.dao.Dao; +import com.util.Vo; +import com.zhongdao.jlr.business.vo.JLRMenu; +import com.zhongdao.jlr.pojo.BaseMenu; +import com.zhongdao.jlr.pojo.JLRAuthority; +import com.zhongdao.jlr.pojo.JLRRole; +import com.zhongdao.jlr.pojo.JLRUser; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/*** + * 接口 + */ +public interface RoleDao extends Dao{ + + /*** + * 获取角色信息 + * @param request + * @param name + * @return + */ + Vo getRoleInfo(HttpServletRequest request, String name); + + /*** + * 获取树的信息 + * @return + */ + List getTreeInfo(); + + /*** + * 添加角色信息 + */ + boolean updateRoleInfo(JLRRole jlrRole); + + /*** + * 添加角色权限信息 + */ + boolean updateRolesInfo(JLRAuthority jlrAuthority); + + /*** + * 根据id获取角色信息 + * @return + */ + JLRRole getUser(String id); + + /*** + * 根据角色id获取菜单信息 + * @param id + * @return + */ + List getMenu(String id); + + /*** + * 删除权限信息 + * @param id + * @return + */ + boolean deleteSupplier(Integer id); +} diff --git a/src/main/java/com/zhongdao/jlr/business/dao/SupplierDao.java b/src/main/java/com/zhongdao/jlr/business/dao/SupplierDao.java new file mode 100644 index 0000000..ba3040d --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/dao/SupplierDao.java @@ -0,0 +1,104 @@ +package com.zhongdao.jlr.business.dao; + +import com.dubh.common.dao.Dao; +import com.util.Vo; +import com.zhongdao.jlr.business.vo.Contract; +import com.zhongdao.jlr.business.vo.Destination; +import com.zhongdao.jlr.business.vo.Enterprise; +import com.zhongdao.jlr.pojo.JLRDestination; +import com.zhongdao.jlr.pojo.JLRSupplier; +import com.zhongdao.jlr.pojo.JLRUserContract; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/*** + * 接口 + */ +public interface SupplierDao extends Dao{ + + /*** + * 获取合同信息并分页展示 + * @param request + * @return + */ + Vo getContractInfo(HttpServletRequest request,String name,String id); + + /*** + * 获取指定的合同信息 + * @return + */ + List getAssignContract(String id); + + /*** + * 获取指定的目的地信息 + * @param id + * @return + */ + List getAssignDestination(String id); + + /*** + * 获取指定的供应商信息 + * @param id + * @return + */ + List getAssignEnterprise(String id); + + /*** + * 获取供应商信息并分页展示 + * @param request + * @return + */ + Vo getEnterpriseInfo(HttpServletRequest request,String name,String id); + + + /*** + * 获取合同下的目的地信息并分页展示 + * @param request + * @return + */ + Vo getDestination(HttpServletRequest request,String name,String id); + + /*** + * 为用户指定合同 + * @return + */ + boolean insertContractInfo(JLRUserContract jlrUserContract); + + /*** + * 指定目的地 + * @return + */ + boolean insertDestinationInfo(JLRDestination jlrDestination); + + /*** + * 指定供应商 + * @return + */ + boolean insertEnterpriseInfo(JLRSupplier jlrSupplier); + + /*** + * 删除指定的合同 + * @return + */ + boolean deleteContractInfo(int cid,int id); + + /*** + * 删除指定的供应商 + * @return + */ + boolean deleteEnterpriseInfo(int sid,int id); + + /*** + * 删除指定的目的地 + * @return + */ + boolean deleteDestinationInfo(int did,int id); + + /*** + *根据用户id获取合同信息 + * @param id + * @return + */ + List getContract(String id); +} diff --git a/src/main/java/com/zhongdao/jlr/business/dao/UserInfoDao.java b/src/main/java/com/zhongdao/jlr/business/dao/UserInfoDao.java new file mode 100644 index 0000000..30da9b8 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/dao/UserInfoDao.java @@ -0,0 +1,51 @@ +package com.zhongdao.jlr.business.dao; + +import com.dubh.common.dao.Dao; +import com.util.Vo; +import com.zhongdao.jlr.pojo.BaseRole; +import com.zhongdao.jlr.pojo.EnterpriseJlr; +import com.zhongdao.jlr.pojo.JLRRole; +import com.zhongdao.jlr.pojo.JLRUser; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +public interface UserInfoDao extends Dao { + + /*** + * 获取角色信息 + * @return + */ + List getRoleInfo(); + + /*** + * 获取经销商信息 + * @return + */ + List getEnterpriseInfo(); + + /*** + * 获取用户信息 + * @return + */ + Vo getUserInfo(HttpServletRequest request, String name, String phone,String role,String username); + + /*** + * 添加或更改用户信息 + */ + boolean updateUserInfo(JLRUser user); + + + /*** + * 获取用户信息 + * @return + */ + JLRUser getUser(String id); + + /*** + * 根据编号删除用户 + * @param user + * @return + */ + boolean deleteUser(JLRUser user); +} diff --git a/src/main/java/com/zhongdao/jlr/business/dao/impl/BaseDaoImpl.java b/src/main/java/com/zhongdao/jlr/business/dao/impl/BaseDaoImpl.java new file mode 100644 index 0000000..f75ed5c --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/dao/impl/BaseDaoImpl.java @@ -0,0 +1,99 @@ +package com.zhongdao.jlr.business.dao.impl; + +import com.dubh.common.dao.hibernate.BaseDaoHibernate; +import com.zhongdao.jlr.business.dao.BaseDao; +import com.zhongdao.jlr.business.vo.LoginUserVo; +import com.zhongdao.jlr.pojo.BaseMenu; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + +import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; +import java.util.List; + +/*** + * 登录 + */ +@Repository("baseDaoImpl") +public class BaseDaoImpl extends BaseDaoHibernate implements BaseDao { + + @Autowired + private HttpServletRequest request; + + @Override + public List getMenuInfo() { + //获取登录信息 + LoginUserVo logininfo=(LoginUserVo)request.getSession().getAttribute("logininfo"); + List lists=new ArrayList<>(); + List list=null; + try { + String sql = "select id, parent_id, name, action " + + "from jlr_menu " + + "where id in (" + + "select menu_id from jlr_role_authority " + + "where role_id ="+logininfo.getRole_id()+")"; + //获取菜单信息 + list = getRsBySql(sql); + //遍历菜单信息 + if (list != null && list.size() > 0) { + for (int i = 0; i < list.size(); i++) { + //声明一个菜单对象并将信息放入对象里面 + BaseMenu baseMenu = new BaseMenu(); + Object[] objects = (Object[]) list.get(i); + baseMenu.setId(Integer.valueOf(objects[0].toString())); + baseMenu.setParent_id(Integer.valueOf(objects[1] == null ? "0" : objects[1].toString())); + baseMenu.setName(objects[2] == null ? "" : objects[2].toString()); + baseMenu.setAction(objects[3] == null ? "" : objects[3].toString()); + //将对象放入集合中 + lists.add(baseMenu); + } + } + }catch (Exception ex){ + ex.printStackTrace(); + return null; + } + return lists; + } + + @Override + public List getParentMenuInfo() { + //获取登录信息 + LoginUserVo logininfo=(LoginUserVo)request.getSession().getAttribute("logininfo"); + //将角色编号存入集合中 + List lists=new ArrayList<>(); + List list=null; + try { + String sql = "select b.id,b.parent_id,b.name,b.action " + + "from (select parent_id " + + "from (select r.id," + + "r.role_id,r.menu_id,p.parent_id parent_id,p.id n,p.name,p.action" + + " from jlr_role_authority r " + + "inner join jlr_menu p on" + + " r.menu_id=p.id " + + "where role_id="+logininfo.getRole_id()+") m " + + "group by " + + "m.parent_id) m " + + "inner join jlr_menu b on m.parent_id=b.id"; + //获取父级菜单信息 + list = getRsBySql(sql); + //遍历菜单信息 + if (list != null && list.size() > 0) { + for (int i = 0; i < list.size(); i++) { + //声明一个菜单对象并将信息放入对象里面 + BaseMenu baseMenu = new BaseMenu(); + Object[] objects = (Object[]) list.get(i); + baseMenu.setId(Integer.valueOf(objects[0].toString())); + baseMenu.setParent_id(Integer.valueOf(objects[1] == null ? "0" : objects[1].toString())); + baseMenu.setName(objects[2] == null ? "" : objects[2].toString()); + baseMenu.setAction(objects[3] == null ? "" : objects[3].toString()); + //将对象放入集合中 + lists.add(baseMenu); + } + } + }catch (Exception ex){ + ex.printStackTrace(); + return null; + } + return lists; + } +} diff --git a/src/main/java/com/zhongdao/jlr/business/dao/impl/CaseDaoImpl.java b/src/main/java/com/zhongdao/jlr/business/dao/impl/CaseDaoImpl.java new file mode 100644 index 0000000..27ae20d --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/dao/impl/CaseDaoImpl.java @@ -0,0 +1,438 @@ +package com.zhongdao.jlr.business.dao.impl; + +import com.dubh.common.dao.hibernate.BaseDaoHibernate; +import com.util.UtilTools; +import com.util.Vo; +import com.zhongdao.jlr.business.dao.CaseDao; +import com.zhongdao.jlr.business.vo.LoginUserVo; +import com.zhongdao.jlr.business.vo.PageInfo; +import com.zhongdao.jlr.pojo.JLRepqr; +import org.apache.commons.lang.StringUtils; +import org.apache.http.util.TextUtils; +import org.json.JSONObject; +import org.springframework.stereotype.Repository; +import javax.servlet.http.HttpServletRequest; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +@Repository("caseDaoImpl") +public class CaseDaoImpl extends BaseDaoHibernate implements CaseDao { + + private final static SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd"); + + @Override + public Vo casesListService(String state,HttpServletRequest request, String caseCode, String frame_code, String rescueState, String createTime, String finishTime, String companyName,String plateNumber) { + //获取登录信息 + LoginUserVo logininfo=(LoginUserVo)request.getSession().getAttribute("logininfo"); + Vo vo=new Vo(); + //声明一个分页对象 + PageInfo pageInfo=new PageInfo(); + //获取页数和一页显示多少行并将其放入对象中 + pageInfo.setPage(UtilTools.getPage(request)); + pageInfo.setRows(UtilTools.getRows(request)); + //sql动态拼接 + StringBuffer sql=null; + //如果state为0则证明此操作为管理员,否则是经销商 + if("0".equals(state)){ + if("1".equals(rescueState)){ + sql = new StringBuffer("select DISTINCT u.code orderCode,u.create_time create_time," + + "u.vin_no vin_no,s.name name," + + "s.code code,b.name serviceName,u.order_status order_status,t.task_status task_status,u.plate_number plate_number from user_order u " + + "left join task_order t on t.user_order_id=u.id " + + "left join supplier s on t.service_supplier_id=s.id " + + "left join base_service b on b.id=u.service_id " + + "and u.order_status not in (51,53,55) " + + "where u.contract_id in (select contract_id from jlr_contract_visual where jlr_user_id ="+logininfo.getId()+")"); + }else if("2".equals(rescueState)){ + sql = new StringBuffer("select DISTINCT u.code orderCode,u.create_time create_time," + + "u.vin_no vin_no,s.name name," + + "s.code code,b.name serviceName,u.order_status order_status,t.task_status task_status,u.plate_number plate_number from user_order_his u " + + "left join task_order_his t on t.user_order_id=u.id " + + "left join supplier s on t.service_supplier_id=s.id " + + "left join base_service b on b.id=u.service_id " + + "where u.contract_id in (select contract_id from jlr_contract_visual where jlr_user_id ="+logininfo.getId()+") " + + "and u.order_status = 55"); + }else if("3".equals(rescueState)){ + sql = new StringBuffer("select DISTINCT u.code orderCode,u.create_time create_time," + + "u.vin_no vin_no,s.name name," + + "s.code code,b.name serviceName,u.order_status order_status,t.task_status task_status,u.plate_number plate_number from user_order_his u " + + "left join task_order_his t on t.user_order_id=u.id " + + "left join supplier s on t.service_supplier_id=s.id " + + "left join base_service b on b.id=u.service_id " + + "where u.contract_id in (select contract_id from jlr_contract_visual where jlr_user_id ="+logininfo.getId()+") " + + "and u.order_status = 51"); + }else { + sql = new StringBuffer("select DISTINCT u.code orderCode,u.create_time " + + "create_time,u.vin_no vin_no,s.name name, " + + "s.code code,b.name serviceName,u.order_status order_status,u.task_status task_status,u.plate_number plate_number from " + + "(select u.code code,u.create_time,u.vin_no,u.id,u.order_status," + + "u.service_id,t.service_supplier_id,u.contract_id contract_id,t.task_status task_status,u.plate_number plate_number from user_order_his u " + + "left join task_order_his t on t.user_order_id=u.id " + + "union select u.code code,u.create_time create_time,u.vin_no vin_no," + + "u.id id,u.order_status order_status,u.service_id service_id " + + ",t.service_supplier_id service_supplier_id,u.contract_id contract_id,t.task_status task_status,u.plate_number plate_number from user_order u " + + "left join task_order t on t.user_order_id=u.id " + + ") u " + + "left join supplier s on u.service_supplier_id=s.id " + + "left join base_service b on b.id=u.service_id " + + "left join jlr_supplier_visual v on v.supplier_id=s.id " + + "where " + + "u.contract_id in (select contract_id from jlr_contract_visual where jlr_user_id =" + logininfo.getId() + ") "); + } + }else if("1".equals(state)){ + if("1".equals(rescueState)){ + sql = new StringBuffer("select DISTINCT u.code orderCode,u.create_time create_time," + + "u.vin_no vin_no,s.name name," + + "s.code code,b.name serviceName,u.order_status order_status,t.task_status task_status,u.plate_number plate_number from user_order u " + + "left join task_order t on t.user_order_id=u.id " + + "left join supplier s on t.service_supplier_id=s.id " + + "left join base_service b on b.id=u.service_id " + + "left join jlr_supplier_visual v on v.supplier_id=s.id " + + "where u.contract_id in (select contract_id from jlr_contract_visual where jlr_user_id ="+logininfo.getId()+") " + + "and u.order_status not in (51,53,55)"); +// "and u.order_status = 31 " + +// "and v.jlr_user_id =" + logininfo.getId()); + }else if("2".equals(rescueState)){ + sql = new StringBuffer("select DISTINCT u.code orderCode,u.create_time create_time," + + "u.vin_no vin_no,s.name name," + + "s.code code,b.name serviceName,u.order_status order_status,t.task_status task_status,u.plate_number plate_number from user_order_his u " + + "left join task_order_his t on t.user_order_id=u.id " + + "left join supplier s on t.service_supplier_id=s.id " + + "left join base_service b on b.id=u.service_id " + + "left join jlr_supplier_visual v on v.supplier_id=s.id " + + "where u.contract_id in (select contract_id from jlr_contract_visual where jlr_user_id ="+logininfo.getId()+") "); +// "and u.order_status = 55 " + +// "and v.jlr_user_id =" + logininfo.getId()); + }else if("3".equals(rescueState)){ + sql = new StringBuffer("select DISTINCT u.code orderCode,u.create_time create_time," + + "u.vin_no vin_no,s.name name," + + "s.code code,b.name serviceName,u.order_status order_status,t.task_status task_status,u.plate_number plate_number from user_order_his u " + + "left join task_order_his t on t.user_order_id=u.id " + + "left join supplier s on t.service_supplier_id=s.id " + + "left join base_service b on b.id=u.service_id " + + "left join jlr_supplier_visual v on v.supplier_id=s.id " + + "where u.contract_id in (select contract_id from jlr_contract_visual where jlr_user_id ="+logininfo.getId()+") "); +// "and u.order_status = 51 " + +// "and v.jlr_user_id =" + logininfo.getId()); + }else { + sql = new StringBuffer("select DISTINCT u.code orderCode,u.create_time " + + "create_time,u.vin_no vin_no,s.name name, " + + "s.code code,b.name serviceName,u.order_status order_status,u.task_status task_status,u.plate_number plate_number from " + + "(select u.code code,u.create_time,u.vin_no,u.id,u.order_status," + + "u.service_id,t.service_supplier_id,u.contract_id contract_id,t.task_status task_status,u.plate_number plate_number from user_order_his u " + + "left join task_order_his t on t.user_order_id=u.id " + + "union select u.code code,u.create_time create_time,u.vin_no vin_no," + + "u.id id,u.order_status order_status,u.service_id service_id " + + ",t.service_supplier_id service_supplier_id,u.contract_id contract_id,t.task_status task_status,u.plate_number plate_number from user_order u " + + "left join task_order t on t.user_order_id=u.id " + + ") u " + + "left join supplier s on u.service_supplier_id=s.id " + + "left join base_service b on b.id=u.service_id " + + "left join jlr_supplier_visual v on v.supplier_id=s.id " + + "where " + + "u.contract_id in (select contract_id from jlr_contract_visual where jlr_user_id =" + logininfo.getId() + ")") ; +// "and u.order_status in (31,53,51,55) " + +// "and v.jlr_user_id =" + logininfo.getId()); + } + } + if (StringUtils.isNotBlank(frame_code)) { + sql.append(" and u.vin_no like '%" + frame_code + "%'"); + } + if (StringUtils.isNotBlank(caseCode)) { + sql.append(" and u.code like '%" + caseCode + "%'"); + } + if (StringUtils.isNotBlank(companyName)) { + sql.append(" and s.name like '%" + companyName + "%'"); + } + if (StringUtils.isNotBlank(plateNumber)) { + sql.append(" and u.plate_number like '%" + plateNumber + "%'"); + } + //开始时间 + if (StringUtils.isNotBlank(createTime)) { + sql.append(" and u.create_time >= '"+createTime+"'"); + } + // 结束时间 + if (StringUtils.isNotBlank(finishTime)) { + sql.append(" and u.create_time <= '"+finishTime+"'"); + } + String countSql=sql.toString(); + String info=sql.append(" limit "+pageInfo.getCurrentIndex()+","+pageInfo.getRows()).toString(); + try { + //获取救援信息总数 + List lists=getRsBySql(countSql); + //分页获取救援信息 + List list = getRsBySql(info); + if (list != null && list.size() > 0) { + vo.setRows(UtilTools.listTojsonArray(list, new String[]{"ORDER_CODE","CREATE_TIME","VIN_NO","NAME","CODE","SERVICE_NAME","STATUS","TASK_STATUS","PLATE_NUMBER"})); + } + if(lists != null && lists.size() > 0) { + vo.setTotal(lists.size()); + } + } catch (Exception e) { + e.printStackTrace(); + return null; + } + return vo; + } + + @Override + public Vo caseEnterQuery(String state,HttpServletRequest request, String caseCode, String frame_code, String createTime, String finishTime) { + //获取登录信息 + LoginUserVo logininfo=(LoginUserVo)request.getSession().getAttribute("logininfo"); + Vo vo=new Vo(); + //声明一个分页对象 + PageInfo pageInfo=new PageInfo(); + //获取页数和一页显示多少行并将其放入对象中 + pageInfo.setPage(UtilTools.getPage(request)); + pageInfo.setRows(UtilTools.getRows(request)); + //sql动态拼接 + StringBuffer sql=null; + if("0".equals(state)){ + sql = new StringBuffer("select DISTINCT u.tid tid,u.id id,u.code orderCode,u.create_time " + + "create_time,u.vin_no vin_no,s.name name, "+ + "s.code code,b.name serviceName,u.order_status order_status,w.state state,w.update_time update_time from "+ + "(select t.create_time createTime,t.code taskCode,u.code code,u.create_time,u.vin_no,u.id id,u.order_status," + + "u.service_id,t.service_supplier_id,u.contract_id contract_id,t.id tid from user_order_his u "+ + "left join task_order_his t on t.user_order_id=u.id "+ + "union select t.create_time createTime,t.code taskCode,u.code code,u.create_time create_time,u.vin_no vin_no," + + "u.id id,u.order_status order_status,u.service_id service_id "+ + ",t.service_supplier_id service_supplier_id,u.contract_id contract_id,t.id tid from user_order u "+ + "left join task_order t on t.user_order_id=u.id "+ + ") u "+ + "left join supplier s on u.service_supplier_id=s.id "+ + "left join base_service b on b.id=u.service_id "+ + "left join jlr_epqr w on w.task_order_id = u.tid " + + "where b.id in (1041,1050,1500,1501,1520,1521) " + + "and u.order_status in (21,23,25,28,31) " + + "and w.state = 1 " + + "and u.contract_id in (select contract_id from jlr_contract_visual where jlr_user_id ="+logininfo.getId()+")"); + }else{ + sql = new StringBuffer("select DISTINCT u.tid tid,u.id id,u.code orderCode,u.create_time " + + "create_time,u.vin_no vin_no,s.name name, "+ + "s.code code,b.name serviceName,u.order_status order_status,w.state state,w.update_time update_time from "+ + "(select t.create_time createTime,t.code taskCode,u.code code,u.create_time,u.vin_no,u.id id,u.order_status," + + "u.service_id,t.service_supplier_id,u.contract_id contract_id,u.contract_destination_id destination_code,t.id tid from user_order_his u "+ + "left join task_order_his t on t.user_order_id=u.id "+ + "union select t.create_time createTime,t.code taskCode,u.code code,u.create_time create_time,u.vin_no vin_no," + + "u.id id,u.order_status order_status,u.service_id service_id "+ + ",t.service_supplier_id service_supplier_id,u.contract_id contract_id,u.contract_destination_id destination_code,t.id tid from user_order u "+ + "left join task_order t on t.user_order_id=u.id "+ + ") u "+ + "left join supplier s on u.service_supplier_id=s.id "+ + "left join jlr_epqr w on w.task_order_id = u.tid " + + "left join base_service b on b.id=u.service_id "+ + "where b.id in (1041,1050,1500,1501,1520,1521) " + + "and u.order_status in (21,23,25,28,31) " + + "and u.destination_code in (select contract_destination_id from jlr_destination_visual where jlr_user_id ="+logininfo.getId()+")"); + } + if (StringUtils.isNotBlank(frame_code)) { + sql.append(" and u.vin_no like '%" + frame_code + "%'"); + } + if (StringUtils.isNotBlank(caseCode)) { + sql.append(" and u.code like '%" + caseCode + "%'"); + } + //开始时间 + if (StringUtils.isNotBlank(createTime)) { + sql.append(" and u.create_time >= '"+createTime+"'"); + } + // 结束时间 + if (StringUtils.isNotBlank(finishTime)) { + sql.append(" and u.create_time <= '"+finishTime+"'"); + } + String countSql=sql.append(" order by w.update_time desc").toString(); + String info=sql.append(" limit "+pageInfo.getCurrentIndex()+","+pageInfo.getRows()).toString(); + try { + //获取进店救援信息总数 + List lists=getRsBySql(countSql); + //分页获取进店救援信息 + List list = getRsBySql(info); + if (list != null && list.size() > 0) { + vo.setRows(UtilTools.listTojsonArray(list, new String[]{"TID","ID","ORDER_CODE","CREATE_TIME","VIN_NO","NAME","CODE","SERVICE_NAME","STATUS","STATE"})); + } + if(lists != null && lists.size() > 0) { + vo.setTotal(lists.size()); + } + } catch (Exception e) { + e.printStackTrace(); + return null; + } + return vo; + } + + @Override + public Vo caseEnterInfo(HttpServletRequest request, String caseCode,String tid) { + //获取用户信息 + LoginUserVo logininfo=(LoginUserVo)request.getSession().getAttribute("logininfo"); + //声明一个vo对象 + Vo vo=new Vo(); + //创建sql + StringBuffer sql=new StringBuffer("select DISTINCT u.id uid,u.tid tid,u.code orderCode,u.create_time " + + "create_time,u.vin_no vin_no,s.name name, "+ + "s.code code,b.name serviceName,u.model model,u.plate_number plate_number,m.start_time start_time,j.level_name levelName," + + "u.finish_time finish_time,j.level_name levelNames,d.name dName,d.brand_name brandName,e.dms_code dms_code," + + "e.trouble_reason trouble_reason,e.mileage mileage,e.dphm dphm,e.arrive_time arrive_time,e.remaer remaer," + + "e.choice_type choice_type,e.trouble_code trouble_code,e.repair repair,e.ref_time ref_time,e.finish_time finishes_time" + + ",e.hand_time hand_time,e.use_time use_time,e.state state from "+ + "(select u.code code,u.create_time,u.vin_no,u.order_status," + + "u.service_id,t.service_supplier_id,u.contract_id contract_id,u.contract_destination_id destination_code," + + "u.model model,u.plate_number plate_number,u.member_service_group_id member_service_group_id,u.finish_time finish_time," + + "u.malfunction_level1 malfunction_level1,u.malfunction_level2 malfunction_level2,u.id id,u.contract_destination_id contract_destination_id,t.id tid " + + "from user_order_his u "+ + "left join task_order_his t on t.user_order_id=u.id "+ + "union select u.code code,u.create_time create_time,u.vin_no vin_no," + + "u.order_status order_status,u.service_id service_id "+ + ",t.service_supplier_id service_supplier_id,u.contract_id contract_id,u.contract_destination_id destination_code," + + "u.model model,u.plate_number plate_number,u.member_service_group_id member_service_group_id,u.finish_time finish_time," + + "u.malfunction_level1 malfunction_level1,u.malfunction_level2 malfunction_level2,u.id id,u.contract_destination_id contract_destination_id,t.id tid " + + "from user_order u "+ + "left join task_order t on t.user_order_id=u.id "+ + ") u "+ + "left join supplier s on u.service_supplier_id = s.id "+ + "left join base_service b on b.id = u.service_id " + + "left join contract_member_service_group m on u.member_service_group_id=m.id " + + "left join contract_trouble_level j on j.id = u.malfunction_level1 " + + "left join contract_destination d on d.id = u.contract_destination_id " + + "left join jlr_epqr e on e.task_order_id = u.tid " + + "where u.id = '" + caseCode+"'"); + if (StringUtils.isNotBlank(tid)) { + sql.append(" and u.tid = '" + tid +"'"); + } + try { + //获取案件详情信息 + List list = getRsBySql(sql.toString()); + if (list != null && list.size() > 0) { + vo.setRows(UtilTools.listTojsonArray(list, new String[]{"UID","TID","ORDER_CODE", "CREATE_TIME", "VIN_NO", "NAME", "CODE", "SERVICE_NAME", "MODEL", "PLATENUMBER", "STARTTIME", "LEVELNAME1", "FINISHTIME", "LEVELNAME2", "DNAME", "BRANDNAME", "DMS", "REASON", "MILEAGE", "DNUMBER", "ARRIVETIME", "REMARK", "CHOICE", "PART", "REPAIR", "REFTIME", "FINTIME", "HANDTIME", "USETIME","STATE"})); + } + }catch (Exception e){ + e.printStackTrace(); + return null; + } + return vo; + } + + @Override + public JSONObject getTroubleCode(HttpServletRequest request) throws Exception { + //获取参数 + String firstParam = request.getParameter("firstParam"); + String flag = request.getParameter("flag"); + //声明一个对象 + JSONObject jsonObject = new JSONObject(); + //创建集合 + List idList = new ArrayList(); + List listfirst = new ArrayList();// 祖 + List listSecond = new ArrayList();// 父 + + // 第一级系统 + if ("1".equals(flag)) { + String sql = "select id,name from jlr_trouble_parts where parent_id = 0"; + //获取一级故障信息 + List list = getRsBySql(sql); + //遍历获取到的信息将其放入对象中并将对象放入集合中 + if (list != null && list.size() > 0) { + for (int i = 0; i < list.size(); i++) { + Object[] objects = (Object[]) list.get(i); + listfirst.add(objects[1].toString()); + idList.add(objects[0].toString()); + } + jsonObject.put("listfirst", listfirst); + jsonObject.put("idList", idList); + } + } + // 第二级系统和第三级 + if ("2".equals(flag) || "3".equals(flag)) { + String sql = "select id,name from jlr_trouble_parts where parent_id ="+firstParam; + //获取二级故障和三级故障信息将其放入对象中并将对象放入集合中 + List list = getRsBySql(sql); + if (list != null && list.size() > 0) { + for (int i = 0; i < list.size(); i++) { + Object[] objects = (Object[]) list.get(i); + listSecond.add(objects[1].toString()); + idList.add(objects[0].toString()); + } + jsonObject.put("listSecond", listSecond); + jsonObject.put("idList", idList); + } + } + return jsonObject; + } + + @Override + public JSONObject caseDetailSave(HttpServletRequest request) throws Exception { + //声明一个object对象 + JSONObject jsonObject = new JSONObject(); + //获取参数 + String uid = request.getParameter("uid"); + String tid = request.getParameter("tid"); + String mileage = request.getParameter("mileage"); + String dphm = request.getParameter("dphm"); + Date arriveTime = TextUtils.isBlank(request.getParameter("arriveTime")) ? null : df.parse(request.getParameter + ("arriveTime")); + Date refTime = TextUtils.isBlank(request.getParameter("refTime")) ? null : df.parse(request.getParameter + ("refTime")); + Date repairFinishTime = TextUtils.isBlank(request.getParameter("repairFinishTime")) ? null : df.parse(request + .getParameter("repairFinishTime")); + Date handTime = TextUtils.isBlank(request.getParameter("handTime")) ? null : df.parse(request.getParameter + ("handTime")); + String finalChoice = request.getParameter("finalChoice"); + Date useTime = TextUtils.isBlank(request.getParameter("useTime")) ? null : df.parse(request.getParameter + ("useTime")); + String troubleCodeValue = request.getParameter("troubleCodeValue"); + String troubleReasonVaule = request.getParameter("troubleReasonValue"); + String repair = request.getParameter("repair"); + String remark = request.getParameter("remark"); + String dmsCode = request.getParameter("dmsCode"); + String state = request.getParameter("state"); + JLRepqr epqrJlr = null; + //创建一个时间对象 + Date date=new Date(); + try { + //创建一个sql + StringBuffer hql =new StringBuffer("from JLRepqr where order_id= " + uid); + if(tid != null && tid != ""){ + hql.append(" and task_order_id ="+tid); + } + //根据订单id获取案件详情信息 + List list = getRsByHql(hql.toString()); + if (list != null && list.size() > 0) { + epqrJlr = (JLRepqr) list.get(0); + } else { + //若信息为空则证明该操作为添加 + epqrJlr = new JLRepqr(); + //生成主键id并放入对象中 + epqrJlr.setId(Integer.valueOf((System.currentTimeMillis() + "").substring(4))); + epqrJlr.setCreate_time(date); + } + if(!TextUtils.isBlank(tid)){ + epqrJlr.setTask_order_id(Integer.valueOf(tid)); + }else { + epqrJlr.setTask_order_id(0); + } + epqrJlr.setUpdate_time(date); + epqrJlr.setHand_time(handTime); + epqrJlr.setState(Integer.valueOf(state)); + epqrJlr.setMileage(TextUtils.isBlank(mileage) ? 0 : Integer.valueOf(mileage)); + epqrJlr.setDphm(dphm); + epqrJlr.setArrive_time(arriveTime); + epqrJlr.setRef_time(refTime); + epqrJlr.setFinish_time(repairFinishTime); + epqrJlr.setChoice_type(finalChoice); + epqrJlr.setUse_time(useTime); + epqrJlr.setTrouble_reason(troubleReasonVaule); + epqrJlr.setTrouble_code(troubleCodeValue); + epqrJlr.setRepair(repair); + epqrJlr.setRemaer(remark); + epqrJlr.setOrder_id(Integer.valueOf(uid)); + epqrJlr.setDms_code(dmsCode); + saveOrUpdate(epqrJlr); + jsonObject.put("sign", true); + //回传json对象 + return jsonObject; + } catch (Exception e) { + e.printStackTrace(); + jsonObject.put("sign", false); + return jsonObject; + } + } +} diff --git a/src/main/java/com/zhongdao/jlr/business/dao/impl/CouponDaoImpl.java b/src/main/java/com/zhongdao/jlr/business/dao/impl/CouponDaoImpl.java new file mode 100644 index 0000000..a691d90 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/dao/impl/CouponDaoImpl.java @@ -0,0 +1,394 @@ +package com.zhongdao.jlr.business.dao.impl; + +import com.dubh.common.dao.hibernate.BaseDaoHibernate; +import com.util.UtilTools; +import com.util.Vo; +import com.zhongdao.jlr.business.dao.CouponDao; +import com.zhongdao.jlr.business.vo.CouponConsumeJlr; +import com.zhongdao.jlr.business.vo.CouponJlrVO; +import com.zhongdao.jlr.business.vo.CouponRechargeJlr; +import com.zhongdao.jlr.business.vo.PageInfo; +import com.zhongdao.jlr.pojo.CouponConsumeJlrPO; +import com.zhongdao.jlr.pojo.CouponRechargeJlrPO; +import com.zhongdao.jlr.util.MTextUtils; +import org.apache.commons.lang.StringUtils; +import org.apache.http.util.TextUtils; +import org.hibernate.SQLQuery; +import org.hibernate.Session; +import org.hibernate.Transaction; +import org.springframework.stereotype.Repository; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.List; + +@Repository("couponDaoImpl") +public class CouponDaoImpl extends BaseDaoHibernate implements CouponDao { + + @Override + public Vo searchConsume(String vin, String electronicAccounts,String userPhone, int page, int raws) { + //声明一个vo对象用来存储账户信息和账户数据总数 + Vo vo = new Vo(); + //声明一个分页类用来存储页数和每页多少条数据 + PageInfo pageInfo=new PageInfo(); + pageInfo.setPage(page); + pageInfo.setRows(raws); + try { + //sql动态拼接 + StringBuffer sql = new StringBuffer("select cj.electronic_accounts, cj.vin_code,cj.user_name,cj.user_phone,cj.license,cj.remark,ifNull((select sum((ifNull((recharge_count),0)-ifNull((consume_count),0))) as result from jlr_coupon_recharge j where j.overdue_time>NOW() and j.vin_code=cj.vin_code),0) as result ,cj.e_password from jlr_coupon cj where 1=1"); + if (!TextUtils.isEmpty(vin) || !TextUtils.isEmpty(electronicAccounts) || !TextUtils.isEmpty(userPhone)) { + if (!TextUtils.isEmpty(vin)) { + sql.append(" and cj.vin_code like '%" + vin + "%'"); + } + + if (!TextUtils.isEmpty(electronicAccounts)) { + sql.append(" and cj.electronic_accounts like '%" + electronicAccounts + "%'"); + } + if (!TextUtils.isEmpty(userPhone)) { + sql.append(" and cj.USER_PHONE like '%" + userPhone + "%'"); + } + } + String countSql=sql.toString(); + String sqlStr =sql.append(" limit "+pageInfo.getCurrentIndex()+","+pageInfo.getRows()).toString(); + List list = getRsBySql(sqlStr); + //声明一个list集合用来存储账户信息对象 + List resultList = new ArrayList<>(); + //遍历账户信息数据,并将每一个对象放入集合中 + for (Object[] obj : list) { + CouponJlrVO couponvo = new CouponJlrVO(); + couponvo.setElectronicAccounts(MTextUtils.objectToString(obj[0])); + couponvo.setVinCode(MTextUtils.objectToString(obj[1])); + couponvo.setUserName(MTextUtils.objectToString(obj[2])); + couponvo.setUserPhone(MTextUtils.objectToString(obj[3])); + couponvo.setLicense(MTextUtils.objectToString(obj[4])); + couponvo.setRemark(MTextUtils.objectToString(obj[5])); + couponvo.setCharge(MTextUtils.stringToDouble(MTextUtils.objectToString(obj[6]))); + couponvo.setPassword(MTextUtils.objectToString(obj[7])); + resultList.add(couponvo); + } + vo.setRows(resultList); + //获取账户数据总数 + int size = getRsCountsBySelectSql(countSql); + vo.setTotal(size); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + return vo; + } + + @Override + public Vo getCouponConsume(String vin, int page, int raws) { + //声明一个分页类用来存储页数和每页多少条数据 + PageInfo pageInfo=new PageInfo(); + pageInfo.setPage(page); + pageInfo.setRows(raws); + //声明一个list集合用来存储用户代金券消费记录 + List lists=new ArrayList<>(); + //时间格式化转换 + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); + Vo vo = new Vo(); + try { + //获取用户代金券消费记录 + List list = getRsBySql("select vin_code,consume_count,consume_time,settlement_state,remark from jlr_coupon_consume where VIN_CODE='" + vin + "' order by consume_time desc limit "+pageInfo.getCurrentIndex()+","+pageInfo.getRows()); + //遍历用户代金券消费记录并将其放入list集合中 + if(list != null && list.size()>0){ + for (int i=0;i lists=new ArrayList<>(); + try { + //获取用户的代金券充值记录 + List list = getRsBySql("select task_order_id,recharge_count,service_name,overdue_time,recharge_time from jlr_coupon_recharge where VIN_CODE='" + vin + "' limit "+pageInfo.getCurrentIndex()+","+pageInfo.getRows()); + //遍历充值信息及其放入集合中 + if(list != null && list.size()>0){ + for (int i=0;i= '"+queryDate1+"'"); + } + + // 结束时间 + if (StringUtils.isNotBlank(queryDate2)) { + sql.append(" and c.CONSUME_TIME <= '"+queryDate2+"'"); + } + String countSql=sql.append("ORDER BY CONSUME_TIME DESC ").toString(); + String info=sql.append("limit "+pageInfo.getCurrentIndex()+","+pageInfo.getRows()).toString(); + try { + List list = getRsBySql(info); + if (list != null && list.size() > 0) { + vo.setRows(UtilTools.listTojsonArray(list, new String[]{"ID", "VIN_CODE","CONSUME_COUNT","ELECTRONIC_ACCOUNTS","USER_PHONE","LICENSE","NAME","SETTLEMENT_STATE","CONSUME_TIME","REPARIE_INFO","HITCH_INFO","SETTLE_TIME","CREATE_TIME","REMARK"})); + } + vo.setTotal(getRsCountsBySelectSql(countSql)); + } catch (Exception e) { + e.printStackTrace(); + } + return vo; + } + + @Override + public boolean updateConsumeState(List couponechargeList, String cId, String state) { + Session session = null; + Transaction tx = null; + try { + session = getSessionFactory().getCurrentSession().getSessionFactory().openSession(); + tx = session.beginTransaction(); + //sql动态拼接 + StringBuffer sql = new StringBuffer("update jlr_coupon_consume set SETTLEMENT_STATE = " + state); + if (StringUtils.isBlank(state)) { + return false; + } + if ("10".equals(state)) { + sql.append(", settle_time = NOW()"); + } + if (StringUtils.isBlank(cId)) { + return false; + } else { + sql.append(" where id in (" + cId + ")"); + } + //更改状态 + SQLQuery query = session.createSQLQuery(sql.toString()); + query.executeUpdate(); + + //回滚充值记录 + for (CouponRechargeJlrPO c : couponechargeList) { + session.saveOrUpdate(c); + } + //事务提交 + tx.commit(); + return true; + } catch (Exception e) { + if (tx != null) { + //事务回滚 + tx.rollback(); + } + e.printStackTrace(); + return false; + } finally { + try { + closeResouce(session); + } catch (Exception e) { + e.printStackTrace(); + return false; + } + } + + } + @Override + public Vo queryCouponRecharge(String vin, String account, String orderCode, String license, String phone, String queryDate1, String queryDate2, int page, int raws) { + Vo vo = new Vo(); + //声明一个分页类用来存储页数和每页多少条数据 + PageInfo pageInfo=new PageInfo(); + pageInfo.setPage(page); + pageInfo.setRows(raws); + //sql动态拼接 + StringBuffer sql = new StringBuffer( + "SELECT c.ID,c.VIN_CODE,u.code,c.RECHARGE_TIME,c.RECHARGE_COUNT,c.SEATE_NAME,c.REMARK,c.SERVICE_NAME,c.OVERDUE_TIME,c.CONSUME_COUNT,r.ELECTRONIC_ACCOUNTS,c.CREATE_TIME, " + + "r.LICENSE, r.USER_PHONE\n" + + "FROM jlr_coupon_recharge c LEFT JOIN jlr_coupon r ON c.VIN_CODE = r.VIN_CODE " + + "LEFT JOIN (SELECT ID,CODE FROM user_order union SELECT ID,CODE FROM user_order_his) u on u.id = c.order_id " + + "where 1=1 "); + if (StringUtils.isNotBlank(vin)) { + sql.append(" and c.VIN_CODE like '%" + vin + "%'"); + } + if (StringUtils.isNotBlank(account)) { + sql.append(" and r.ELECTRONIC_ACCOUNTS like '%" + account + "%'"); + } + if (StringUtils.isNotBlank(orderCode)) { + sql.append(" and c.task_order_id like '%" + orderCode + "%'"); + } + if (StringUtils.isNotBlank(phone)) { + sql.append(" and r.USER_PHONE like '%" + phone + "%'"); + } + if (StringUtils.isNotBlank(license)) { + sql.append(" and r.LICENSE like '%" + license + "%'"); + } + if (StringUtils.isNotBlank(queryDate1)) { + sql.append(" and c.RECHARGE_TIME >= '"+queryDate1+"'"); + } + // 结束时间 + if (StringUtils.isNotBlank(queryDate2)) { + sql.append(" and c.RECHARGE_TIME <= '"+queryDate2+"'"); + } + String countSql=sql.append(" ORDER BY c.CREATE_TIME DESC").toString(); + String info=sql.append(" limit "+pageInfo.getCurrentIndex()+","+pageInfo.getRows()).toString(); + try { + //获取充值记录 + List list = getRsBySql(info); + //获取充值记录总数 + List lists = getRsBySql(countSql); + if (list != null && list.size() > 0) { + vo.setRows(UtilTools.listTojsonArray(list, new String[]{"ID", "VIN_CODE", "ORDER_CODE", "RECHARGE_TIME", "RECHARGE_COUNT", "SEATE_NAME", "REMARK", "SERVICE_NAME", "OVERDUE_TIME", "CONSUME_COUNT", "ELECTRONIC_ACCOUNTS", "CREATE_TIME", "LICENSE", "USER_PHONE"})); + } + //获取充值记录总条数 + vo.setTotal(lists.size()); + } catch (Exception e) { + e.printStackTrace(); + } + return vo; + } + + @Override + public Vo getCoupon(String vin, String electronicAccounts, int page, int raws) { + Vo vo = new Vo(); + //声明一个分页对象 + PageInfo pageInfo=new PageInfo(); + //获取页数和一页显示多少行并将其放入对象中 + pageInfo.setPage(page); + pageInfo.setRows(raws); + try { +// select cj.electronic_accounts, cj.vin_code,cj.user_name,cj.user_phone,cj.license,cj.remark, +// nvl((select sum((nvl((recharge_count),0)-nvl((consume_count),0))) as result from coupon_recharge_jlr j where j.overdue_timeNOW() and j.vin_code=cj.vin_code),0) as result,cj.e_password from jlr_coupon cj where 1=1"); + if (!TextUtils.isEmpty(vin) || !TextUtils.isEmpty(electronicAccounts)) { + if (!TextUtils.isEmpty(vin)) { + sql.append(" and cj.vin_code='" + vin + "'"); + } + + if (!TextUtils.isEmpty(electronicAccounts)) { + sql.append(" and cj.electronic_accounts='" + electronicAccounts + "'"); + } + } + String count=sql.toString(); + String info=sql.append(" limit "+pageInfo.getCurrentIndex()+","+pageInfo.getRows()).toString(); + List list = getRsBySql(info); + List resultList = new ArrayList<>(); + for (Object[] obj : list) { + CouponJlrVO couponvo = new CouponJlrVO(); + couponvo.setElectronicAccounts(MTextUtils.objectToString(obj[0])); + couponvo.setVinCode(MTextUtils.objectToString(obj[1])); + couponvo.setUserName(MTextUtils.objectToString(obj[2])); + couponvo.setUserPhone(MTextUtils.objectToString(obj[3])); + couponvo.setLicense(MTextUtils.objectToString(obj[4])); + couponvo.setRemark(MTextUtils.objectToString(obj[5])); + couponvo.setCharge(MTextUtils.stringToDouble(MTextUtils.objectToString(obj[6]))); + couponvo.setPassword(MTextUtils.objectToString(obj[7])); + resultList.add(couponvo); + } + vo.setRows(resultList); + List lists = getRsBySql(count); + int size=lists.size(); + vo.setTotal(size); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + return vo; + } + + @Override + public boolean consume(CouponConsumeJlrPO couponConsumeJlr, List couponRechargeJlrs) { + Session session = null; + Transaction tx = null; + try { + //获取session + session = getSessionFactory().getCurrentSession().getSessionFactory().openSession(); + //开启事务 + tx = session.beginTransaction(); + //保存或修改 + session.saveOrUpdate(couponConsumeJlr); + //批量保存或修改 + for (CouponRechargeJlrPO c : couponRechargeJlrs) { + session.saveOrUpdate(c); + } + //提交事务 + tx.commit(); + } catch (Exception e) { + if (tx != null) { + //事务回滚 + tx.rollback(); + } + e.printStackTrace(); + return false; + } finally { + try { + closeResouce(session); + } catch (Exception e) { + e.printStackTrace(); + return false; + } + } + + return true; + } +} diff --git a/src/main/java/com/zhongdao/jlr/business/dao/impl/EnterpriseDaoImpl.java b/src/main/java/com/zhongdao/jlr/business/dao/impl/EnterpriseDaoImpl.java new file mode 100644 index 0000000..0d26bdf --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/dao/impl/EnterpriseDaoImpl.java @@ -0,0 +1,115 @@ +package com.zhongdao.jlr.business.dao.impl; + +import com.dubh.common.dao.hibernate.BaseDaoHibernate; +import com.util.Vo; +import com.zhongdao.jlr.business.dao.EnterpriseDao; +import com.zhongdao.jlr.business.vo.PageInfo; +import com.zhongdao.jlr.pojo.BaseUser; +import com.zhongdao.jlr.pojo.EnterpriseJlr; +import org.apache.http.util.TextUtils; +import org.springframework.stereotype.Repository; + +import java.util.ArrayList; +import java.util.List; + +/*** + * 经销商维护 + */ + +@Repository(value = "enterpriseDaoImpl") +public class EnterpriseDaoImpl extends BaseDaoHibernate implements EnterpriseDao { + + @Override + public Vo searchEnterprise(String name,String abbrCode, Integer page, Integer rows) { + Vo vo=new Vo(); + //声明一个List集合用于接收查询的数据 + List list=null; + //声明一个分页的实体类分页数据放入实体类中 + PageInfo pageInfo=new PageInfo(); + pageInfo.setPage(page); + pageInfo.setRows(rows); + //声明一个字符串对象并将所需要的sql语句拼接到字符串中 + StringBuffer hqlSb=new StringBuffer("select name,abbr_code,address,contact,id from jlr_enterprise where 1=1"); + if(!TextUtils.isEmpty(name)){ + hqlSb.append(" and name like '%"+name+"%'"); + } + if(!TextUtils.isEmpty(abbrCode)){ + hqlSb.append(" and abbr_code like '%"+abbrCode+"%'"); + } + //声明一个字符串用于查询经销商数据总数 + String sql=hqlSb.toString(); + String hql=hqlSb.append(" limit "+pageInfo.getCurrentIndex()+","+pageInfo.getRows()).toString(); + //声明一个List集合用于存放Enterprise对象 + List lists=new ArrayList<>(); + try { + list=getRsBySql(hql); + if(list != null && list.size()>0){ + //遍历查询到数据并将其放入Enterprise对象中 + for (int i=0;i= '"+queryDate1+"'"); + } + // 结束时间 + if (StringUtils.isNotBlank(queryDate2)) { + sql.append(" and u.create_time <= '"+queryDate2+"'"); + } + String countSql=sql.toString(); + String info=sql.append(" limit "+pageInfo.getCurrentIndex()+","+pageInfo.getRows()).toString(); + try { + //获取服务费用核对信息总数 + List lists=getRsBySql(countSql); + //分页获取服务费用核对信息 + List list = getRsBySql(info); + if (list != null && list.size() > 0) { + vo.setRows(UtilTools.listTojsonArray(list, new String[]{"ID","ORDER_CODE","VIN_NO","NAME","ADDRESS","SERVICE_NAME","CREATE_TIME","RECUESTATE","MONEY","ACCOUNTSTATE","MILE","DESTINATION"})); + } + if(lists != null && lists.size() > 0) { + vo.setTotal(lists.size()); + } + } catch (Exception e) { + e.printStackTrace(); + return null; + } + return vo; + } + + @Override + public Vo lists(HttpServletRequest request, int page, int raws, String code, String orderCode, String queryDate1, String rescueCompanyName, String queryDate2, String check_state,String state) { + //创建一个vo对象 + Vo vo=new Vo(); + //声明一个分页对象 + PageInfo pageInfo=new PageInfo(); + //获取页数和一页显示多少行并将其放入对象中 + pageInfo.setPage(page); + pageInfo.setRows(raws); + //获取用户信息 + LoginUserVo logininfo=(LoginUserVo)request.getSession().getAttribute("logininfo"); + //创建sql + StringBuffer sql=null; + System.out.println(state); + if("0".equals(state)){ + sql=new StringBuffer("select u.id id,u.code code,u.vin_no vin_no,s.name name,u.vehicle_point_address vehicle_point_address," + + "b.name serviceName,u.create_time,u.order_status,c.other_amount other_amount,c.account_status account_status," + + "c.settle_mileage_bc settle_mileage_bc,d.address address from user_order_his u " + + "left join task_order_his t on t.user_order_id = u.id " + + "left join supplier s on s.id = t.service_supplier_id " + + "left join jlr_supplier_visual j on j.supplier_id = s.id " + + "left join task_order_cost_his c on c.user_order_id = u.id " + + "left join base_service b on b.id = u.service_id " + + "left join contract_destination d on d.id = u.contract_destination_id " + + "where j.jlr_user_id = "+logininfo.getId()); + }else{ + sql=new StringBuffer("select u.id id,u.code code,u.vin_no vin_no,s.name name,u.vehicle_point_address vehicle_point_address," + + "b.name serviceName,u.create_time,u.order_status,c.other_amount other_amount,c.account_status account_status," + + "c.settle_mileage_bc settle_mileage_bc,d.address address from user_order_his u " + + "left join task_order_his t on t.user_order_id = u.id " + + "left join supplier s on s.id = t.service_supplier_id " + + "left join jlr_supplier_visual j on j.supplier_id = s.id " + + "left join task_order_cost_his c on c.user_order_id = u.id " + + "left join base_service b on b.id = u.service_id " + + "left join contract_destination d on d.id = u.contract_destination_id " + + "where c.account_status in (4,6) and j.jlr_user_id = "+logininfo.getId()); + } + + if (StringUtils.isNotBlank(code)) { + sql.append(" and u.vin_no like '%" + code + "%'"); + } + if (StringUtils.isNotBlank(orderCode)) { + sql.append(" and u.code like '%" + orderCode + "%'"); + } + if (StringUtils.isNotBlank(rescueCompanyName)) { + sql.append(" and s.name like '%" + rescueCompanyName + "%'"); + } + if ("8".equals(check_state)){ + sql.append(" and (c.account_status = 2 or c.account_status = 3)"); + }else if(StringUtils.isNotBlank(check_state)){ + sql.append(" and c.account_status = "+check_state); + } + //开始时间 + if (StringUtils.isNotBlank(queryDate1)) { + sql.append(" and u.create_time >= '"+queryDate1+"'"); + } + // 结束时间 + if (StringUtils.isNotBlank(queryDate2)) { + sql.append(" and u.create_time <= '"+queryDate2+"'"); + } + String countSql=sql.toString(); + String info=sql.append(" limit "+pageInfo.getCurrentIndex()+","+pageInfo.getRows()).toString(); + try { + //获取服务费用信息总数 + List lists=getRsBySql(countSql); + //分页获取服务费用信息 + List list = getRsBySql(info); + if (list != null && list.size() > 0) { + vo.setRows(UtilTools.listTojsonArray(list, new String[]{"ID","ORDER_CODE","VIN_NO","NAME","ADDRESS","SERVICE_NAME","CREATE_TIME","RECUESTATE","MONEY","ACCOUNTSTATE","MILE","DESTINATION"})); + } + if(lists != null && lists.size() > 0) { + vo.setTotal(lists.size()); + } + } catch (Exception e) { + e.printStackTrace(); + return null; + } + return vo; + } + + @Override + public JSONObject exportData(HttpServletRequest request, String code, String orderCode, String queryDate1, String rescueCompanyName, String queryDate2, String check_state) { + //创建集合 + List listExcel = new ArrayList(); + //声明一个json对象 + JSONObject jsonObject = new JSONObject(); + //获取用户信息 + LoginUserVo logininfo = (LoginUserVo) request.getSession().getAttribute("logininfo"); + //创建sql + StringBuffer sql=new StringBuffer("select u.code code,u.vin_no vin_no,s.name name,u.vehicle_point_address vehicle_point_address," + + "b.name serviceName,u.create_time,u.order_status,c.other_amount other_amount,c.account_status account_status," + + "c.settle_mileage_bc settle_mileage_bc,d.address address from user_order_his u " + + "left join task_order_his t on t.user_order_id = u.id " + + "left join supplier s on s.id = t.service_supplier_id " + + "left join jlr_supplier_visual j on j.supplier_id = s.id " + + "left join task_order_cost_his c on c.user_order_id = u.id " + + "left join base_service b on b.id = u.service_id " + + "left join contract_destination d on d.id = u.contract_destination_id " + + "where j.jlr_user_id = "+logininfo.getId()); + //动态拼接 + if (StringUtils.isNotBlank(code)) { + sql.append(" and u.vin_no like '%" + code + "%'"); + } + if (StringUtils.isNotBlank(orderCode)) { + sql.append(" and u.code like '%" + orderCode + "%'"); + } + if (StringUtils.isNotBlank(rescueCompanyName)) { + sql.append(" and s.name like '%" + rescueCompanyName + "%'"); + } + if ("2".equals(check_state)){ + sql.append(" and (c.account_status = 2 or c.account_status = 3)"); + }else if(StringUtils.isNotBlank(check_state)){ + sql.append(" and c.account_status = "+check_state); + } + //开始时间 + if (StringUtils.isNotBlank(queryDate1)) { + sql.append(" and u.create_time >= '"+queryDate1+"'"); + } + // 结束时间 + if (StringUtils.isNotBlank(queryDate2)) { + sql.append(" and u.create_time <= '"+queryDate2+"'"); + } + List list=null; + try { + //获取服务费用信息 + list = getRsBySql(sql.toString()); + OrderCheckExcelVO header = new OrderCheckExcelVO("案件编号", "VIN码", "供应商", "案件事发地", "案件目的地", "服务类型", "案发时间", "案件状态", "公里数", "结算状态", "金额"); + listExcel.add(header); + if (list != null && list.size() > 0) { + JSONArray array = UtilTools.listTojsonArray(list, new String[]{"CODE", "VIN_NO", "NAME", "ADDRESS", "SERVICE_NAME","CREATE_TIME","RECUESTATE", "MONEY","ACCOUNTSTATE","MILE","DESTINATION"}); + for (int i = 0; i < array.size(); i++) { + JSONObject json = array.getJSONObject(i); + OrderCheckExcelVO vo = new OrderCheckExcelVO( + json.getString("CODE"), + json.getString("VIN_NO"), + json.getString("NAME"), + json.getString("ADDRESS"), + json.getString("DESTINATION"), + json.getString("SERVICE_NAME"), + json.getString("CREATE_TIME"), + MTextUtils.getRecueName(json.getString("RECUESTATE")), + StringUtils.isBlank(json.getString("MILE")) ? "NA" : String.valueOf(json.getInt("MILE") / 1000), + MTextUtils.getAccountState(json.getString("ACCOUNTSTATE")), + getFee(json.getInt("RECUESTATE"), + StringUtils.isBlank(json.getString("MONEY")) ? 0 : json.getInt("MONEY"), + StringUtils.isBlank(json.getString("MONEY")) ? 0 : json.getInt("MONEY") + ) + ); + listExcel.add(vo); + } + } + //获取时间戳 + long dateTime = System.currentTimeMillis(); + //获取导出路径 + String path = request.getRealPath("attached") + File.separator + + logininfo.getName() + File.separator + dateTime + ".xlsx"; + String webUrl = UtilTools.getWebAddress(request) + File.separator + + "attached" + File.separator + logininfo.getName() + File.separator + dateTime + ".xlsx"; + boolean b = new UserOrderExcelVO().saveAll(listExcel, path); + if (b) { + jsonObject.put("result", "0");// 0:成功,1失败 + jsonObject.put("msg", "导出成功!"); + jsonObject.put("webUrl", webUrl); + } + + } catch (Exception e) { + e.printStackTrace(); + } + return jsonObject; + + } + + @Override + public boolean updateInfo(String uid, String totalFee) { + String sql="update task_order_cost_his set report_amount =" +totalFee+ ",guidance_amount = 800,account_status = 3 where user_order_id ="+uid; + try{ + updateSql(sql); + }catch (Exception e){ + e.printStackTrace(); + return false; + } + return true; + } + + private String getFee(int state, int total2, int other2) { + if (state == 4 || state == 6) { + return String.valueOf(total2 + other2); + } else { + return "NA"; + } + } +} diff --git a/src/main/java/com/zhongdao/jlr/business/dao/impl/RoleDaoImpl.java b/src/main/java/com/zhongdao/jlr/business/dao/impl/RoleDaoImpl.java new file mode 100644 index 0000000..44b239a --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/dao/impl/RoleDaoImpl.java @@ -0,0 +1,216 @@ +package com.zhongdao.jlr.business.dao.impl; +import com.dubh.common.dao.hibernate.BaseDaoHibernate; +import com.util.UtilTools; +import com.util.Vo; +import com.zhongdao.jlr.business.dao.RoleDao; +import com.zhongdao.jlr.business.vo.JLRMenu; +import com.zhongdao.jlr.business.vo.JLRRMenu; +import com.zhongdao.jlr.business.vo.LoginUserVo; +import com.zhongdao.jlr.business.vo.PageInfo; +import com.zhongdao.jlr.pojo.BaseMenu; +import com.zhongdao.jlr.pojo.JLRAuthority; +import com.zhongdao.jlr.pojo.JLRRole; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; +import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; +import java.util.List; +@Repository +public class RoleDaoImpl extends BaseDaoHibernate implements RoleDao{ + + @Autowired + HttpServletRequest request; + + @Override + public Vo getRoleInfo(HttpServletRequest request, String name) { + //获取sessions用户信息 + LoginUserVo logininfo=(LoginUserVo)request.getSession().getAttribute("logininfo"); + Vo vo=new Vo(); + //声明一个分页对象 + PageInfo pageInfo=new PageInfo(); + //获取页数和一页显示多少行并将其放入对象中 + pageInfo.setPage(UtilTools.getPage(request)); + pageInfo.setRows(UtilTools.getRows(request)); + //sql动态拼接 + StringBuffer sql=new StringBuffer("select j.id,j.name,j.update_time from jlr_role j where j.delete_flag != 1 and j.id != "+ logininfo.getRole_id()); + if (StringUtils.isNotBlank(name)) { + sql.append(" and j.name like '%" + name + "%'"); + } + String countSql=sql.toString(); + String info=sql.append(" order by j.update_time desc limit "+pageInfo.getCurrentIndex()+","+pageInfo.getRows()).toString(); + try { + //获取角色信息总数 + List lists=getRsBySql(countSql); + //分页获取角色信息 + List list = getRsBySql(info); + if (list != null && list.size() > 0) { + //将角色信息放入vo对象中 + vo.setRows(UtilTools.listTojsonArray(list, new String[]{"ID","NAME","UPDATETIME"})); + } + if(lists != null && lists.size() > 0) { + vo.setTotal(lists.size()); + } + } catch (Exception e) { + e.printStackTrace(); + } + return vo; + } + + @Override + public List getTreeInfo() { + List listes=new ArrayList<>(); + List list=null; + try { + String sql = "select b.id,b.parent_id,b.name,b.action " + + "from (select parent_id " + + "from (select r.id," + + "r.role_id,r.menu_id,p.parent_id parent_id,p.id n,p.name,p.action" + + " from jlr_role_authority r " + + "inner join jlr_menu p on" + + " r.menu_id=p.id ) m " + + "group by " + + "m.parent_id) m " + + "inner join jlr_menu b on m.parent_id=b.id"; + //获取父级菜单信息 + list = getRsBySql(sql); + //获取子菜单 + List listess=getMenuInfo(); + //遍历菜单信息 + if (list != null && list.size() > 0) { + for (int i = 0; i < list.size(); i++) { + //将角色编号存入集合中 + List lists=new ArrayList<>(); + //声明一个菜单对象并将信息放入对象里面 + BaseMenu baseMenu = new BaseMenu(); + Object[] objects = (Object[]) list.get(i); + //声明一个tree对象 + JLRMenu jlrMenu= new JLRMenu(); + //将id和名称分别存入tree对象中 + jlrMenu.setId(Integer.valueOf(objects[0].toString())); + jlrMenu.setText(objects[2] == null ? "" : objects[2].toString()); + if(listess != null && list.size()>0) { + for (JLRRMenu listt : listess) { + //如果是父节点的子节点 + if(listt.getParent_id() == jlrMenu.getId()){ + //则将字节点放如集合中 + lists.add(listt); + } + } + } + //将集合放入tree对象中 + jlrMenu.setChildren(lists); + //将树对象放入集合中 + listes.add(jlrMenu); + } + } + }catch (Exception ex){ + ex.printStackTrace(); + return null; + } + return listes; + } + + @Override + public boolean updateRoleInfo(JLRRole jlrRole) { + try { + //添加或更新用户信息 + saveOrUpdate(jlrRole); + } catch (Exception e) { + e.printStackTrace(); + return false; + } + return true; + } + + @Override + public boolean updateRolesInfo(JLRAuthority jlrAuthority) { + try { + //添加或更新权限信息 + saveOrUpdate(jlrAuthority); + } catch (Exception e) { + e.printStackTrace(); + return false; + } + return true; + } + + @Override + public JLRRole getUser(String id) { + JLRRole jlrUser=null; + try { + //获取单个用户对象信息 + jlrUser=(JLRRole) getObjectHql("from JLRRole where id = "+id); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + return jlrUser; + } + + @Override + public List getMenu(String id) { + List lists=new ArrayList<>(); + List list=null; + try { + String sql = "select j.id,j.parent_id,j.name,j.action from jlr_menu j inner join jlr_role_authority l on j.id = l.menu_id where role_id ="+id; + //获取菜单信息 + list = getRsBySql(sql); + //遍历菜单信息 + if (list != null && list.size() > 0) { + for (int i = 0; i < list.size(); i++) { + //声明一个菜单对象并将信息放入对象里面 + BaseMenu baseMenu = new BaseMenu(); + Object[] objects = (Object[]) list.get(i); + baseMenu.setId(Integer.valueOf(objects[0].toString())); + baseMenu.setParent_id(Integer.valueOf(objects[1] == null ? "0" : objects[1].toString())); + baseMenu.setName(objects[2] == null ? "" : objects[2].toString()); + //将对象放入集合中 + lists.add(baseMenu); + } + } + }catch (Exception ex){ + ex.printStackTrace(); + return null; + } + return lists; + } + + public List getMenuInfo() { + List lists=new ArrayList<>(); + List list=null; + try { + String sql = "select l.id,l.parent_id,l.name,l.action from jlr_menu j inner join jlr_menu l on j.id = l.parent_id"; + //获取菜单信息 + list = getRsBySql(sql); + //遍历菜单信息 + if (list != null && list.size() > 0) { + for (int i = 0; i < list.size(); i++) { + //声明一个菜单对象并将信息放入对象里面 + JLRRMenu baseMenu = new JLRRMenu(); + Object[] objects = (Object[]) list.get(i); + baseMenu.setId(Integer.valueOf(objects[0].toString())); + baseMenu.setParent_id(Integer.valueOf(objects[1] == null ? "0" : objects[1].toString())); + baseMenu.setText(objects[2] == null ? "" : objects[2].toString()); + //将对象放入集合中 + lists.add(baseMenu); + } + } + }catch (Exception ex){ + ex.printStackTrace(); + return null; + } + return lists; + } + + @Override + public boolean deleteSupplier(Integer id) { + try { + deleteHql("delete JLRAuthority where role_id="+id); + } catch (Exception e) { + e.printStackTrace(); + return false; + } + return true; + } +} diff --git a/src/main/java/com/zhongdao/jlr/business/dao/impl/SupplierDaoImpl.java b/src/main/java/com/zhongdao/jlr/business/dao/impl/SupplierDaoImpl.java new file mode 100644 index 0000000..42f89db --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/dao/impl/SupplierDaoImpl.java @@ -0,0 +1,293 @@ +package com.zhongdao.jlr.business.dao.impl; + +import com.dubh.common.dao.hibernate.BaseDaoHibernate; +import com.util.UtilTools; +import com.util.Vo; +import com.zhongdao.jlr.business.dao.SupplierDao; +import com.zhongdao.jlr.business.vo.Contract; +import com.zhongdao.jlr.business.vo.Destination; +import com.zhongdao.jlr.business.vo.Enterprise; +import com.zhongdao.jlr.business.vo.PageInfo; +import com.zhongdao.jlr.pojo.*; +import org.apache.commons.lang.StringUtils; +import org.springframework.stereotype.Repository; + +import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; +import java.util.List; + +@Repository +public class SupplierDaoImpl extends BaseDaoHibernate implements SupplierDao{ + + @Override + public Vo getContractInfo(HttpServletRequest request,String name,String id) { + Vo vo=new Vo(); + //声明一个分页对象 + PageInfo pageInfo=new PageInfo(); + //获取页数和一页显示多少行并将其放入对象中 + pageInfo.setPage(UtilTools.getPage(request)); + pageInfo.setRows(UtilTools.getRows(request)); + //sql动态拼接 + StringBuffer sql=new StringBuffer("select c.id,c.contarct_code,c.contract_name,c.remark,c.app_code,c.create_time from contract c " + + "where c.id in (7049,7079,7050,7080) and c.level = 2 and c.delete_flag != 1 " + + "and c.id not in (select contract_id from jlr_contract_visual where jlr_user_id = "+id+")"); + //开始时间 + if (StringUtils.isNotBlank(name)) { + sql.append(" and c.contract_name like '%" + name + "%'"); + } + String countSql=sql.toString(); + String info=sql.append(" limit "+pageInfo.getCurrentIndex()+","+pageInfo.getRows()).toString(); + try { + //获取用户信息总数 + List lists=getRsBySql(countSql); + //分页获取用户信息 + List list = getRsBySql(info); + if (list != null && list.size() > 0) { + //将用户信息放入vo对象中 + vo.setRows(UtilTools.listTojsonArray(list, new String[]{"ID","CODE","NAME","REMARK","APPCODE","CREATETIME"})); + } + if(lists != null && lists.size() > 0) { + vo.setTotal(lists.size()); + } + } catch (Exception e) { + e.printStackTrace(); + } + return vo; + } + + @Override + public List getAssignContract(String id) { + List lists=new ArrayList<>(); + String sql="select c.id,c.contarct_code,c.contract_name,c.remark,c.app_code,c.create_time from contract c " + + "left join jlr_contract_visual j " + + "on j.contract_id = c. id " + + "where j.jlr_user_id="+id; + try { + //获取指定合同信息 + List list = getRsBySql(sql); + if (list != null && list.size() > 0) { + for(int i=0;i getAssignDestination(String id) { + List lists=new ArrayList<>(); + String sql="select c.id,c.name from contract_destination c " + + "left join jlr_destination_visual j " + + "on j.contract_destination_id = c.id " + + "where j.jlr_user_id="+id; + try { + //获取指定目的地信息 + List list = getRsBySql(sql); + if (list != null && list.size() > 0) { + for(int i=0;i getAssignEnterprise(String id) { + List lists=new ArrayList<>(); + String sql="select s.id,s.name from supplier s " + + "left join jlr_supplier_visual j " + + "on s.id=j.supplier_id " + + "where j.jlr_user_id="+id; + try { + //获取指定目的地信息 + List list = getRsBySql(sql); + if (list != null && list.size() > 0) { + for(int i=0;i 0) { + //将用户信息放入vo对象中 + vo.setRows(UtilTools.listTojsonArray(list, new String[]{"ID","NAME","CODE","LOGINNAME","CREATETIME"})); + } + if(lists != null && lists.size() > 0) { + vo.setTotal(lists.size()); + } + } catch (Exception e) { + e.printStackTrace(); + } + return vo; + } + + @Override + public Vo getDestination(HttpServletRequest request, String name,String id) { + Vo vo=new Vo(); + //声明一个分页对象 + PageInfo pageInfo=new PageInfo(); + //获取页数和一页显示多少行并将其放入对象中 + pageInfo.setPage(UtilTools.getPage(request)); + pageInfo.setRows(UtilTools.getRows(request)); + //sql动态拼接 + StringBuffer sql=new StringBuffer("select c.id,c.name,c.address,c.brand_name,c.create_time from contract_destination c " + + "left join jlr_contract_visual j " + + "on j.contract_id = c.contract_id " + + "where c.delete_flag != 1 " + + "and c.id not in (select contract_destination_id from jlr_destination_visual where jlr_user_id = "+id+") and j.jlr_user_id ="+id); + //开始时间 + if (StringUtils.isNotBlank(name)) { + sql.append(" and c.name like '%" + name + "%'"); + } + String countSql=sql.toString(); + String info=sql.append(" limit "+pageInfo.getCurrentIndex()+","+pageInfo.getRows()).toString(); + try { + //分页获取合同下的目的地信息总数 + List lists=getRsBySql(countSql); + //分页获取合同下的目的地信息 + List list = getRsBySql(info); + if (list != null && list.size() > 0) { + //将用户信息放入vo对象中 + vo.setRows(UtilTools.listTojsonArray(list, new String[]{"ID","NAME","ADDRESS","BRAND","CREATETIME"})); + } + if(lists != null && lists.size() > 0) { + vo.setTotal(lists.size()); + } + } catch (Exception e) { + e.printStackTrace(); + } + return vo; + } + + @Override + public boolean insertContractInfo(JLRUserContract jlrUserContract) { + try { + //为用户指定合同 + saveOrUpdate(jlrUserContract); + } catch (Exception e) { + e.printStackTrace(); + return false; + } + return true; + } + + @Override + public boolean insertDestinationInfo(JLRDestination jlrDestination) { + try { + //指定目的地 + saveOrUpdate(jlrDestination); + } catch (Exception e) { + e.printStackTrace(); + return false; + } + return true; + } + + @Override + public boolean insertEnterpriseInfo(JLRSupplier jlrSupplier) { + try { + //指定服务商 + saveOrUpdate(jlrSupplier); + } catch (Exception e) { + e.printStackTrace(); + return false; + } + return true; + } + + @Override + public boolean deleteDestinationInfo(int id,int uid) { + try { + //删除已指定的目的地信息 + deleteHql("delete JLRDestination where jlr_user_id = "+uid+" and contract_destination_id = "+id); + } catch (Exception e) { + e.printStackTrace(); + return false; + } + return true; + } + + @Override + public boolean deleteEnterpriseInfo(int sid,int uid) { + try { + //删除已指定的供应商信息 + deleteHql("delete JLRSupplier where jlr_user_id = "+uid+" and supplier_id = "+sid); + } catch (Exception e) { + e.printStackTrace(); + return false; + } + return true; + } + + @Override + public boolean deleteContractInfo(int cid,int uid) { + try { + //删除已指定的合同信息 + deleteHql("delete JLRUserContract where jlr_user_id = "+uid+" and contract_id = "+cid); + } catch (Exception e) { + e.printStackTrace(); + return false; + } + return true; + } + + @Override + public List getContract(String id) { + List jlrUserContract=null; + try { + jlrUserContract=(List) getRsByHql("from JLRUserContract where jlr_user_id = "+id); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + return jlrUserContract; + } +} diff --git a/src/main/java/com/zhongdao/jlr/business/dao/impl/UserInfoDaoImpl.java b/src/main/java/com/zhongdao/jlr/business/dao/impl/UserInfoDaoImpl.java new file mode 100644 index 0000000..bad8fef --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/dao/impl/UserInfoDaoImpl.java @@ -0,0 +1,138 @@ +package com.zhongdao.jlr.business.dao.impl; + +import com.dubh.common.dao.hibernate.BaseDaoHibernate; +import com.util.UtilTools; +import com.util.Vo; +import com.zhongdao.jlr.business.dao.UserInfoDao; +import com.zhongdao.jlr.business.vo.LoginUserVo; +import com.zhongdao.jlr.business.vo.PageInfo; +import com.zhongdao.jlr.pojo.EnterpriseJlr; +import com.zhongdao.jlr.pojo.JLRRole; +import com.zhongdao.jlr.pojo.JLRUser; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +@Repository +public class UserInfoDaoImpl extends BaseDaoHibernate implements UserInfoDao { + @Autowired + HttpServletRequest request; + @Override + public List getRoleInfo() { + //获取sessions用户信息 + LoginUserVo logininfo=(LoginUserVo)request.getSession().getAttribute("logininfo"); + List baseRole=null; + try { + //获取角色信息 + baseRole=(List)getRsByHql("from JLRRole where delete_flag != 1 and id != "+logininfo.getRole_id()); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + return baseRole; + } + + @Override + public List getEnterpriseInfo() { + //获取sessions用户信息 + LoginUserVo logininfo=(LoginUserVo)request.getSession().getAttribute("logininfo"); + List enterpriseJlrs=null; + try { + //获取用户信息 + enterpriseJlrs=(List)getRsByHql("from EnterpriseJlr"); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + return enterpriseJlrs; + } + + @Override + public Vo getUserInfo(HttpServletRequest request, String name, String phone,String role,String username) { + Vo vo=new Vo(); + //声明一个分页对象 + PageInfo pageInfo=new PageInfo(); + //获取页数和一页显示多少行并将其放入对象中 + pageInfo.setPage(UtilTools.getPage(request)); + pageInfo.setRows(UtilTools.getRows(request)); + //sql动态拼接 + StringBuffer sql=new StringBuffer("select j.login_name,j.id,j.name,j.phone,j.email,r.name roleName,j.update_time " + + "from jlr_user j " + + "left join jlr_role r " + + "on r.id=j.role_id " + + "where j.role_id != 1 and j.delete_flag != 1"); + if (StringUtils.isNotBlank(name)) { + sql.append(" and j.name like '%" + name + "%'"); + } + if (StringUtils.isNotBlank(phone)) { + sql.append(" and j.phone like '%" + phone + "%'"); + } + if (StringUtils.isNotBlank(role)) { + sql.append(" and j.role_id = '"+ role +"'"); + } + if (StringUtils.isNotBlank(username)) { + sql.append(" and j.login_name = '"+ username +"'"); + } + String countSql=sql.toString(); + String info=sql.append(" order by j.update_time desc limit "+pageInfo.getCurrentIndex()+","+pageInfo.getRows()).toString(); + try { + //获取用户信息总数 + List lists=getRsBySql(countSql); + //分页获取用户信息 + List list = getRsBySql(info); + if (list != null && list.size() > 0) { + //将用户信息放入vo对象中 + vo.setRows(UtilTools.listTojsonArray(list, new String[]{"LOGINNAME","ID","NAME","PHONE","EMAIL","ROLENAME","UPDATETIME"})); + } + if(lists != null && lists.size() > 0) { + vo.setTotal(lists.size()); + } + } catch (Exception e) { + e.printStackTrace(); + } + return vo; + } + + @Override + public boolean updateUserInfo(JLRUser user) { + try { + //添加或更新用户信息 + saveOrUpdate(user); + } catch (Exception e) { + e.printStackTrace(); + return false; + } + return true; + } + + @Override + public JLRUser getUser(String id) { + JLRUser jlrUser=null; + try { + //获取单个用户对象信息 + jlrUser=(JLRUser) getObjectHql("from JLRUser where id ="+id); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + return jlrUser; + } + + @Override + public boolean deleteUser(JLRUser user) { + try { + if(user != null){ + user.setDelete_flag(1); + } + //添加或更新用户信息 + saveOrUpdate(user); + } catch (Exception e) { + e.printStackTrace(); + return false; + } + return true; + } +} diff --git a/src/main/java/com/zhongdao/jlr/business/interceptor/UserInterceptor.java b/src/main/java/com/zhongdao/jlr/business/interceptor/UserInterceptor.java new file mode 100644 index 0000000..03f036c --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/interceptor/UserInterceptor.java @@ -0,0 +1,40 @@ +package com.zhongdao.jlr.business.interceptor; + +import java.util.Enumeration; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.springframework.web.servlet.HandlerInterceptor; +import org.springframework.web.servlet.ModelAndView; + +public class UserInterceptor implements HandlerInterceptor { + + private final String LOGININFO = "logininfo"; + + // 拦截前处理 + public boolean preHandle(HttpServletRequest request, + HttpServletResponse response, Object obj) throws Exception { + + Object sessionObj = request.getSession().getAttribute(LOGININFO); + if (sessionObj != null) { + return true; + } + response.sendRedirect(request.getContextPath()+"/login.jsp"); + return false; + } + + // 拦截后处理 + public void postHandle(HttpServletRequest request, + HttpServletResponse response, Object obj, ModelAndView mav) + throws Exception { + } + + // 全部完成后处理 + public void afterCompletion(HttpServletRequest request, + HttpServletResponse response, Object obj, Exception e) + throws Exception { + } + + +} diff --git a/src/main/java/com/zhongdao/jlr/business/listener/AutoRunServlet.java b/src/main/java/com/zhongdao/jlr/business/listener/AutoRunServlet.java new file mode 100644 index 0000000..1c77126 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/listener/AutoRunServlet.java @@ -0,0 +1,22 @@ +package com.zhongdao.jlr.business.listener; + +import java.util.Date; + +import javax.servlet.ServletContextEvent; +import javax.servlet.ServletContextListener; + +public class AutoRunServlet implements ServletContextListener{ + + public AutoRunServlet(){ + System.out.println("调用了构造方法"); + } + public void contextInitialized(ServletContextEvent event) { + System.out.println(" ----------创建了Context created on " + + new Date() + "."); + } + public void contextDestroyed(ServletContextEvent event) { + System.out.println("--------销毁了Context destroyed on " + + new Date() + "."); + } + + } diff --git a/src/main/java/com/zhongdao/jlr/business/listener/StartupListener.java b/src/main/java/com/zhongdao/jlr/business/listener/StartupListener.java new file mode 100644 index 0000000..9184b94 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/listener/StartupListener.java @@ -0,0 +1,37 @@ +package com.zhongdao.jlr.business.listener; + +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ + +import javax.annotation.Resource; + +import org.hibernate.Session; +import org.hibernate.SessionFactory; +import org.springframework.context.ApplicationListener; +import org.springframework.context.event.ContextRefreshedEvent; +import org.springframework.orm.hibernate4.SessionHolder; +import org.springframework.stereotype.Component; +import org.springframework.transaction.support.TransactionSynchronizationManager; + +/** + * 启动监听器 + * + * @author Storezhang + */ +@Component +public class StartupListener implements + ApplicationListener { + @Resource + private SessionFactory sessionFactory; + @Override + public void onApplicationEvent(ContextRefreshedEvent arg0) { + System.out.println("-----所有Bean载入完成---"); + System.out.println("开始配置缓存"); + //解决Spring启动加载静态数据时报No Session found for current thread异常 + Session session = sessionFactory.openSession(); + TransactionSynchronizationManager.bindResource(sessionFactory, new SessionHolder(session)); + } +} \ No newline at end of file diff --git a/src/main/java/com/zhongdao/jlr/business/service/BaseService.java b/src/main/java/com/zhongdao/jlr/business/service/BaseService.java new file mode 100644 index 0000000..b33efe1 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/service/BaseService.java @@ -0,0 +1,30 @@ +package com.zhongdao.jlr.business.service; + +import com.zhongdao.jlr.pojo.BaseMenu; +import org.json.JSONObject; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; +import java.util.Map; + +public interface BaseService { + + /** + * 登录 + * @param + * @return 用户信息 + */ + public Map login(HttpServletRequest request,Map result,String username,String password); + + /*** + * 获取菜单信息 + * @return + */ + List getMenuInfo(); + + /*** + * 获取父级菜单信息 + * @return + */ + List getParentMenuInfo(); +} diff --git a/src/main/java/com/zhongdao/jlr/business/service/CasesListService.java b/src/main/java/com/zhongdao/jlr/business/service/CasesListService.java new file mode 100644 index 0000000..dececae --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/service/CasesListService.java @@ -0,0 +1,67 @@ +package com.zhongdao.jlr.business.service; + +import com.util.Vo; +import com.zhongdao.jlr.business.vo.UserOrderViewVO; +import net.sf.json.JSONArray; +import org.json.JSONObject; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 接口 + */ +public interface CasesListService { + + /** + * 救援工单信息 + * + * @param + * @return 用户信息 + */ + Vo casesListService(String state,HttpServletRequest request, String caseCode, String frame_code, String + rescueState, String createTime, String finishTime, String companyName,String plateNumber); + + /*** + * 获取进店救援案件信息 + * @param request + * @param caseCode + * @param frame_code + * @param createTime + * @param finishTime + * @return + */ + Vo caseEnterQuery(String state,HttpServletRequest request,String caseCode,String frame_code,String createTime,String finishTime); + + /**** + * 获取案件详情信息 + * @return + */ + Vo caseEnterInfo(HttpServletRequest request,String caseCode,String tid); + + /* + * 故障三级信息 + */ + JSONObject getTroubleCode(HttpServletRequest request) throws Exception; + + /* + * 详细页面保存 + */ + JSONObject caseDetailSave(HttpServletRequest request) throws Exception; + + /* + * 导出报表 + */ + JSONObject exportData(HttpServletRequest request) throws Exception; + + /* + * 导出报表CSV格式 + */ + JSONObject exportCSVData(HttpServletRequest request,HttpServletResponse response) throws Exception; + + /* + * 求援完成确认 + */ + net.sf.json.JSONObject completionOfRescue(String code) throws Exception; +} diff --git a/src/main/java/com/zhongdao/jlr/business/service/CouponService.java b/src/main/java/com/zhongdao/jlr/business/service/CouponService.java new file mode 100644 index 0000000..b57e888 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/service/CouponService.java @@ -0,0 +1,88 @@ +package com.zhongdao.jlr.business.service; + + +import com.util.Vo; +import com.zhongdao.jlr.business.vo.CouponRechargeJlr; +import com.zhongdao.jlr.pojo.CouponRechargeJlrPO; +import org.json.JSONObject; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; +import java.util.Map; + +/*** + * 接口 + */ + +public interface CouponService { + + /** + * 代金券模糊搜索 + */ + public Vo searchConsume(String vinCode, String electronicAccounts,String userPhone, int page, int raws); + + /** + * 代金券消费记录 + */ + public Vo getCouponConsume(String vin, int page, int raws); + + /** + * 代金券充值记录 + */ + public Vo getCouponRecharge(String vin, int page, int raws); + + /** + * 代金券消费记录(整体) + */ + public Vo queryCouponConsume(String vin, String account, String RecuseCompanyName, String rescueCompanyCode, String license, String phone, String state, String qureyDate1, String queryDate2, int page, int raws); + + /* + * 导出报表 + */ + JSONObject exportData(HttpServletRequest request, String vin, String account, String RecuseCompanyName, String rescueCompanyCode, String license, String phone, String state, String qureyDate1, String queryDate2) throws Exception; + + /** + * 代金券消费修改 撤回、同意付款 + */ + public boolean updateConsumeState(String cId, String state); + + /** + * 代金券充值记录撤销 + */ + public List revokeRecharge(String vinCode, double revokeRechargeCount); + + /** + * 代金卷账户密码短信发送 + */ + boolean sendMsg(String phoneNum, String msgContent); + + /** + * 充值记录 + */ + public Vo queryCouponRecharge(String vin, String account, String orderCode, String license, String phone, String qureyDate1, String queryDate2, int page, int raws); + + + /*** + * 充值记录导出报表 + * @param request + * @param vin + * @param account + * @param orderCode + * @param phone + * @param qureyDate1 + * @param queryDate2 + * @return + * @throws Exception + */ + JSONObject rechangeExportData(HttpServletRequest request, String vin, String account, String orderCode, String phone, String qureyDate1, String queryDate2) throws Exception; + + /** + * 代金券 + */ + public Vo getCoupon(String vin, String electronicAccounts, int page, int raws); + + /** + * 代金券消费 + */ + public Map consume(String createTime, String vinCode, Double consumeCount, Integer resccueCompanyCode, String reparieInfo, String hitchInfo, String remark, String epassword); +} diff --git a/src/main/java/com/zhongdao/jlr/business/service/EnterpriseService.java b/src/main/java/com/zhongdao/jlr/business/service/EnterpriseService.java new file mode 100644 index 0000000..5b25dbb --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/service/EnterpriseService.java @@ -0,0 +1,46 @@ +package com.zhongdao.jlr.business.service; + +import com.util.Vo; +import com.zhongdao.jlr.pojo.EnterpriseJlr; +import org.json.JSONObject; + +import javax.servlet.http.HttpServletRequest; + +/*** + * 接口 + */ + +public interface EnterpriseService { + + /*** + * 查询经销商信息 + * @param name + * @param abbrCode + * @param page + * @param rows + * @return + */ + Vo searchEnterprise(String name,String abbrCode, + Integer page, Integer rows); + + /** + * 删除经销商信息 + */ + boolean deleteById(String id); + + /** + * 新增或者修改经销商信息 + */ + boolean putEnterprise(EnterpriseJlr enterprise, String newPassword, String confirmPassword,String UID) throws Exception; + + /** + * 根据ID获取经销商信息 + */ + public EnterpriseJlr getById(String id); + + + /** + * 获取经销商报表信息 + */ + JSONObject expordata(HttpServletRequest request, String name, String abbrCode); +} diff --git a/src/main/java/com/zhongdao/jlr/business/service/OrderCheckService.java b/src/main/java/com/zhongdao/jlr/business/service/OrderCheckService.java new file mode 100644 index 0000000..916eabd --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/service/OrderCheckService.java @@ -0,0 +1,48 @@ +package com.zhongdao.jlr.business.service; + +import com.util.Vo; +import net.sf.json.JSONObject; + +import javax.servlet.http.HttpServletRequest; + +/*** + * 接口 + */ + +public interface OrderCheckService { + + /** + * 订单核对信息 + * + * @param + * @return 用户信息 + */ + public Vo list(HttpServletRequest request, int page, int raws,String orderCode, String queryDate1, String rescueCompanyName, String queryDate2, String check_state); + + /** + * 服务费用信息 + * + * @param + * @return 用户信息 + */ + public Vo lists(HttpServletRequest request, int page, int raws, String code, String orderCode, String queryDate1, String rescueCompanyName, String queryDate2, String check_state,String state); + + /*** + * 导出 + * @param request + * @param code + * @param orderCode + * @param queryDate1 + * @param rescueCompanyName + * @param queryDate2 + * @param check_state + * @return + */ + JSONObject exportData(HttpServletRequest request, String code, String orderCode, String queryDate1, String rescueCompanyName, String queryDate2, String check_state); + + /*** + * 修改服务费用信息 + * @return + */ + boolean updateInfo(String uid,String totalFee); +} diff --git a/src/main/java/com/zhongdao/jlr/business/service/RoleService.java b/src/main/java/com/zhongdao/jlr/business/service/RoleService.java new file mode 100644 index 0000000..7f3c147 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/service/RoleService.java @@ -0,0 +1,56 @@ +package com.zhongdao.jlr.business.service; + +import com.util.Vo; +import com.zhongdao.jlr.business.vo.JLRMenu; +import com.zhongdao.jlr.business.vo.JLRRMenu; +import com.zhongdao.jlr.pojo.BaseMenu; +import com.zhongdao.jlr.pojo.JLRRole; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/*** + * 接口 + */ + +public interface RoleService { + + /*** + * 获取角色信息 + * @param request + * @param name + * @return + */ + Vo getRoleInfo(HttpServletRequest request,String name); + + /*** + * 获取树的信息 + * @return + */ + List getTreeInfo(); + + /*** + * 添加角色信息 + */ + boolean updateRoleInfo(JLRRole jlrRole ,int[] ids); + + /*** + * 根据编号获取角色信息 + * @param id + */ + JLRRole getRole(String id); + + /*** + * 根据id获取菜单信息 + * @param id + * @return + */ + List getMenu(String id); + + /*** + * 删除角色信息 + * @param id + * @param name + */ + boolean deleteRole(String id,String name); +} diff --git a/src/main/java/com/zhongdao/jlr/business/service/SupplierService.java b/src/main/java/com/zhongdao/jlr/business/service/SupplierService.java new file mode 100644 index 0000000..68f8338 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/service/SupplierService.java @@ -0,0 +1,98 @@ +package com.zhongdao.jlr.business.service; + + +import com.util.Vo; +import com.zhongdao.jlr.business.vo.Contract; +import com.zhongdao.jlr.business.vo.Destination; +import com.zhongdao.jlr.business.vo.Enterprise; +import com.zhongdao.jlr.pojo.JLRUserContract; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +public interface SupplierService{ + + /*** + *获取合同信息并分页展示 + * @param request + * @return + */ + Vo getContractInfo(HttpServletRequest request,String name,String id); + + /*** + * 获取指定的合同信息 + * @return + */ + List getAssignContract(String id); + + /*** + * 获取指定的目的地信息 + * @param id + * @return + */ + List geAssignDestination(String id); + + /*** + * 获取指定的供应商信息 + * @param id + * @return + */ + List geAssignEnterprise(String id); + + /*** + *获取供应商信息并分页展示 + * @param request + * @return + */ + Vo getEnterpriseInfo(HttpServletRequest request,String name,String id); + + /*** + *获取合同下的目的地信息并分页展示 + * @param request + * @return + */ + Vo getDestination(HttpServletRequest request,String name,String id); + + /*** + * 为用户指定合同 + * @return + */ + boolean insertContractInfo(Integer id,int[] ids); + + /*** + * 为用户指定目的地 + * @return + */ + boolean insertDestinationInfo(Integer id,int[] ids); + + /*** + * 为用户指定供应商 + * @return + */ + boolean insertEnterpriseInfo(Integer id,int[] ids); + + /*** + * 删除指定的合同 + * @return + */ + boolean deleteContractInfo(Integer id,int[] ids); + + /*** + * 删除指定的供应商 + * @return + */ + boolean deleteEnterpriseInfo(Integer id,int[] ids); + + /*** + * 删除指定的目的地 + * @return + */ + boolean deleteDestinationInfo(Integer id,int[] ids); + + /*** + * 获取合同信息 + * @param id + * @return + */ + List getDestinationInfo(String id); +} diff --git a/src/main/java/com/zhongdao/jlr/business/service/UserInfoService.java b/src/main/java/com/zhongdao/jlr/business/service/UserInfoService.java new file mode 100644 index 0000000..151ebbb --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/service/UserInfoService.java @@ -0,0 +1,53 @@ +package com.zhongdao.jlr.business.service; + +import com.util.Vo; +import com.zhongdao.jlr.pojo.EnterpriseJlr; +import com.zhongdao.jlr.pojo.JLRRole; +import com.zhongdao.jlr.pojo.JLRUser; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/*** + * 接口 + */ +public interface UserInfoService { + /*** + * 获取角色信息 + * @return + */ + List getRoleInfo(); + + /*** + * 获取经销商信息 + * @return + */ + List getEnterpriseInfo(); + + /*** + * 获取用户信息 + * @param request + * @param name + * @param phone + * @return + */ + Vo getUserInfo(HttpServletRequest request,String name,String phone,String role,String username); + + /*** + * 添加或更改用户信息 + */ + boolean updateUserInfo(JLRUser user); + + /*** + * 获取用户信息 + * @return + */ + JLRUser getUser(String id); + + /*** + * 根据编号删除用户 + * @param user + * @return + */ + boolean deleteUser(JLRUser user); +} diff --git a/src/main/java/com/zhongdao/jlr/business/service/impl/BaseServiceImpl.java b/src/main/java/com/zhongdao/jlr/business/service/impl/BaseServiceImpl.java new file mode 100644 index 0000000..a3650ad --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/service/impl/BaseServiceImpl.java @@ -0,0 +1,70 @@ +package com.zhongdao.jlr.business.service.impl; +import com.zhongdao.jlr.business.dao.BaseDao; +import com.zhongdao.jlr.business.service.BaseService; +import com.zhongdao.jlr.business.vo.LoginUserVo; +import com.zhongdao.jlr.pojo.*; +import jodd.util.BCrypt; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +@Service(value = "baseServiceImpl") +public class BaseServiceImpl implements BaseService { + + @Autowired + private BaseDao dao; + + @Override + public Map login(HttpServletRequest request, Map result, String username, String password) { + BaseUser entity = null; + List baseUserRoles=null; + List list=new ArrayList<>(); + try { + if (username.length() > 0 && null != password) { + //获取用户信息 + entity = (BaseUser) dao.getObjectHql("from BaseUser where delete_flag != 1 and login_name='" + username + "'"); + if (entity == null) { + throw new Exception("登陆帐号不存在!"); + } + //判断密码是否正确 + boolean ps=BCrypt.checkpw(password,entity.getPassword() ); + if (ps != true) { + throw new Exception("密码错误!"); + } + } else { + + throw new Exception("非法用户!"); + + } + LoginUserVo loginInfo = new LoginUserVo(); + loginInfo.setRole_id(entity.getRole_id()); + loginInfo.setId(entity.getId()); + loginInfo.setLogin_name(entity.getLogin_name()); + loginInfo.setName(entity.getName()); + loginInfo.setPhone(entity.getPhone()); + loginInfo.setEmail(entity.getEmail()); + loginInfo.setEnterpriseJlrId(entity.getEnterprise_id()); + request.getSession().setAttribute("logininfo", loginInfo); + result.put("flag", "1"); + result.put("msg", "登录成功"); + } catch (Exception ex) { + result.put("msg", ex.getMessage()); + } + return result; + } + + @Override + public List getMenuInfo() { + return dao.getMenuInfo(); + } + + @Override + public List getParentMenuInfo() { + return dao.getParentMenuInfo(); + } + + +} diff --git a/src/main/java/com/zhongdao/jlr/business/service/impl/CasesListServiceImpl.java b/src/main/java/com/zhongdao/jlr/business/service/impl/CasesListServiceImpl.java new file mode 100644 index 0000000..ea54cfc --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/service/impl/CasesListServiceImpl.java @@ -0,0 +1,475 @@ +package com.zhongdao.jlr.business.service.impl; +import com.util.UtilTools; +import com.util.Vo; +import com.zhongdao.jlr.business.dao.CaseDao; +import com.zhongdao.jlr.business.service.CasesListService; + +import com.zhongdao.jlr.business.vo.LoginUserVo; +import com.zhongdao.jlr.business.vo.UserOrderCSVVO; +import com.zhongdao.jlr.business.vo.UserOrderExcelVO; +import com.zhongdao.jlr.util.ExportCSVUtil; +import com.zhongdao.jlr.util.MTextUtils; + +import org.apache.commons.lang.StringUtils; +import org.json.JSONObject; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import static com.util.RequestUtil.ReturnObjStr; + +/** + * 处理道路救援的业务 + */ +@Service(value = "casesListServiceImpl") +public class CasesListServiceImpl implements CasesListService { + + @Autowired + private CaseDao dao; + + @Override + public Vo casesListService(String state,HttpServletRequest request, String caseCode, String frame_code, String rescueState, String createTime, String finishTime, String companyName,String plateNumber) { + return dao.casesListService(state,request,caseCode,frame_code,rescueState,createTime,finishTime,companyName,plateNumber); + } + + @Override + public Vo caseEnterQuery(String state,HttpServletRequest request, String caseCode, String frame_code, String createTime, String finishTime) { + return dao.caseEnterQuery(state,request,caseCode,frame_code,createTime,finishTime); + } + + @Override + public Vo caseEnterInfo(HttpServletRequest request, String caseCode,String tid) { + return dao.caseEnterInfo(request,caseCode,tid); + } + + @Override + public JSONObject getTroubleCode(HttpServletRequest request) throws Exception { + return dao.getTroubleCode(request); + } + + @Override + public JSONObject caseDetailSave(HttpServletRequest request) throws Exception { + return dao.caseDetailSave(request); + } + + @Override + public JSONObject exportData(HttpServletRequest request) throws Exception { + //获取参数 + String caseCode = request.getParameter("caseCode"); + String frame_code = request.getParameter("frame_code"); + String createTime = request.getParameter("createTime"); + String finishTime = request.getParameter("finishTime"); + String state = request.getParameter("state"); + //声明一个报表集合用来保存工单信息 + List listExcel = new ArrayList(); + String userName = null; + //获取用户信息 + LoginUserVo logininfo = (LoginUserVo) request.getSession().getAttribute("logininfo"); + if (logininfo != null) { + userName = logininfo.getLogin_name().toString(); + } + //创建sql + StringBuffer sql=null; + if("0".equals(state)){ + sql = new StringBuffer("select DISTINCT u.id uid,u.tid tid,u.code orderCode,u.create_time " + + "create_time,u.vin_no vin_no,s.name name, " + + "s.code code,b.name serviceName,u.model model,u.plate_number plate_number,m.start_time start_time,j.level_name levelName," + + "u.finish_time finish_time,t.level_name levelNames,d.name dName,d.brand_name brandName,e.dms_code dms_code," + + "e.trouble_reason trouble_reason,e.mileage mileage,e.dphm dphm,e.arrive_time arrive_time,e.remaer remaer," + + "e.choice_type choice_type,e.trouble_code trouble_code,e.repair repair,e.ref_time ref_time,e.finish_time finishes_time" + + ",e.hand_time hand_time,e.use_time use_time from " + + "(select u.code code,u.create_time,u.vin_no,u.order_status order_status," + + "u.service_id,t.service_supplier_id,u.contract_id contract_id,u.contract_destination_id destination_code," + + "u.model model,u.plate_number plate_number,u.member_service_group_id member_service_group_id,u.finish_time finish_time," + + "u.malfunction_level1 malfunction_level1,u.malfunction_level2 malfunction_level2,u.id id,u.contract_destination_id contract_destination_id,t.id tid " + + "from user_order_his u " + + "left join task_order_his t on t.user_order_id=u.id " + + "union select u.code code,u.create_time create_time,u.vin_no vin_no," + + "u.order_status order_status,u.service_id service_id " + + ",t.service_supplier_id service_supplier_id,u.contract_id contract_id,u.contract_destination_id destination_code," + + "u.model model,u.plate_number plate_number,u.member_service_group_id member_service_group_id,u.finish_time finish_time," + + "u.malfunction_level1 malfunction_level1,u.malfunction_level2 malfunction_level2,u.id id,u.contract_destination_id contract_destination_id,t.id tid " + + "from user_order u " + + "left join task_order t on t.user_order_id=u.id " + + ") u " + + "left join supplier s on u.service_supplier_id = s.id " + + "left join base_service b on b.id = u.service_id " + + "left join contract_member_service_group m on u.member_service_group_id=m.id " + + "left join contract_trouble_level j on j.id = u.malfunction_level1 " + + "left join contract_trouble_level t on t.id = u.malfunction_level2 " + + "left join jlr_epqr w on w.order_id = u.id " + + "left join contract_destination d on d.id = u.contract_destination_id " + + "left join jlr_epqr e on e.task_order_id = u.tid " + + "where b.id in (1041,1050,1500,1501,1520,1521) and " + + "u.order_status in (21,23,25,28,31) " + + "and u.contract_id in (select contract_id from jlr_contract_visual where jlr_user_id =" + logininfo.getId() + ")"); + }else{ + sql = new StringBuffer("select DISTINCT u.id uid,u.tid tid,u.code orderCode,u.create_time " + + "create_time,u.vin_no vin_no,s.name name, " + + "s.code code,b.name serviceName,u.model model,u.plate_number plate_number,m.start_time start_time,j.level_name levelName," + + "u.finish_time finish_time,t.level_name levelNames,d.name dName,d.brand_name brandName,e.dms_code dms_code," + + "e.trouble_reason trouble_reason,e.mileage mileage,e.dphm dphm,e.arrive_time arrive_time,e.remaer remaer," + + "e.choice_type choice_type,e.trouble_code trouble_code,e.repair repair,e.ref_time ref_time,e.finish_time finishes_time" + + ",e.hand_time hand_time,e.use_time use_time from " + + "(select u.code code,u.create_time,u.vin_no,u.order_status order_status," + + "u.service_id,t.service_supplier_id,u.contract_id contract_id,u.contract_destination_id destination_code," + + "u.model model,u.plate_number plate_number,u.member_service_group_id member_service_group_id,u.finish_time finish_time," + + "u.malfunction_level1 malfunction_level1,u.malfunction_level2 malfunction_level2,u.id id,u.contract_destination_id contract_destination_id,t.id tid " + + "from user_order_his u " + + "left join task_order_his t on t.user_order_id=u.id " + + "union select u.code code,u.create_time create_time,u.vin_no vin_no," + + "u.order_status order_status,u.service_id service_id " + + ",t.service_supplier_id service_supplier_id,u.contract_id contract_id,u.contract_destination_id destination_code," + + "u.model model,u.plate_number plate_number,u.member_service_group_id member_service_group_id,u.finish_time finish_time," + + "u.malfunction_level1 malfunction_level1,u.malfunction_level2 malfunction_level2,u.id id,u.contract_destination_id contract_destination_id,t.id tid " + + "from user_order u " + + "left join task_order t on t.user_order_id=u.id " + + ") u " + + "left join supplier s on u.service_supplier_id = s.id " + + "left join base_service b on b.id = u.service_id " + + "left join contract_member_service_group m on u.member_service_group_id=m.id " + + "left join contract_trouble_level j on j.id = u.malfunction_level1 " + + "left join contract_trouble_level t on t.id = u.malfunction_level2 " + + "left join jlr_epqr w on w.order_id = u.id " + + "left join contract_destination d on d.id = u.contract_destination_id " + + "left join jlr_epqr e on e.task_order_id = u.tid " + + "where b.id in (1041,1050,1500,1501,1520,1521) and " + + "u.order_status in (21,23,25,28,31) " + + "and u.destination_code in (select contract_destination_id from jlr_destination_visual where jlr_user_id ="+logininfo.getId()+")"); + } + //sql动态拼接 + if (StringUtils.isNotBlank(frame_code)) { + sql.append(" and u.vin_no like '%" + frame_code + "%'"); + } + if (StringUtils.isNotBlank(caseCode)) { + sql.append(" and u.code like '%" + caseCode + "%'"); + } + //开始时间 + if (StringUtils.isNotBlank(createTime)) { + sql.append(" and u.create_time >= '"+createTime+"'"); + } + // 结束时间 + if (StringUtils.isNotBlank(finishTime)) { + sql.append(" and u.create_time <= '"+finishTime+"'"); + } + sql.append(" order by u.create_time desc"); + JSONObject jsonObject = new JSONObject(); + //获取进店工单案件详情信息 + List list = dao.getRsBySql(sql.toString()); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + if (list != null && list.size() > 0) { + UserOrderExcelVO header = new UserOrderExcelVO("CLUB_ID_NUMBER", "BREAKDOWN_DATE", "VIN", "CURRENT_MILEAGE", "COMPONENT_DESCRIPTION", + "JLR_COMPONENT", "FAULT_DESCRIPTION", "VRT_CODE", "VFG_CODE", "COMPLETION_DESCRIPTION", "VERBATIM_COMMENTS", "INITIAL_DIAGNOSED_FAULT", + "ATTENDING_RESOURCE", "ACCEPTED", "SUPPRESS", "SHORT_VIN", "CTRY_OF_INCIDENT", "DEALER_CODE_REPAIR", "DEALER_NAME_REPAIR"); + listExcel.add(header); + //遍历获取到的进店工单信息并将其放入excel表中 + for (int i = 0; i < list.size(); i++) { + Object[] objects = (Object[]) list.get(i); + UserOrderExcelVO userOrderExcelVO = new UserOrderExcelVO(); + userOrderExcelVO.setClubIdNumber(ReturnObjStr(objects[2])); + userOrderExcelVO.setCtryOfIncident("CHN"); + userOrderExcelVO.setVerbatimComments(ReturnObjStr(objects[21])); + userOrderExcelVO.setBreakdownDate(sdf.format(sdf.parse(ReturnObjStr(objects[3])))); + userOrderExcelVO.setCurrentMileage(ReturnObjStr(objects[18])); + userOrderExcelVO.setAttendingResource("sino"); + userOrderExcelVO.setDealerCodeRepair("sino"); + userOrderExcelVO.setDealerNameRepair("中道救援"); + userOrderExcelVO.setAttendingResource(ReturnObjStr(objects[6])); + userOrderExcelVO.setDealerCodeRepair(ReturnObjStr(objects[15])); + userOrderExcelVO.setDealerNameRepair(ReturnObjStr(objects[14])); + String vin = ReturnObjStr(objects[4]); + userOrderExcelVO.setVin(vin); + userOrderExcelVO.setShortVin(vin.length() > 6 ? vin.substring(vin.length() - 6) : vin); + userOrderExcelVO.setJlrComponent(""); + userOrderExcelVO.setAccepted(""); + userOrderExcelVO.setSuppress(""); + userOrderExcelVO.setComponentDescription(ReturnObjStr(objects[23])); + userOrderExcelVO.setInitialDiagnosedFault(ReturnObjStr(objects[12])); + userOrderExcelVO.setFaultDescription(MTextUtils.getReason(ReturnObjStr(objects[17]))); + userOrderExcelVO.setVrtCode(""); + userOrderExcelVO.setVfgCode(""); + userOrderExcelVO.setCompletionDescription(MTextUtils.getRepairResult(ReturnObjStr(objects[24]))); + listExcel.add(userOrderExcelVO); + } + //格式化日期 + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); + String dateTime = simpleDateFormat.format(new Date()); + //创建导出路径 + String path = request.getRealPath("attached") + File.separator + + userName + File.separator + "EPQR_" + dateTime + ".xlsx"; + String webUrl = UtilTools.getWebAddress(request) + File.separator + + "attached" + File.separator + userName + File.separator + "EPQR_" + dateTime + ".xlsx"; + boolean b = new UserOrderExcelVO().saveAll(listExcel, path); + if (b) { + jsonObject.put("result", "0");// 0:成功,1失败 + jsonObject.put("msg", "导出成功!"); + jsonObject.put("webUrl", webUrl); + } + } + return jsonObject; + } + + @Override + public JSONObject exportCSVData(HttpServletRequest request,HttpServletResponse response) throws Exception { + //获取参数 + String caseCode = request.getParameter("caseCode"); + String frame_code = request.getParameter("frame_code"); + String createTime = request.getParameter("createTime"); + String finishTime = request.getParameter("finishTime"); + String state = request.getParameter("state"); + //声明一个报表集合用来保存工单信息 + List listExcel = new ArrayList(); + String userName = null; + //获取用户信息 + LoginUserVo logininfo = (LoginUserVo) request.getSession().getAttribute("logininfo"); + if (logininfo != null) { + userName = logininfo.getLogin_name().toString(); + } + //创建sql + StringBuffer sql=null; + if("0".equals(state)){ + sql = new StringBuffer("select DISTINCT u.id uid,u.tid tid,u.code orderCode,u.create_time " + + "create_time,u.vin_no vin_no,s.name name, " + + "s.code code,b.name serviceName,u.model model,u.plate_number plate_number,m.start_time start_time,j.level_name levelName," + + "u.finish_time finish_time,t.level_name levelNames,d.name dName,d.brand_name brandName,e.dms_code dms_code," + + "e.trouble_reason trouble_reason,e.mileage mileage,e.dphm dphm,e.arrive_time arrive_time,e.remaer remaer," + + "e.choice_type choice_type,e.trouble_code trouble_code,e.repair repair,e.ref_time ref_time,e.finish_time finishes_time" + + ",e.hand_time hand_time,e.use_time use_time from " + + "(select u.code code,u.create_time,u.vin_no,u.order_status order_status," + + "u.service_id,t.service_supplier_id,u.contract_id contract_id,u.contract_destination_id destination_code," + + "u.model model,u.plate_number plate_number,u.member_service_group_id member_service_group_id,u.finish_time finish_time," + + "u.malfunction_level1 malfunction_level1,u.malfunction_level2 malfunction_level2,u.id id,u.contract_destination_id contract_destination_id,t.id tid " + + "from user_order_his u " + + "left join task_order_his t on t.user_order_id=u.id " + + "union select u.code code,u.create_time create_time,u.vin_no vin_no," + + "u.order_status order_status,u.service_id service_id " + + ",t.service_supplier_id service_supplier_id,u.contract_id contract_id,u.contract_destination_id destination_code," + + "u.model model,u.plate_number plate_number,u.member_service_group_id member_service_group_id,u.finish_time finish_time," + + "u.malfunction_level1 malfunction_level1,u.malfunction_level2 malfunction_level2,u.id id,u.contract_destination_id contract_destination_id,t.id tid " + + "from user_order u " + + "left join task_order t on t.user_order_id=u.id " + + ") u " + + "left join supplier s on u.service_supplier_id = s.id " + + "left join base_service b on b.id = u.service_id " + + "left join contract_member_service_group m on u.member_service_group_id=m.id " + + "left join contract_trouble_level j on j.id = u.malfunction_level1 " + + "left join contract_trouble_level t on t.id = u.malfunction_level2 " + + "left join jlr_epqr w on w.order_id = u.id " + + "left join contract_destination d on d.id = u.contract_destination_id " + + "left join jlr_epqr e on e.task_order_id = u.tid " + + "where b.id in (1041,1050,1500,1501,1520,1521) and " + + "u.order_status in (21,23,25,28,31) " + + "and u.contract_id in (select contract_id from jlr_contract_visual where jlr_user_id =" + logininfo.getId() + ")"); + }else{ + sql = new StringBuffer("select DISTINCT u.id uid,u.tid tid,u.code orderCode,u.create_time " + + "create_time,u.vin_no vin_no,s.name name, " + + "s.code code,b.name serviceName,u.model model,u.plate_number plate_number,m.start_time start_time,j.level_name levelName," + + "u.finish_time finish_time,t.level_name levelNames,d.name dName,d.brand_name brandName,e.dms_code dms_code," + + "e.trouble_reason trouble_reason,e.mileage mileage,e.dphm dphm,e.arrive_time arrive_time,e.remaer remaer," + + "e.choice_type choice_type,e.trouble_code trouble_code,e.repair repair,e.ref_time ref_time,e.finish_time finishes_time" + + ",e.hand_time hand_time,e.use_time use_time from " + + "(select u.code code,u.create_time,u.vin_no,u.order_status order_status," + + "u.service_id,t.service_supplier_id,u.contract_id contract_id,u.contract_destination_id destination_code," + + "u.model model,u.plate_number plate_number,u.member_service_group_id member_service_group_id,u.finish_time finish_time," + + "u.malfunction_level1 malfunction_level1,u.malfunction_level2 malfunction_level2,u.id id,u.contract_destination_id contract_destination_id,t.id tid " + + "from user_order_his u " + + "left join task_order_his t on t.user_order_id=u.id " + + "union select u.code code,u.create_time create_time,u.vin_no vin_no," + + "u.order_status order_status,u.service_id service_id " + + ",t.service_supplier_id service_supplier_id,u.contract_id contract_id,u.contract_destination_id destination_code," + + "u.model model,u.plate_number plate_number,u.member_service_group_id member_service_group_id,u.finish_time finish_time," + + "u.malfunction_level1 malfunction_level1,u.malfunction_level2 malfunction_level2,u.id id,u.contract_destination_id contract_destination_id,t.id tid " + + "from user_order u " + + "left join task_order t on t.user_order_id=u.id " + + ") u " + + "left join supplier s on u.service_supplier_id = s.id " + + "left join base_service b on b.id = u.service_id " + + "left join contract_member_service_group m on u.member_service_group_id=m.id " + + "left join contract_trouble_level j on j.id = u.malfunction_level1 " + + "left join contract_trouble_level t on t.id = u.malfunction_level2 " + + "left join jlr_epqr w on w.order_id = u.id " + + "left join contract_destination d on d.id = u.contract_destination_id " + + "left join jlr_epqr e on e.task_order_id = u.tid " + + "where b.id in (1041,1050,1500,1501,1520,1521) and " + + "u.order_status in (21,23,25,28,31) " + + "and u.destination_code in (select contract_destination_id from jlr_destination_visual where jlr_user_id ="+logininfo.getId()+")"); + } + //sql动态拼接 + if (StringUtils.isNotBlank(frame_code)) { + sql.append(" and u.vin_no like '%" + frame_code + "%'"); + } + if (StringUtils.isNotBlank(caseCode)) { + sql.append(" and u.code like '%" + caseCode + "%'"); + } + //开始时间 + if (StringUtils.isNotBlank(createTime)) { + sql.append(" and u.create_time >= '"+createTime+"'"); + } + // 结束时间 + if (StringUtils.isNotBlank(finishTime)) { + sql.append(" and u.create_time <= '"+finishTime+"'"); + } + sql.append(" order by u.create_time desc"); + JSONObject jsonObject = new JSONObject(); + //获取进店工单案件详情信息 + List list = dao.getRsBySql(sql.toString()); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + if (list != null && list.size() > 0) { + UserOrderCSVVO header = new UserOrderCSVVO("CLUB_ID_NUMBER", "BREAKDOWN_DATE", "VIN", "CURRENT_MILEAGE", "COMPONENT_DESCRIPTION", + "JLR_COMPONENT", "FAULT_DESCRIPTION", "VRT_CODE", "VFG_CODE", "COMPLETION_DESCRIPTION", "VERBATIM_COMMENTS", "INITIAL_DIAGNOSED_FAULT", + "ATTENDING_RESOURCE", "ACCEPTED", "SUPPRESS", "SHORT_VIN", "CTRY_OF_INCIDENT", "DEALER_CODE_REPAIR", "DEALER_NAME_REPAIR"); + listExcel.add(header); + //遍历获取到的进店工单信息并将其放入excel表中 + for (int i = 0; i < list.size(); i++) { + Object[] objects = (Object[]) list.get(i); + UserOrderCSVVO userOrderExcelVO = new UserOrderCSVVO(); + userOrderExcelVO.setClubIdNumber(ReturnObjStr(objects[2])); + userOrderExcelVO.setCtryOfIncident("CHN"); + userOrderExcelVO.setVerbatimComments(ReturnObjStr(objects[21])); + userOrderExcelVO.setBreakdownDate(sdf.format(sdf.parse(ReturnObjStr(objects[3])))); + userOrderExcelVO.setCurrentMileage(ReturnObjStr(objects[18])); + userOrderExcelVO.setAttendingResource("sino"); + userOrderExcelVO.setDealerCodeRepair("sino"); + userOrderExcelVO.setDealerNameRepair("中道救援"); + userOrderExcelVO.setAttendingResource(ReturnObjStr(objects[6])); + userOrderExcelVO.setDealerCodeRepair(ReturnObjStr(objects[15])); + userOrderExcelVO.setDealerNameRepair(ReturnObjStr(objects[14])); + String vin = ReturnObjStr(objects[4]); + userOrderExcelVO.setVin(vin); + userOrderExcelVO.setShortVin(vin.length() > 6 ? vin.substring(vin.length() - 6) : vin); + userOrderExcelVO.setJlrComponent(""); + userOrderExcelVO.setAccepted(""); + userOrderExcelVO.setSuppress(""); + userOrderExcelVO.setComponentDescription(ReturnObjStr(objects[23])); + userOrderExcelVO.setInitialDiagnosedFault(ReturnObjStr(objects[12])); + userOrderExcelVO.setFaultDescription(MTextUtils.getReason(ReturnObjStr(objects[17]))); + userOrderExcelVO.setVrtCode(""); + userOrderExcelVO.setVfgCode(""); + userOrderExcelVO.setCompletionDescription(MTextUtils.getRepairResult(ReturnObjStr(objects[24]))); + listExcel.add(userOrderExcelVO); + } + //格式化日期 + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); + String dateTime = simpleDateFormat.format(new Date()); + //创建导出路径 + String path = request.getRealPath("attached") + File.separator + + userName + File.separator + "EPQR_" + dateTime + ".csv"; + String webUrl = UtilTools.getWebAddress(request) + File.separator + + "attached" + File.separator + userName + File.separator + "EPQR_" + dateTime + ".csv"; + boolean b = ExportCSVUtil.doExport(listExcel, path); + if (b) { + jsonObject.put("result", "0");// 0:成功,1失败 + jsonObject.put("msg", "导出成功!"); + jsonObject.put("webUrl", webUrl); + } + } + return jsonObject; + } + + @Override + public net.sf.json.JSONObject completionOfRescue(String code) throws Exception { + //声明一个解析图片的路径 + String url = "http://192.168.1.220:8888"; + //声明一个对象 + net.sf.json.JSONObject jsonObject=null; + String sql = "select u.code code,u.vin_no vin_no,u.model model,u.malfunction_remark malfunction_remark," + + "u.vehicle_point_address vehicle_point_address,u.destination_address destination_address,u.create_time create_time,u.arrive_time arrive_time," + + "u.finish_time finish_time,s.name supplier_name,s.code supplier_code,b.name name,i.images images from " + + "(select u.id id,u.code code,u.vin_no vin_no,u.model model,u.malfunction_remark malfunction_remark," + + "u.vehicle_point_address vehicle_point_address,u.destination_address destination_address,u.create_time create_time,t.arrive_time arrive_time," + + "t.finish_time finish_time,t.task_status task_status,u.service_id service_id,t.service_supplier_id service_supplier_id from user_order u " + + "left join task_order t on t.user_order_id = u.id " + + "union select u.id id,u.code code,u.vin_no vin_no,u.model model,u.malfunction_remark malfunction_remark," + + "u.vehicle_point_address vehicle_point_address,u.destination_address destination_address,u.create_time create_time,t.arrive_time arrive_time," + + "t.finish_time finish_time,t.task_status task_status,u.service_id service_id,t.service_supplier_id service_supplier_id from user_order_his u " + + "left join task_order_his t on t.user_order_id = u.id) u " + + "left join supplier s on u.service_supplier_id = s.id " + + "left join base_service b on b.id = u.service_id " + + "left join order_images i on i.order_id = u.id " + + "where u.code = '" + code +"' and i.task_status =19001"; + String Hsql="select u.code code,u.vin_no vin_no,u.model model,u.malfunction_remark malfunction_remark," + + "u.vehicle_point_address vehicle_point_address,u.destination_address destination_address,u.create_time create_time,u.arrive_time arrive_time," + + "u.finish_time finish_time,s.name supplier_name,s.code supplier_code,b.name name,i.images images from " + + "(select u.id id,u.code code,u.vin_no vin_no,u.model model,u.malfunction_remark malfunction_remark," + + "u.vehicle_point_address vehicle_point_address,u.destination_address destination_address,u.create_time create_time,t.arrive_time arrive_time," + + "t.finish_time finish_time,t.task_status task_status,u.service_id service_id,t.service_supplier_id service_supplier_id from user_order u " + + "left join task_order t on t.user_order_id = u.id " + + "union select u.id id,u.code code,u.vin_no vin_no,u.model model,u.malfunction_remark malfunction_remark," + + "u.vehicle_point_address vehicle_point_address,u.destination_address destination_address,u.create_time create_time,t.arrive_time arrive_time," + + "t.finish_time finish_time,t.task_status task_status,u.service_id service_id,t.service_supplier_id service_supplier_id from user_order_his u " + + "left join task_order_his t on t.user_order_id = u.id) u " + + "left join supplier s on u.service_supplier_id = s.id " + + "left join base_service b on b.id = u.service_id " + + "left join order_images i on i.order_id = u.id " + + "where u.code = '" + code +"' and i.task_status =14001"; + String sqls="select u.code code,u.vin_no vin_no,u.model model,u.malfunction_remark malfunction_remark," + + "u.vehicle_point_address vehicle_point_address,u.destination_address destination_address,u.create_time create_time,u.arrive_time arrive_time," + + "u.finish_time finish_time,s.name supplier_name,s.code supplier_code,b.name name from " + + "(select u.id id,u.code code,u.vin_no vin_no,u.model model,u.malfunction_remark malfunction_remark," + + "u.vehicle_point_address vehicle_point_address,u.destination_address destination_address,u.create_time create_time,t.arrive_time arrive_time," + + "t.finish_time finish_time,t.task_status task_status,u.service_id service_id,t.service_supplier_id service_supplier_id from user_order u " + + "left join task_order t on t.user_order_id = u.id " + + "union select u.id id,u.code code,u.vin_no vin_no,u.model model,u.malfunction_remark malfunction_remark," + + "u.vehicle_point_address vehicle_point_address,u.destination_address destination_address,u.create_time create_time,t.arrive_time arrive_time," + + "t.finish_time finish_time,t.task_status task_status,u.service_id service_id,t.service_supplier_id service_supplier_id from user_order_his u " + + "left join task_order_his t on t.user_order_id = u.id) u " + + "left join supplier s on u.service_supplier_id = s.id " + + "left join base_service b on b.id = u.service_id " + + "where u.code = '" + code +"'"; + try { + //声明一个对象 + net.sf.json.JSONObject jsonObjects=null; + //获取车主签名图片及救援详情信息 + List list = dao.getRsBySql(sql); + //获取客户接车签名图片及救援信息 + List list1=dao.getRsBySql(Hsql); + //获取救援详情信息 + List list2=dao.getRsBySql(sqls); + if (list != null && list.size() > 0) { + //若两张图片都有则将图片路径放入对象中 + jsonObject=UtilTools.listTojsonObject(list, new String[]{"ORDER_CODE", "VIN_NO", "MODEL", "MAL_REMARK", "START_ADDRESS", "DESTINATION_ADDRESS", "CREATE_TIME","ARRIVE_TIME","FINISH_TIME","NAME","CODE","SERVICE_TIME","URL"}); + if (list1 != null && list1.size() > 0) { + jsonObjects=UtilTools.listTojsonObject(list1, new String[]{"ORDER_CODE", "VIN_NO", "MODEL", "MAL_REMARK", "START_ADDRESS", "DESTINATION_ADDRESS", "CREATE_TIME","ARRIVE_TIME","FINISH_TIME","NAME","CODE","SERVICE_TIME","URL"}); + jsonObject.put("URLS",jsonObjects.get("URL")); + }else{ + jsonObject.put("URLS",""); + } + }else{ + //若两张图片都没有则将救援数据放入对象中 + if (list1 != null && list1.size() > 0) { + jsonObject=UtilTools.listTojsonObject(list1, new String[]{"ORDER_CODE", "VIN_NO", "MODEL", "MAL_REMARK", "START_ADDRESS", "DESTINATION_ADDRESS", "CREATE_TIME","ARRIVE_TIME","FINISH_TIME","NAME","CODE","SERVICE_TIME","URL"}); + jsonObject.put("URLS",jsonObject.get("URL")); + jsonObject.put("URL",""); + }else{ + if(list2 != null && list2.size()>0){ + jsonObject=UtilTools.listTojsonObject(list2, new String[]{"ORDER_CODE", "VIN_NO", "MODEL", "MAL_REMARK", "START_ADDRESS", "DESTINATION_ADDRESS", "CREATE_TIME","ARRIVE_TIME","FINISH_TIME","NAME","CODE","SERVICE_TIME"}); + jsonObject.put("URL",""); + jsonObject.put("URLS",""); + } + } + } + //截取图片路径动态拼接 + String urls=jsonObject.getString("URL"); + String urll=jsonObject.getString("URLS"); + if(urls.contains("IMAGE_URL_NEW")){ + String urles=urls.substring(13); + jsonObject.put("URL",url+urles); + } + if(urll.contains("IMAGE_URL_NEW")){ + String urles=urll.substring(13); + jsonObject.put("URLS",url+urles); + } + } catch (Exception e) { + e.printStackTrace(); + return null; + } + return jsonObject; + } +} diff --git a/src/main/java/com/zhongdao/jlr/business/service/impl/CouponServiceImpl.java b/src/main/java/com/zhongdao/jlr/business/service/impl/CouponServiceImpl.java new file mode 100644 index 0000000..6be0b6a --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/service/impl/CouponServiceImpl.java @@ -0,0 +1,459 @@ +package com.zhongdao.jlr.business.service.impl; + +import com.util.UtilTools; +import com.util.Vo; +import com.zhongdao.jlr.business.dao.CouponDao; +import com.zhongdao.jlr.business.service.CouponService; + +import com.zhongdao.jlr.business.vo.*; +import com.zhongdao.jlr.pojo.CouponConsumeJlrPO; +import com.zhongdao.jlr.pojo.CouponRechargeJlrPO; +import com.zhongdao.jlr.pojo.JLRCoupon; +import com.zhongdao.jlr.util.MTextUtils; +import org.apache.commons.lang.StringUtils; +import org.json.JSONObject; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import java.io.BufferedReader; +import java.io.File; +import java.io.InputStreamReader; +import java.net.URL; +import java.net.URLConnection; +import java.net.URLEncoder; +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.*; + +import static com.util.RequestUtil.ReturnObjStr; + +/*** + * 处理代金券的业务 + */ + +@Service(value = "couponServiceImpl") +public class CouponServiceImpl implements CouponService { + + @Autowired + private CouponDao dao; + + @Override + public Vo searchConsume(String vinCode, String electronicAccounts, + String userPhone, int page, int raws) { + + return dao.searchConsume(vinCode, electronicAccounts,userPhone, page, raws); + } + + @Override + public Vo getCouponConsume(String vin, int page, int raws) { + return dao.getCouponConsume(vin, page, raws); + } + + @Override + public Vo getCouponRecharge(String vin, int page, int raws) { + return dao.getCouponRecharge(vin, page, raws); + } + + @Override + public Vo queryCouponConsume(String vin, String account, String RecuseCompanyName, String rescueCompanyCode, String license, String phone, String state, String qureyDate1, String queryDate2, int page, int raws) { + return dao.queryCouponConsume(vin, account, RecuseCompanyName, rescueCompanyCode, license, phone, state, qureyDate1, queryDate2, page, raws); + } + @Override + public JSONObject exportData(HttpServletRequest request, String vin, String account, String RecuseCompanyName, String rescueCompanyCode, String license, String phone, String state, String queryDate1, String queryDate2) { + //声明一个json对象用来存储导出报表的信息 + JSONObject jsonObject = new JSONObject(); + //声明一个集合用来接收代金券消费记录的数据 + List list = null; + //声明一个导出报表集合用来存储代金券消费记录信息 + List listExcel = new ArrayList(); + //sql动态拼接 + StringBuffer sql = new StringBuffer( + "SELECT c.id,c.vin_code,c.consume_count,c.electronic_accounts,r.user_phone,r.license,e.NAME,c.settlement_state,c.CONSUME_TIME,c.reparie_info,c.hitch_info,c.settle_time,c.create_time,c.remark\n" + + "FROM jlr_coupon_consume c LEFT JOIN jlr_coupon r ON c.VIN_CODE = r.VIN_CODE\n" + + "LEFT JOIN jlr_enterprise e on c.enterprise_id = e.ID\n where 1=1 "); + if (StringUtils.isNotBlank(vin)) { + sql.append(" and c.VIN_CODE like '%" + vin + "%'"); + } + if (StringUtils.isNotBlank(account)) { + sql.append(" and c.electronic_accounts like '%" + account + "%'"); + } + if (StringUtils.isNotBlank(RecuseCompanyName)) { + sql.append(" and e.NAME like '%" + RecuseCompanyName + "%'"); + } + if (StringUtils.isNotBlank(phone)) { + sql.append(" and r.USER_PHONE like '%" + phone + "%'"); + } + if (StringUtils.isNotBlank(license)) { + sql.append(" and r.LICENSE like '%" + license + "%'"); + } + if (StringUtils.isNotBlank(state)) { + sql.append(" and c.settlement_state = '" + state + "'"); + } + if (StringUtils.isNotBlank(rescueCompanyCode)) { + sql.append(" and c.enterprise_id = '" + rescueCompanyCode + "'"); + } + if (StringUtils.isNotBlank(queryDate1)) { + sql.append(" and c.CONSUME_TIME >= '"+queryDate1+"'"); + } + + // 结束时间 + if (StringUtils.isNotBlank(queryDate2)) { + sql.append(" and c.CONSUME_TIME <= '"+queryDate2+"'"); + } + try { + //获取代金券消费记录信息 + list = dao.getRsBySql(sql.toString()); + //遍历代金券消费记录数据,并将其放入消费记录实体类中,再将实体类加入集合中 + if (list != null && list.size() > 0) { + ConsumeQueryExcelVO header = new ConsumeQueryExcelVO("VIN码", "电子账户", "手机号码", "车牌号", "消费时间", "消费金额", "经销商", "审批状态"); + listExcel.add(header); + for (int i = 0; i < list.size(); i++) { + ConsumeQueryExcelVO consumeQueryExcelVO = new ConsumeQueryExcelVO(); + Object[] objects = (Object[]) list.get(i); + consumeQueryExcelVO.setVinCode(ReturnObjStr(objects[1])); + consumeQueryExcelVO.setElectronicccounts(ReturnObjStr(objects[3])); + consumeQueryExcelVO.setUserPhone(ReturnObjStr(objects[4])); + consumeQueryExcelVO.setLicense(ReturnObjStr(objects[5])); + //格式化日期 + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); + Date date=sdf.parse(ReturnObjStr(objects[8])); + consumeQueryExcelVO.setConsumeTime(sdf.format(date)); + consumeQueryExcelVO.setConsumeCount(ReturnObjStr(objects[2])); + consumeQueryExcelVO.setName(ReturnObjStr(objects[6])); + consumeQueryExcelVO.setState(transState(ReturnObjStr(objects[7]))); + listExcel.add(consumeQueryExcelVO); + } + //时间格式转换 + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); + //获取当前时间并将其转换为string字符串 + String dateTime = simpleDateFormat.format(new Date()); + //导出报表路径 + String path = request.getRealPath("attached") + File.separator + "consumption_record_" + dateTime + ".xlsx"; + String webUrl = UtilTools.getWebAddress(request) + File.separator + + "attached" + File.separator + "consumption_record_" + dateTime + ".xlsx"; + boolean b = new ConsumeQueryExcelVO().saveAll(listExcel, path); + if (b) { + jsonObject.put("result", "0");// 0:成功,1失败 + jsonObject.put("msg", "导出成功!"); + jsonObject.put("webUrl", webUrl); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + return jsonObject; + + } + + /**** + * 根据状态码返回对应的结果信息 + * @param value + * @return + */ + private String transState(String value) { + switch (value) { + case "0": + return "未结算"; + case "1": + return "未结算"; + case "5": + return "提交结算"; + case "10": + return "同意付款"; + case "100": + return "已付款"; + case "101": + return "已撤销"; + default: + break; + } + return ""; + } + + @Override + public boolean updateConsumeState(String cId, String state) { + List couponRechargeJlrList = new ArrayList(); + //如果是撤销这需要撤销充值记录的变动 + if ("101".equals(state)) { + //以,分割id + String[] ids = cId.split(","); + for (String id : ids) { + CouponConsumeJlrPO consumejlr = null; + try { + //获取消费记录信息 + consumejlr = (CouponConsumeJlrPO) dao.getObjectHql("from CouponConsumeJlrPO where id=" + id); + } catch (Exception e) { + e.printStackTrace(); + return false; + } + //获取充值记录信息 + List list = revokeRecharge(consumejlr.getVin_code(), consumejlr.getConsume_count()); + if (list != null) { + couponRechargeJlrList.addAll(list); + } + } + if (couponRechargeJlrList.size() == 0) { + return false; + } + } + //更改状态(撤销充值记录) + return dao.updateConsumeState(couponRechargeJlrList, cId, state); + } + + @Override + public List revokeRecharge(String vinCode, double revokeRechargeCount) { + //声明一个集合用来存储充值记录信息 + List couponRechargeJlrList = null; + try { + //获取用户的充值记录 + couponRechargeJlrList = dao.getRsByHql("from CouponRechargeJlrPO where CONSUME_COUNT>0 and VIN_CODE='" + vinCode + "' and overdue_time>NOW() order by overdue_time desc"); + } catch (Exception e) { + e.printStackTrace(); + return couponRechargeJlrList; + } + //计算代金劵充值应该退回的充值记录 + List revokeCouponRechargeJlrList = new ArrayList(); + double b = revokeRechargeCount; + //遍历用户的代金券充值记录 + for (CouponRechargeJlrPO couponRechargeJlr : couponRechargeJlrList) { + //获取用户的消费金额 + double c = couponRechargeJlr.getConsume_count(); + if (c > 0) { + //如果用户的代金券充值金额大于用户的代金券消费金额 + if (b >= c) { + //更新用户代金券的消费金额为0.0 + couponRechargeJlr.setConsume_count(0.0F); + b = b - c; + revokeCouponRechargeJlrList.add(couponRechargeJlr); + continue; + } else { + //更新用户的代金券消费金额 + couponRechargeJlr.setConsume_count(Float.valueOf(String.valueOf(Double.parseDouble(couponRechargeJlr.getConsume_count().toString()) - b))); + revokeCouponRechargeJlrList.add(couponRechargeJlr); + b = 0; + break; + } + + } + } + return couponRechargeJlrList; + } + @Override + public boolean sendMsg(String phoneNum, String msgContent) { + //String send_url = "http://sms.10690221.com/hy/?uid=20016&auth=8827d737029bc0950a90cf9ce5946ce9&expid=0&encode=GBK"; + String send_url = "http://sms.10690221.com/hy/?uid=20016&auth=093627dd3b2b54900dcd355fd92b8f91&expid=0&encode=GBK"; + BufferedReader reader = null; + try { + send_url += "&mobile=" + phoneNum + "&msg=" + URLEncoder.encode(msgContent, "GBK"); + StringBuffer readOneLineBuff = new StringBuffer(); + String content = ""; + URL url = new URL(send_url); + URLConnection conn = url.openConnection(); + conn.setConnectTimeout(1000); + conn.setReadTimeout(1000); + reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); + String line = ""; + while ((line = reader.readLine()) != null) { + readOneLineBuff.append(line); + } + reader.close(); + + content = readOneLineBuff.toString(); + + if ("0".equals(content.split(",")[0])) { + return true; + } + } catch (Exception e2) { + } finally { + if (reader != null) { + try { + reader.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + return false; + } + + @Override + public Vo queryCouponRecharge(String vin, String account, String orderCode, String license, String phone, String qureyDate1, String queryDate2, int page, int raws) { + return dao.queryCouponRecharge(vin, account, orderCode, license, phone, qureyDate1, queryDate2, page, raws); + } + + @Override + public JSONObject rechangeExportData(HttpServletRequest request, String vin, String account, String orderCode, String phone, String queryDate1, String queryDate2) throws Exception { + { + JSONObject jsonObject = new JSONObject(); + List list = null; + List listExcel = new ArrayList(); + //sql动态拼接 + StringBuffer sql = new StringBuffer( + "SELECT c.ID,c.VIN_CODE,c.task_order_id,c.RECHARGE_TIME,c.RECHARGE_COUNT,c.SEATE_NAME,c.REMARK,c.SERVICE_NAME,c.OVERDUE_TIME,c.CONSUME_COUNT,r.ELECTRONIC_ACCOUNTS,c.CREATE_TIME, " + + "r.LICENSE, r.USER_PHONE\n" + + "FROM jlr_coupon_recharge c LEFT JOIN jlr_coupon r ON c.VIN_CODE = r.VIN_CODE where 1=1 "); + if (StringUtils.isNotBlank(vin)) { + sql.append(" and c.VIN_CODE like '%" + vin + "%'"); + } + if (StringUtils.isNotBlank(account)) { + sql.append(" and r.ELECTRONIC_ACCOUNTS like '%" + account + "%'"); + } + if (StringUtils.isNotBlank(orderCode)) { + sql.append(" and c.task_order_id like '%" + orderCode + "%'"); + } + if (StringUtils.isNotBlank(phone)) { + sql.append(" and r.USER_PHONE like '%" + phone + "%'"); + } + if (StringUtils.isNotBlank(queryDate1)) { + sql.append(" and c.RECHARGE_TIME >= '"+queryDate1+"'"); + } + // 结束时间 + if (StringUtils.isNotBlank(queryDate2)) { + sql.append(" and c.RECHARGE_TIME <= '"+queryDate2+"'"); + } + + sql.append("ORDER BY CREATE_TIME DESC"); + try { + list = dao.getRsBySql(sql.toString()); + //获取充值记录信息并将其遍历,放入实例化对象中,再将对象加入集合中 + if (list != null && list.size() > 0) { + RechangeQueryExcelVO header = new RechangeQueryExcelVO("VIN码", "电子账户", "手机号码", "车牌号", "服务类型", "案件编号", "充值金额", "充值时间", "到期时间"); + listExcel.add(header); + for (int i = 0; i < list.size(); i++) { + RechangeQueryExcelVO rechangeQueryExcelVO = new RechangeQueryExcelVO(); + Object[] objects = (Object[]) list.get(i); + rechangeQueryExcelVO.setVinCode(ReturnObjStr(objects[1])); + rechangeQueryExcelVO.setElectronicAccounts(ReturnObjStr(objects[10])); + rechangeQueryExcelVO.setUserPhone(ReturnObjStr(objects[13])); + rechangeQueryExcelVO.setLicense(ReturnObjStr(objects[12])); + rechangeQueryExcelVO.setServiceType(ReturnObjStr(objects[5])); + rechangeQueryExcelVO.setcaseCode(ReturnObjStr(objects[2])); + //格式化日期 + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); + Date date=sdf.parse(ReturnObjStr(objects[3])); + rechangeQueryExcelVO.setRechargeTime(sdf.format(date)); + rechangeQueryExcelVO.setRechargeCount(ReturnObjStr(objects[4])); + Date overDate=sdf.parse(ReturnObjStr(objects[8])); + rechangeQueryExcelVO.setOverdueTime(sdf.format(overDate)); + listExcel.add(rechangeQueryExcelVO); + } + + //String s = URLEncoder.encode("充值记录", "GBK"); + //时间格式转换 + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); + //获取当前时间并转换为字符串 + String dateTime = simpleDateFormat.format(new Date()); + //到处报表路径 + String path = request.getRealPath("attached") + File.separator + "recharge_record_" + dateTime + ".xlsx"; + String webUrl = UtilTools.getWebAddress(request) + File.separator + + "attached" + File.separator + "recharge_record_" + dateTime + ".xlsx"; + boolean b = new RechangeQueryExcelVO().saveAll(listExcel, path); + if (b) { + jsonObject.put("result", "0");// 0:成功,1失败 + jsonObject.put("msg", "导出成功!"); + jsonObject.put("webUrl", webUrl); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + return jsonObject; + + } + } + + @Override + public Vo getCoupon(String vin, String electronicAccounts, int page, int raws) { + return dao.getCoupon(vin, electronicAccounts, page, raws); + } + + @Override + public Map consume(String consumeTime, String vinCode, Double consumeCount, + Integer enterpriseJlrId, String reparieInfo, String hitchInfo, String remark, String epassword) { + //声明一个Map集合用来存储结果集信息 + Map map = new HashMap(); + map.put("status", false); + try { + //判断密码是否正确 + JLRCoupon conponjlr = (JLRCoupon) dao.getObjectHql("from JLRCoupon where vin_code='" + vinCode + "' and e_password='" + epassword + "'"); + if (conponjlr == null) { + map.put("msg", "消费密码不正确"); + return map; + } + + //查询该用户的充值记录 + List couponRechargeJlrList = dao.getRsByHql("from CouponRechargeJlrPO where VIN_CODE='" + vinCode + "' and recharge_count>ifNull(consume_count,0) and overdue_time>NOW() order by overdue_time"); + double balance = 0;//余额 + if (couponRechargeJlrList != null && couponRechargeJlrList.size() > 0) { + for (CouponRechargeJlrPO couponRechargeJlr : couponRechargeJlrList) { + balance += (couponRechargeJlr.getRecharge_count() - MTextUtils.stringToDouble(couponRechargeJlr.getConsume_count())); + } + } else { + map.put("msg", "余额不足"); + return map; + } + + + //余额小于消费金额 + if (balance < consumeCount) { + map.put("msg", "余额不足"); + return map; + } + + + //计算代金劵消费 + List consumeCouponRechargeJlrList = new ArrayList(); + //声明本次的消费金额 + double b = consumeCount; + //遍历所有的充值信息(充值金额大于消费金额且没有过期) + for (CouponRechargeJlrPO couponRechargeJlr : couponRechargeJlrList) { + double c = couponRechargeJlr.getRecharge_count() - MTextUtils.stringToDouble(couponRechargeJlr.getConsume_count()); + if (c > 0) { + if (c >= b) { + String s=String.valueOf(b + MTextUtils.stringToDouble(couponRechargeJlr.getConsume_count())); + couponRechargeJlr.setConsume_count(Float.valueOf(s)); + consumeCouponRechargeJlrList.add(couponRechargeJlr); + break; + } else { + b = b - c; + couponRechargeJlr.setConsume_count(couponRechargeJlr.getRecharge_count()); + consumeCouponRechargeJlrList.add(couponRechargeJlr); + continue; + } + + } + } + //声明一个消费记录实体类 + CouponConsumeJlrPO conponConsumejlr = new CouponConsumeJlrPO(); + conponConsumejlr.setElectronic_accounts(conponjlr.getElectronic_accounts()); + conponConsumejlr.setVin_code(vinCode); + conponConsumejlr.setConsume_count(Float.valueOf(String.valueOf(consumeCount))); + conponConsumejlr.setHitch_info(hitchInfo); + conponConsumejlr.setEnterprise_id(enterpriseJlrId); + conponConsumejlr.setReparie_info(reparieInfo); + conponConsumejlr.setRemark(remark); + conponConsumejlr.setSettlement_state(0); + conponConsumejlr.setCreate_time(new Date()); + conponConsumejlr.setUpdate_time(new Date()); + conponConsumejlr.setSettle_time(new Date()); + DateFormat format1 = new SimpleDateFormat("yyyy-MM-dd"); + conponConsumejlr.setConsume_time(format1.parse(consumeTime)); + //临时主键生成 + conponConsumejlr.setId(Integer.valueOf((System.currentTimeMillis() / 10 + "").substring(3))); + if (dao.consume(conponConsumejlr, consumeCouponRechargeJlrList)) { + map.put("status", true); + return map; + } else { + map.put("msg", "数据出错!"); + return map; + } + + } catch (Exception e) { + e.printStackTrace(); + map.put("msg", "数据出错!"); + return map; + } + } + +} diff --git a/src/main/java/com/zhongdao/jlr/business/service/impl/EnterpriseServiceImpl.java b/src/main/java/com/zhongdao/jlr/business/service/impl/EnterpriseServiceImpl.java new file mode 100644 index 0000000..9f5e2d2 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/service/impl/EnterpriseServiceImpl.java @@ -0,0 +1,167 @@ +package com.zhongdao.jlr.business.service.impl; + +import com.util.UtilTools; +import com.util.Vo; +import com.zhongdao.jlr.business.dao.EnterpriseDao; +import com.zhongdao.jlr.business.service.EnterpriseService; +import com.zhongdao.jlr.business.vo.EnterpriseExcelVO; +import com.zhongdao.jlr.pojo.BaseUser; +import com.zhongdao.jlr.pojo.EnterpriseJlr; +import com.zhongdao.jlr.util.GeoAddressCenter; +import jodd.util.BCrypt; +import org.apache.http.util.TextUtils; +import org.json.JSONObject; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import java.io.File; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/*** + * 处理经销商维护的业务 + */ +@Service(value = "enterpriseServiceImpl") +public class EnterpriseServiceImpl implements EnterpriseService { + + @Autowired + private EnterpriseDao enterpriseDao; + + @Override + public Vo searchEnterprise(String name, String abbrCode, + Integer page, Integer rows) { + return enterpriseDao.searchEnterprise(name,abbrCode,page, rows); + } + + @Override + public boolean deleteById(String id) { + return enterpriseDao.deleteById(id); + } + + @Override + public boolean putEnterprise(EnterpriseJlr enterprise, String newPassword, String confirmPassword,String UID) throws + Exception { + //声明一个用户对象 + List systemUser =new ArrayList<>(); + String sql=null; + //根据供应商id获取用户信息 + if(UID == null) { + sql = "select id from jlr_user where enterprise_id is not null and enterprise_id = "+ enterprise.getId(); + }else{ + sql = "select id from jlr_user where enterprise_id is not null and enterprise_id= "+ enterprise.getId()+ " and id = "+UID; + } + List list=enterpriseDao.getRsBySql(sql); + for (int i = 0; i < list.size(); i++) { + //声明一个菜单对象并将信息放入对象里面 + BaseUser baseUser = new BaseUser(); + baseUser.setId((Integer)list.get(i)); + //将对象放入集合中 + systemUser.add(baseUser); + } + //如果没有供应商id说明此操作为添加 + if (enterprise.getId() == null || enterprise.getId() < 1) { + //临时主键生成 + enterprise.setId(Integer.valueOf((System.currentTimeMillis() / 10 + "").substring(3))); + //声明一个当前时间的对象 + Date date=new Date(); + enterprise.setCreate_time(date); + } + //如果经纬度不为空则根据经纬度获取地区编码,并将其放入供应商对象中 + if (enterprise.getLon() != null && enterprise.getLat() != null) { + String areaCode = GeoAddressCenter.getGeoAdcode(enterprise.getLon() + "", enterprise.getLat() + ""); + enterprise.setArea_code(areaCode); + } else { + return false; + } + //如果用户信息不为空则更新用户信息 + if (systemUser != null && !TextUtils.isEmpty(newPassword)) { + for(BaseUser baseUser:systemUser){ + String password=BCrypt.hashpw(newPassword,BCrypt.gensalt()); + baseUser.setPassword(password); + enterpriseDao.putSystemUser(baseUser); + } + } + Date updateDate=new Date(); + enterprise.setUpdate_time(updateDate); + //添加或修改用户信息 + return enterpriseDao.putEnterprise(enterprise); + } + + @Override + public EnterpriseJlr getById(String id) { + return enterpriseDao.getById(id); + } + + @Override + public JSONObject expordata(HttpServletRequest request, String name, String abbrCode) { + //声明一个集合用于存放供应商信息 + List listExcel = new ArrayList(); + StringBuffer hqlSb = new StringBuffer("from EnterpriseJlr where 1=1"); + if (!TextUtils.isEmpty(name)) { + hqlSb.append(" and name like '%" + name.trim() + "%' "); + } + if (!TextUtils.isEmpty(abbrCode)) { + hqlSb.append(" and abbr_code like '%" + abbrCode.trim() + "%'"); + } + //声明一个json对象 + JSONObject jsonObject = new JSONObject(); + List list = null; + try { + //根据搜索条件获取供应商信息 + list = enterpriseDao.getRsByHql(hqlSb.toString()); + } catch (Exception e) { + e.printStackTrace(); + jsonObject.put("result", "1");// 0:成功,1失败 + jsonObject.put("msg", "导出失败!"); + } + if (list != null && list.size() > 0) { + //声明一个excel表头 + EnterpriseExcelVO header = new EnterpriseExcelVO("VIN码", "经销商名称", "经销商代码", "地址", + "24小时联系人1姓名", "24小时联系人1电话", "24小时联系人1职务", "24小时联系人2姓名", "24小时联系人2电话", + "24小时联系人2职务", "对账联系人姓名", "对账联系人电话", "对账联系人职务", "邮箱", "服务类型", "车型", "首次销售日期"); + listExcel.add(header); + //遍历供应商信息并将其放入供应商对象中 + for (int i = 0; i < list.size(); i++) { + EnterpriseExcelVO enterpriseExcelVO = new EnterpriseExcelVO(); + EnterpriseJlr enterpriseJlr = (EnterpriseJlr) list.get(i); + enterpriseExcelVO.setVinCode(enterpriseJlr.getVin_code()); + enterpriseExcelVO.setName(enterpriseJlr.getName()); + enterpriseExcelVO.setAbbrCode(enterpriseJlr.getAbbr_code()); + enterpriseExcelVO.setAddress(enterpriseJlr.getAddress()); + enterpriseExcelVO.setContract(enterpriseJlr.getContact()); + enterpriseExcelVO.setJob1(enterpriseJlr.getJob1()); + enterpriseExcelVO.setPhone1(enterpriseJlr.getPhone1()); + enterpriseExcelVO.setContact2(enterpriseJlr.getContact2()); + enterpriseExcelVO.setPhone2(enterpriseJlr.getPhone2()); + enterpriseExcelVO.setJob2(enterpriseJlr.getJob2()); + enterpriseExcelVO.setContact3(enterpriseJlr.getContact3()); + enterpriseExcelVO.setJob3(enterpriseJlr.getJob3()); + enterpriseExcelVO.setPhone3(enterpriseJlr.getPhone3()); + enterpriseExcelVO.setBrands(enterpriseJlr.getBrands()); + enterpriseExcelVO.setServiceQualification(enterpriseJlr.getService_qualification()); + enterpriseExcelVO.setFirstSaleDate(enterpriseJlr.getFirst_sale_date()); + enterpriseExcelVO.setCarType(enterpriseJlr.getCar_type()); + listExcel.add(enterpriseExcelVO); + } + //格式转换 + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); + String dateTime = simpleDateFormat.format(new Date()); + //导出路径 + String path = request.getRealPath("attached") + File.separator + "enterprise_" + dateTime + ".xlsx"; + String webUrl = UtilTools.getWebAddress(request) + File.separator + "attached" + File.separator + "enterprise_" + dateTime + ".xlsx"; + // webUrl = URLEncoder.encode(webUrl, "UTF-8"); + //所有信息保存到excel表中并导出表格 + boolean b = new EnterpriseExcelVO().saveAll(listExcel, path); + if (b) { + jsonObject.put("result", "0");// 0:成功,1失败 + jsonObject.put("msg", "导出成功!"); + jsonObject.put("webUrl", webUrl); + } + } + return jsonObject; + } + +} diff --git a/src/main/java/com/zhongdao/jlr/business/service/impl/OrderCheckServiceImpl.java b/src/main/java/com/zhongdao/jlr/business/service/impl/OrderCheckServiceImpl.java new file mode 100644 index 0000000..1fed59c --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/service/impl/OrderCheckServiceImpl.java @@ -0,0 +1,40 @@ +package com.zhongdao.jlr.business.service.impl; + +import com.util.Vo; +import com.zhongdao.jlr.business.dao.OrderCheckDao; +import com.zhongdao.jlr.business.service.OrderCheckService; +import net.sf.json.JSONObject; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; + +/*** + * 处理服务结算的业务 + */ +@Service(value = "orderCheckServiceImpl") +public class OrderCheckServiceImpl implements OrderCheckService{ + + @Autowired + OrderCheckDao dao; + + @Override + public Vo list(HttpServletRequest request, int page, int raws, String orderCode, String queryDate1, String rescueCompanyName, String queryDate2, String check_state) { + return dao.list(request,page,raws,orderCode,queryDate1,rescueCompanyName,queryDate2,check_state); + } + + @Override + public Vo lists(HttpServletRequest request, int page, int raws, String code, String orderCode, String queryDate1, String rescueCompanyName, String queryDate2, String check_state,String state) { + return dao.lists(request,page,raws,code,orderCode,queryDate1,rescueCompanyName,queryDate2,check_state,state); + } + + @Override + public JSONObject exportData(HttpServletRequest request, String code, String orderCode, String queryDate1, String rescueCompanyName, String queryDate2, String check_state) { + return dao.exportData(request,code,orderCode,queryDate1,rescueCompanyName,queryDate2,check_state); + } + + @Override + public boolean updateInfo(String uid, String totalFee) { + return dao.updateInfo(uid,totalFee); + } +} diff --git a/src/main/java/com/zhongdao/jlr/business/service/impl/RoleServiceImpl.java b/src/main/java/com/zhongdao/jlr/business/service/impl/RoleServiceImpl.java new file mode 100644 index 0000000..0eedbdd --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/service/impl/RoleServiceImpl.java @@ -0,0 +1,199 @@ +package com.zhongdao.jlr.business.service.impl; + +import com.util.Vo; +import com.zhongdao.jlr.business.dao.RoleDao; +import com.zhongdao.jlr.business.service.RoleService; +import com.zhongdao.jlr.business.vo.JLRMenu; +import com.zhongdao.jlr.pojo.BaseMenu; +import com.zhongdao.jlr.pojo.JLRAuthority; +import com.zhongdao.jlr.pojo.JLRRole; +import org.apache.http.util.TextUtils; +import org.hibernate.Session; +import org.hibernate.SessionFactory; +import org.hibernate.Transaction; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.Statement; +import java.util.Date; +import java.util.List; + +/*** + * 处理关于角色的业务 + */ +@Service(value = "roleServiceImpl") +public class RoleServiceImpl implements RoleService { + + @Autowired + RoleDao dao; +// @Autowired +// private SessionFactory sessionFactory; + + @Override + public Vo getRoleInfo(HttpServletRequest request, String name) { + return dao.getRoleInfo(request,name); + } + + @Override + public List getTreeInfo() { + return dao.getTreeInfo(); + } + +// @Override +// public boolean updateRoleInfo(JLRRole jlrRole, int[] ids) { +// //获取当前日期 +// Date date=new Date(); +// jlrRole.setUpdate_time(date); +// jlrRole.setDelete_flag(0); +// //声明一个角色权限对象 +// JLRAuthority jlrAuthority=new JLRAuthority(); +// if(jlrRole.getId() == null){ +// //随机生成主键id +// int id=Integer.valueOf((System.currentTimeMillis() / 10 + "").substring(3)); +// jlrRole.setId(id); +// //将角色id放入对象中 +// jlrAuthority.setRole_id(id); +// }else{ +// //如果角色id不为空则判断此操作为修改,删除权限信息 +// dao.deleteSupplier(jlrRole.getId()); +// jlrAuthority.setRole_id(jlrRole.getId()); +// } +// //添加角色信息 +// dao.updateRoleInfo(jlrRole); +// //将时间放入对象中 +// jlrAuthority.setUpdate_time(date); +// try { +// Session session = sessionFactory.getCurrentSession().getSessionFactory().openSession(); +// Transaction tx = session.beginTransaction(); +// //遍历菜单id,并批量添加数据 +// for(int i=0 ; i getMenu(String id) { + return dao.getMenu(id); + } + + @Override + public boolean deleteRole(String id, String name) { + //声明一个角色对象 + JLRRole jlrRole = new JLRRole(); + //将数据放入对象中 + jlrRole.setId(Integer.valueOf(id)); + jlrRole.setName(name); + jlrRole.setDelete_flag(1); + Date date = new Date(); + jlrRole.setUpdate_time(date); + //分别删除角色信息和权限信息 + if (dao.updateRoleInfo(jlrRole) && dao.deleteSupplier(jlrRole.getId())) { + return true; + } + return false; + } +} diff --git a/src/main/java/com/zhongdao/jlr/business/service/impl/SupplierServiceImpl.java b/src/main/java/com/zhongdao/jlr/business/service/impl/SupplierServiceImpl.java new file mode 100644 index 0000000..d1c2184 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/service/impl/SupplierServiceImpl.java @@ -0,0 +1,151 @@ +package com.zhongdao.jlr.business.service.impl; + +import com.util.Vo; +import com.zhongdao.jlr.business.dao.SupplierDao; +import com.zhongdao.jlr.business.service.SupplierService; +import com.zhongdao.jlr.business.vo.Contract; +import com.zhongdao.jlr.business.vo.Destination; +import com.zhongdao.jlr.business.vo.Enterprise; +import com.zhongdao.jlr.pojo.JLRDestination; +import com.zhongdao.jlr.pojo.JLRSupplier; +import com.zhongdao.jlr.pojo.JLRUserContract; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +@Service(value = "supplierServiceImpl") +public class SupplierServiceImpl implements SupplierService { + + @Autowired + SupplierDao dao; + @Override + public Vo getContractInfo(HttpServletRequest request,String name,String id) { + return dao.getContractInfo(request,name,id); + } + + @Override + public List getAssignContract(String id) { + return dao.getAssignContract(id); + } + + @Override + public List geAssignDestination(String id) { + return dao.getAssignDestination(id); + } + + @Override + public List geAssignEnterprise(String id) { + return dao.getAssignEnterprise(id); + } + + @Override + public Vo getEnterpriseInfo(HttpServletRequest request,String name,String id) { + return dao.getEnterpriseInfo(request,name,id); + } + + @Override + public Vo getDestination(HttpServletRequest request, String name,String id) { + return dao.getDestination(request,name,id); + } + + @Override + public boolean insertContractInfo(Integer id, int[] ids) { + //声明一个合同对象 + JLRUserContract jlrUserContract=new JLRUserContract(); + jlrUserContract.setJlr_user_id(id); + //批量插入数据 + for(int i=0;i getDestinationInfo(String id) { + return dao.getContract(id); + } +} diff --git a/src/main/java/com/zhongdao/jlr/business/service/impl/UserInfoServiceImpl.java b/src/main/java/com/zhongdao/jlr/business/service/impl/UserInfoServiceImpl.java new file mode 100644 index 0000000..ffcdc1b --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/service/impl/UserInfoServiceImpl.java @@ -0,0 +1,65 @@ +package com.zhongdao.jlr.business.service.impl; + +import com.util.Vo; +import com.zhongdao.jlr.business.dao.UserInfoDao; +import com.zhongdao.jlr.business.service.UserInfoService; +import com.zhongdao.jlr.pojo.BaseRole; +import com.zhongdao.jlr.pojo.EnterpriseJlr; +import com.zhongdao.jlr.pojo.JLRRole; +import com.zhongdao.jlr.pojo.JLRUser; +import jodd.util.BCrypt; +import org.apache.http.util.TextUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import java.util.Date; +import java.util.List; + +/** + * 处理用户信息管理的业务 + */ +@Service(value = "userInfoService") +public class UserInfoServiceImpl implements UserInfoService { + + @Autowired + UserInfoDao dao; + + @Override + public List getRoleInfo() { + return dao.getRoleInfo(); + } + + @Override + public List getEnterpriseInfo() { + return dao.getEnterpriseInfo(); + } + + @Override + public Vo getUserInfo(HttpServletRequest request,String name,String phone,String role,String username) { + return dao.getUserInfo(request,name,phone,role,username); + } + + @Override + public boolean updateUserInfo(JLRUser user) { + //声明一个当前日期的对象 + Date date=new Date(); + //将当前日期存入对象中 + user.setUpdate_time(date); + if(!TextUtils.isEmpty(user.getPassword())){ + //密码加密 + user.setPassword(BCrypt.hashpw(user.getPassword(),BCrypt.gensalt())); + } + return dao.updateUserInfo(user); + } + + @Override + public JLRUser getUser(String id) { + return dao.getUser(id); + } + + @Override + public boolean deleteUser(JLRUser user) { + return dao.deleteUser(user); + } +} diff --git a/src/main/java/com/zhongdao/jlr/business/servlet/ReceiveCustomerInfoServlet.java b/src/main/java/com/zhongdao/jlr/business/servlet/ReceiveCustomerInfoServlet.java new file mode 100644 index 0000000..f105b0c --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/servlet/ReceiveCustomerInfoServlet.java @@ -0,0 +1,10 @@ +package com.zhongdao.jlr.business.servlet; + +import javax.servlet.http.HttpServlet; + +/** + * 用于 + */ +public class ReceiveCustomerInfoServlet extends HttpServlet { + +} diff --git a/src/main/java/com/zhongdao/jlr/business/vo/ConsumeQueryExcelVO.java b/src/main/java/com/zhongdao/jlr/business/vo/ConsumeQueryExcelVO.java new file mode 100644 index 0000000..425b421 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/vo/ConsumeQueryExcelVO.java @@ -0,0 +1,104 @@ +package com.zhongdao.jlr.business.vo; + +import com.ljh.excel.annotation.ColumnAnnotation; +import com.ljh.excel.bean.BaseBean; + +/** + */ +public class ConsumeQueryExcelVO extends BaseBean { + + @ColumnAnnotation("A") + private String vinCode;//VIN码 + @ColumnAnnotation("B") + private String electronicccounts;//电子账户 + @ColumnAnnotation("C") + private String userPhone;//手机号码 + @ColumnAnnotation("D") + private String license;//车牌号 + @ColumnAnnotation("E") + private String consumeTime;// 消费时间 + @ColumnAnnotation("F") + private String consumeCount;// 消费金额 + @ColumnAnnotation("G") + private String name;//经销商 + @ColumnAnnotation("H") + private String state;//审批状态 + + public ConsumeQueryExcelVO(String vinCode, String electronicccounts, String userPhone, String license, String consumeTime, String consumeCount, String name, String state) { + this.vinCode = vinCode; + this.electronicccounts = electronicccounts; + this.userPhone = userPhone; + this.license = license; + this.consumeTime = consumeTime; + this.consumeCount = consumeCount; + this.name = name; + this.state = state; + } + + public ConsumeQueryExcelVO() { + } + + public String getVinCode() { + return vinCode; + } + + public void setVinCode(String vinCode) { + this.vinCode = vinCode; + } + + public String getElectronicccounts() { + return electronicccounts; + } + + public void setElectronicccounts(String electronicccounts) { + this.electronicccounts = electronicccounts; + } + + public String getUserPhone() { + return userPhone; + } + + public void setUserPhone(String userPhone) { + this.userPhone = userPhone; + } + + public String getLicense() { + return license; + } + + public void setLicense(String license) { + this.license = license; + } + + public String getConsumeTime() { + return consumeTime; + } + + public void setConsumeTime(String consumeTime) { + this.consumeTime = consumeTime; + } + + public String getConsumeCount() { + return consumeCount; + } + + public void setConsumeCount(String consumeCount) { + this.consumeCount = consumeCount; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getState() { + return state; + } + + public void setState(String state) { + this.state = state; + } +} diff --git a/src/main/java/com/zhongdao/jlr/business/vo/Contract.java b/src/main/java/com/zhongdao/jlr/business/vo/Contract.java new file mode 100644 index 0000000..4ef8858 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/vo/Contract.java @@ -0,0 +1,31 @@ +package com.zhongdao.jlr.business.vo; + +public class Contract { + + private int id;//编号 + private String name;//名称 + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @Override + public String toString() { + return "Contract{" + + "id=" + id + + ", name='" + name + '\'' + + '}'; + } +} diff --git a/src/main/java/com/zhongdao/jlr/business/vo/CouponConsumeJlr.java b/src/main/java/com/zhongdao/jlr/business/vo/CouponConsumeJlr.java new file mode 100644 index 0000000..4a9fe75 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/vo/CouponConsumeJlr.java @@ -0,0 +1,141 @@ +package com.zhongdao.jlr.business.vo; +import java.util.Date; + +public class CouponConsumeJlr { + private Integer id;//主键 + private String vinCode; + private String electronicAccounts;//电子账户 + private Double consumeCount; + private Date consumeTime; + private Integer resccueCompanyCode; + private String reparieInfo; + private String hitchInfo; + private Integer isSettle; + private Date settleTime; + private String remark;//备注 + private Integer settlementState; //结算状态 + private Date createTime; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getVinCode() { + return vinCode; + } + + public void setVinCode(String vinCode) { + this.vinCode = vinCode; + } + + public String getElectronicAccounts() { + return electronicAccounts; + } + + public void setElectronicAccounts(String electronicAccounts) { + this.electronicAccounts = electronicAccounts; + } + + public Double getConsumeCount() { + return consumeCount; + } + + public void setConsumeCount(Double consumeCount) { + this.consumeCount = consumeCount; + } + + public Date getConsumeTime() { + return consumeTime; + } + + public void setConsumeTime(Date consumeTime) { + this.consumeTime = consumeTime; + } + + public Integer getResccueCompanyCode() { + return resccueCompanyCode; + } + + public void setResccueCompanyCode(Integer resccueCompanyCode) { + this.resccueCompanyCode = resccueCompanyCode; + } + + public String getReparieInfo() { + return reparieInfo; + } + + public void setReparieInfo(String reparieInfo) { + this.reparieInfo = reparieInfo; + } + + public String getHitchInfo() { + return hitchInfo; + } + + public void setHitchInfo(String hitchInfo) { + this.hitchInfo = hitchInfo; + } + + public Integer getIsSettle() { + return isSettle; + } + + public void setIsSettle(Integer isSettle) { + this.isSettle = isSettle; + } + + public Date getSettleTime() { + return settleTime; + } + + public void setSettleTime(Date settleTime) { + this.settleTime = settleTime; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public Integer getSettlementState() { + return settlementState; + } + + public void setSettlementState(Integer settlementState) { + this.settlementState = settlementState; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + @Override + public String toString() { + return "CouponConsumeJlr{" + + "id=" + id + + ", vinCode='" + vinCode + '\'' + + ", electronicAccounts='" + electronicAccounts + '\'' + + ", consumeCount=" + consumeCount + + ", consumeTime=" + consumeTime + + ", resccueCompanyCode=" + resccueCompanyCode + + ", reparieInfo='" + reparieInfo + '\'' + + ", hitchInfo='" + hitchInfo + '\'' + + ", isSettle=" + isSettle + + ", settleTime=" + settleTime + + ", remark='" + remark + '\'' + + ", settlementState=" + settlementState + + ", createTime=" + createTime + + '}'; + } +} \ No newline at end of file diff --git a/src/main/java/com/zhongdao/jlr/business/vo/CouponJlrVO.java b/src/main/java/com/zhongdao/jlr/business/vo/CouponJlrVO.java new file mode 100644 index 0000000..37ec28e --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/vo/CouponJlrVO.java @@ -0,0 +1,76 @@ +package com.zhongdao.jlr.business.vo; + +public class CouponJlrVO { + private String vinCode; + private String electronicAccounts;//电子账户 + private String userName; + private String userPhone; + private String license; + private String remark; + private Double charge;//余额 + private String password; + + public String getVinCode() { + return vinCode; + } + + public void setVinCode(String vinCode) { + this.vinCode = vinCode; + } + + public String getElectronicAccounts() { + return electronicAccounts; + } + + public void setElectronicAccounts(String electronicAccounts) { + this.electronicAccounts = electronicAccounts; + } + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getUserPhone() { + return userPhone; + } + + public void setUserPhone(String userPhone) { + this.userPhone = userPhone; + } + + public String getLicense() { + return license; + } + + public void setLicense(String license) { + this.license = license; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public Double getCharge() { + return charge; + } + + public void setCharge(Double charge) { + this.charge = charge; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } +} diff --git a/src/main/java/com/zhongdao/jlr/business/vo/CouponRechargeJlr.java b/src/main/java/com/zhongdao/jlr/business/vo/CouponRechargeJlr.java new file mode 100644 index 0000000..7c0854e --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/vo/CouponRechargeJlr.java @@ -0,0 +1,129 @@ +package com.zhongdao.jlr.business.vo; + + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; +import java.util.Date; + +public class CouponRechargeJlr { + private Integer id; + private String vinCode; + private String orderCode; + private Date rechargeTime;//充值时间 + private Date overdueTime;//过期时间 + + private Double rechargeCount;//充值金额 + private Double consumeCount;//已经消耗 + + private String seateName; + private String remark; + private String serviceName; + private Date createTime; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getVinCode() { + return vinCode; + } + + public void setVinCode(String vinCode) { + this.vinCode = vinCode; + } + + public String getOrderCode() { + return orderCode; + } + + public void setOrderCode(String orderCode) { + this.orderCode = orderCode; + } + + public Date getRechargeTime() { + return rechargeTime; + } + + public void setRechargeTime(Date rechargeTime) { + this.rechargeTime = rechargeTime; + } + + public Date getOverdueTime() { + return overdueTime; + } + + public void setOverdueTime(Date overdueTime) { + this.overdueTime = overdueTime; + } + + public Double getRechargeCount() { + return rechargeCount; + } + + public void setRechargeCount(Double rechargeCount) { + this.rechargeCount = rechargeCount; + } + + public Double getConsumeCount() { + return consumeCount; + } + + public void setConsumeCount(Double consumeCount) { + this.consumeCount = consumeCount; + } + + public String getSeateName() { + return seateName; + } + + public void setSeateName(String seateName) { + this.seateName = seateName; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getServiceName() { + return serviceName; + } + + public void setServiceName(String serviceName) { + this.serviceName = serviceName; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + @Override + public String toString() { + return "CouponRechargeJlr{" + + "id=" + id + + ", vinCode='" + vinCode + '\'' + + ", orderCode='" + orderCode + '\'' + + ", rechargeTime=" + rechargeTime + + ", overdueTime=" + overdueTime + + ", rechargeCount=" + rechargeCount + + ", consumeCount=" + consumeCount + + ", seateName='" + seateName + '\'' + + ", remark='" + remark + '\'' + + ", serviceName='" + serviceName + '\'' + + ", createTime=" + createTime + + '}'; + } +} \ No newline at end of file diff --git a/src/main/java/com/zhongdao/jlr/business/vo/Destination.java b/src/main/java/com/zhongdao/jlr/business/vo/Destination.java new file mode 100644 index 0000000..c5dd161 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/vo/Destination.java @@ -0,0 +1,31 @@ +package com.zhongdao.jlr.business.vo; + +public class Destination { + + private int id;//编号 + private String name;//名称 + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @Override + public String toString() { + return "Destination{" + + "id=" + id + + ", name='" + name + '\'' + + '}'; + } +} diff --git a/src/main/java/com/zhongdao/jlr/business/vo/Enterprise.java b/src/main/java/com/zhongdao/jlr/business/vo/Enterprise.java new file mode 100644 index 0000000..2da9c64 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/vo/Enterprise.java @@ -0,0 +1,31 @@ +package com.zhongdao.jlr.business.vo; + +public class Enterprise { + + private int id;//编号 + private String name;//名称 + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @Override + public String toString() { + return "Enterprise{" + + "id=" + id + + ", name='" + name + '\'' + + '}'; + } +} diff --git a/src/main/java/com/zhongdao/jlr/business/vo/EnterpriseExcelVO.java b/src/main/java/com/zhongdao/jlr/business/vo/EnterpriseExcelVO.java new file mode 100644 index 0000000..616d01a --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/vo/EnterpriseExcelVO.java @@ -0,0 +1,203 @@ +package com.zhongdao.jlr.business.vo; + +import com.ljh.excel.annotation.ColumnAnnotation; +import com.ljh.excel.bean.BaseBean; + +/** + */ +public class EnterpriseExcelVO extends BaseBean { + + @ColumnAnnotation("A") + private String vinCode; + @ColumnAnnotation("B") + private String name;//经销商 + @ColumnAnnotation("C") + private String abbrCode;//经销商代码 + @ColumnAnnotation("D") + private String address;//地址 + @ColumnAnnotation("E") + private String contract;//联系人 + @ColumnAnnotation("F") + private String phone1; + @ColumnAnnotation("G") + private String job1; + @ColumnAnnotation("H") + private String contact2; + @ColumnAnnotation("I") + private String phone2; + @ColumnAnnotation("J") + private String job2; + @ColumnAnnotation("K") + private String phone3; + @ColumnAnnotation("L") + private String contact3; + @ColumnAnnotation("M") + private String job3; + @ColumnAnnotation("N") + private String brands; + @ColumnAnnotation("O") + private String serviceQualification; + @ColumnAnnotation("P") + private String carType; + @ColumnAnnotation("Q") + private String firstSaleDate; + + public EnterpriseExcelVO() { + } + + public EnterpriseExcelVO(String vinCode, String name, String abbrCode, String address, String contract, String phone1, String job1, String contact2, String phone2, String job2, String phone3, String contact3, String job3, String brands, String serviceQualification, String carType, String firstSaleDate) { + this.vinCode = vinCode; + this.name = name; + this.abbrCode = abbrCode; + this.address = address; + this.contract = contract; + this.phone1 = phone1; + this.job1 = job1; + this.contact2 = contact2; + this.phone2 = phone2; + this.job2 = job2; + this.phone3 = phone3; + this.contact3 = contact3; + this.job3 = job3; + this.brands = brands; + this.serviceQualification = serviceQualification; + this.carType = carType; + this.firstSaleDate = firstSaleDate; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getAbbrCode() { + return abbrCode; + } + + public void setAbbrCode(String abbrCode) { + this.abbrCode = abbrCode; + } + + public String getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; + } + + public String getContract() { + return contract; + } + + public void setContract(String contract) { + this.contract = contract; + } + + public String getPhone1() { + return phone1; + } + + public void setPhone1(String phone1) { + this.phone1 = phone1; + } + + public String getJob1() { + return job1; + } + + public void setJob1(String job1) { + this.job1 = job1; + } + + public String getContact2() { + return contact2; + } + + public void setContact2(String contact2) { + this.contact2 = contact2; + } + + public String getPhone2() { + return phone2; + } + + public void setPhone2(String phone2) { + this.phone2 = phone2; + } + + public String getJob2() { + return job2; + } + + public void setJob2(String job2) { + this.job2 = job2; + } + + public String getPhone3() { + return phone3; + } + + public void setPhone3(String phone3) { + this.phone3 = phone3; + } + + public String getContact3() { + return contact3; + } + + public void setContact3(String contact3) { + this.contact3 = contact3; + } + + public String getJob3() { + return job3; + } + + public void setJob3(String job3) { + this.job3 = job3; + } + + public String getBrands() { + return brands; + } + + public void setBrands(String brands) { + this.brands = brands; + } + + public String getServiceQualification() { + return serviceQualification; + } + + public void setServiceQualification(String serviceQualification) { + this.serviceQualification = serviceQualification; + } + + public String getVinCode() { + return vinCode; + } + + public void setVinCode(String vinCode) { + this.vinCode = vinCode; + } + + public String getCarType() { + return carType; + } + + public void setCarType(String carType) { + this.carType = carType; + } + + public String getFirstSaleDate() { + return firstSaleDate; + } + + public void setFirstSaleDate(String firstSaleDate) { + this.firstSaleDate = firstSaleDate; + } +} diff --git a/src/main/java/com/zhongdao/jlr/business/vo/JLRMenu.java b/src/main/java/com/zhongdao/jlr/business/vo/JLRMenu.java new file mode 100644 index 0000000..0e927ce --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/vo/JLRMenu.java @@ -0,0 +1,44 @@ +package com.zhongdao.jlr.business.vo; + + +import java.util.List; + +public class JLRMenu { + + private int id;//编号 + private String text;//名称 + private List children;//子菜单 + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getText() { + return text; + } + + public void setText(String text) { + this.text = text; + } + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + @Override + public String toString() { + return "JLRMenu{" + + "id=" + id + + ", text='" + text + '\'' + + ", children=" + children + + '}'; + } +} diff --git a/src/main/java/com/zhongdao/jlr/business/vo/JLRRMenu.java b/src/main/java/com/zhongdao/jlr/business/vo/JLRRMenu.java new file mode 100644 index 0000000..06cd55c --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/vo/JLRRMenu.java @@ -0,0 +1,41 @@ +package com.zhongdao.jlr.business.vo; + +public class JLRRMenu { + + private int id;//编号 + private String text;//名称 + private int parent_id;//父id + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getText() { + return text; + } + + public void setText(String text) { + this.text = text; + } + + public int getParent_id() { + return parent_id; + } + + public void setParent_id(int parent_id) { + this.parent_id = parent_id; + } + + @Override + public String toString() { + return "JLRRMenu{" + + "id=" + id + + ", text='" + text + '\'' + + ", parent_id=" + parent_id + + '}'; + } +} diff --git a/src/main/java/com/zhongdao/jlr/business/vo/LoginUserVo.java b/src/main/java/com/zhongdao/jlr/business/vo/LoginUserVo.java new file mode 100644 index 0000000..35d5f9f --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/vo/LoginUserVo.java @@ -0,0 +1,127 @@ +package com.zhongdao.jlr.business.vo; + +import java.util.Collections; +import java.util.Comparator; +import java.util.List; + +import com.zhongdao.jlr.pojo.BaseMenu; + +public class LoginUserVo { + private Long id; + private String name; + private String login_name; + private String phone; + private String remark; + private Integer rescue_company_code; + private Integer role_id; + private Integer permission_organize_flag; + private Integer permission_flag; + private Integer enterpriseJlrId; + private String email; + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getLogin_name() { + return login_name; + } + + public void setLogin_name(String login_name) { + this.login_name = login_name; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public Integer getRescue_company_code() { + return rescue_company_code; + } + + public void setRescue_company_code(Integer rescue_company_code) { + this.rescue_company_code = rescue_company_code; + } + + public Integer getPermission_organize_flag() { + return permission_organize_flag; + } + + public void setPermission_organize_flag(Integer permission_organize_flag) { + this.permission_organize_flag = permission_organize_flag; + } + + public Integer getPermission_flag() { + return permission_flag; + } + + public void setPermission_flag(Integer permission_flag) { + this.permission_flag = permission_flag; + } + + + public Integer getEnterpriseJlrId() { + return enterpriseJlrId; + } + + public void setEnterpriseJlrId(Integer enterpriseJlrId) { + this.enterpriseJlrId = enterpriseJlrId; + } + + public Integer getRole_id() { + return role_id; + } + + public void setRole_id(Integer role_id) { + this.role_id = role_id; + } + + @Override + public String toString() { + return "LoginUserVo{" + + "id=" + id + + ", name='" + name + '\'' + + ", login_name='" + login_name + '\'' + + ", phone='" + phone + '\'' + + ", remark='" + remark + '\'' + + ", rescue_company_code=" + rescue_company_code + + ", role_id=" + role_id + + ", permission_organize_flag=" + permission_organize_flag + + ", permission_flag=" + permission_flag + + ", enterpriseJlrId=" + enterpriseJlrId + + ", email='" + email + '\'' + + '}'; + } +} diff --git a/src/main/java/com/zhongdao/jlr/business/vo/OrderCheckExcelVO.java b/src/main/java/com/zhongdao/jlr/business/vo/OrderCheckExcelVO.java new file mode 100644 index 0000000..562b189 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/vo/OrderCheckExcelVO.java @@ -0,0 +1,135 @@ +package com.zhongdao.jlr.business.vo; + +import com.ljh.excel.annotation.ColumnAnnotation; +import com.ljh.excel.bean.BaseBean; + +/** + */ +public class OrderCheckExcelVO extends BaseBean { + + @ColumnAnnotation("A") + private String code;//案件号码 + @ColumnAnnotation("B") + private String frameCode;//vin + @ColumnAnnotation("C") + private String rescueCompany;// + @ColumnAnnotation("D") + private String address;// + @ColumnAnnotation("E") + private String destAddress; + @ColumnAnnotation("F") + private String serviceType;// + @ColumnAnnotation("G") + private String createTime; + @ColumnAnnotation("H") + private String state;// + @ColumnAnnotation("I") + private String mileage; + @ColumnAnnotation("J") + private String checkState;// + @ColumnAnnotation("K") + private String totalFee;// + + public OrderCheckExcelVO(String code, String frameCode, String rescueCompany, String address, String destAddress, String serviceType, String createTime, String state, String mileage, String checkState, String totalFee) { + this.code = code; + this.frameCode = frameCode; + this.rescueCompany = rescueCompany; + this.address = address; + this.destAddress = destAddress; + this.serviceType = serviceType; + this.createTime = createTime; + this.state = state; + this.mileage = mileage; + this.checkState = checkState; + this.totalFee = totalFee; + } + + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getFrameCode() { + return frameCode; + } + + public void setFrameCode(String frameCode) { + this.frameCode = frameCode; + } + + public String getRescueCompany() { + return rescueCompany; + } + + public void setRescueCompany(String rescueCompany) { + this.rescueCompany = rescueCompany; + } + + public String getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; + } + + public String getDestAddress() { + return destAddress; + } + + public void setDestAddress(String destAddress) { + this.destAddress = destAddress; + } + + public String getServiceType() { + return serviceType; + } + + public void setServiceType(String serviceType) { + this.serviceType = serviceType; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getState() { + return state; + } + + public void setState(String state) { + this.state = state; + } + + public String getMileage() { + return mileage; + } + + public void setMileage(String mileage) { + this.mileage = mileage; + } + + public String getCheckState() { + return checkState; + } + + public void setCheckState(String checkState) { + this.checkState = checkState; + } + + public String getTotalFee() { + return totalFee; + } + + public void setTotalFee(String totalFee) { + this.totalFee = totalFee; + } +} diff --git a/src/main/java/com/zhongdao/jlr/business/vo/PageInfo.java b/src/main/java/com/zhongdao/jlr/business/vo/PageInfo.java new file mode 100644 index 0000000..ed37f03 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/vo/PageInfo.java @@ -0,0 +1,47 @@ +package com.zhongdao.jlr.business.vo; + +/*** + * 分页信息 + */ + +public class PageInfo { + + private Integer page; + private Integer rows; + private Integer currentIndex; + + // 获取 第page页的起始索引 + public int getCurrentIndex() { + return (page - 1) * rows; + } + + + public Integer getPage() { + return page; + } + + public void setPage(Integer page) { + this.page = page; + } + + public Integer getRows() { + return rows; + } + + public void setRows(Integer rows) { + this.rows = rows; + } + + public void setCurrentIndex(Integer currentIndex) { + this.currentIndex = currentIndex; + } + + @Override + public String toString() { + return "PageInfo{" + + "page=" + page + + ", rows=" + rows + + ", currentIndex=" + currentIndex + + '}'; + } +} diff --git a/src/main/java/com/zhongdao/jlr/business/vo/RechangeQueryExcelVO.java b/src/main/java/com/zhongdao/jlr/business/vo/RechangeQueryExcelVO.java new file mode 100644 index 0000000..6bec953 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/vo/RechangeQueryExcelVO.java @@ -0,0 +1,125 @@ +package com.zhongdao.jlr.business.vo; + +import com.ljh.excel.annotation.ColumnAnnotation; +import com.ljh.excel.bean.BaseBean; + +/** + */ +public class RechangeQueryExcelVO extends BaseBean { + + @ColumnAnnotation("A") + private String vinCode;//VIN码 + @ColumnAnnotation("B") + private String electronicAccounts;//电子账户 + @ColumnAnnotation("C") + private String userPhone;//手机号码 + @ColumnAnnotation("D") + private String license;//车牌号 + @ColumnAnnotation("E") + private String serviceType;// 服务类型 + @ColumnAnnotation("F") + private String caseCode;// 案件编号 +// @ColumnAnnotation("G") +// private String createTime;//案件创建时间 + @ColumnAnnotation("G") + private String rechargeCount;//充值金额 + @ColumnAnnotation("H") + private String rechargeTime;//充值时间 + @ColumnAnnotation("I") + private String overdueTime;//到期时间 + + public RechangeQueryExcelVO(String vinCode, String electronicAccounts, String userPhone, String license, String serviceType, String caseCode, String rechargeCount, String rechargeTime, String overdueTime) { + this.vinCode = vinCode; + this.electronicAccounts = electronicAccounts; + this.userPhone = userPhone; + this.license = license; + this.serviceType = serviceType; + this.caseCode = caseCode; + this.rechargeCount = rechargeCount; + this.rechargeTime = rechargeTime; + this.overdueTime = overdueTime; + } + + public RechangeQueryExcelVO() { + } + + public String getVinCode() { + return vinCode; + } + + public void setVinCode(String vinCode) { + this.vinCode = vinCode; + } + + public String getElectronicAccounts() { + return electronicAccounts; + } + + public void setElectronicAccounts(String electronicAccounts) { + this.electronicAccounts = electronicAccounts; + } + + public String getUserPhone() { + return userPhone; + } + + public void setUserPhone(String userPhone) { + this.userPhone = userPhone; + } + + public String getLicense() { + return license; + } + + public void setLicense(String license) { + this.license = license; + } + + public String getCaseCode() { + return caseCode; + } + + public void setCaseCode(String caseCode) { + this.caseCode = caseCode; + } + + public String getServiceType() { + return serviceType; + } + + public void setServiceType(String serviceType) { + this.serviceType = serviceType; + } + + public String getcaseCode() { + return caseCode; + } + + public void setcaseCode(String caseCode) { + this.caseCode = caseCode; + } + + public String getRechargeCount() { + return rechargeCount; + } + + public void setRechargeCount(String rechargeCount) { + this.rechargeCount = rechargeCount; + } + + public String getRechargeTime() { + return rechargeTime; + } + + public void setRechargeTime(String rechargeTime) { + this.rechargeTime = rechargeTime; + } + + public String getOverdueTime() { + return overdueTime; + } + + public void setOverdueTime(String overdueTime) { + this.overdueTime = overdueTime; + } +} diff --git a/src/main/java/com/zhongdao/jlr/business/vo/UserOrderCSVVO.java b/src/main/java/com/zhongdao/jlr/business/vo/UserOrderCSVVO.java new file mode 100644 index 0000000..49425bc --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/vo/UserOrderCSVVO.java @@ -0,0 +1,214 @@ +package com.zhongdao.jlr.business.vo; + +/** + * Created by TEC2 on 2017/6/7. + */ +public class UserOrderCSVVO { + + private String clubIdNumber;//案件号码 + private String breakdownDate;// 开案日期 + private String vin;// VIN + private String currentMileage;// 里程表读数 + private String componentDescription;// 故障零件 + private String jlrComponent;// + private String faultDescription;// 故障原因(英文) + private String vrtCode; //VRT_CODE + private String vfgCode;// VFG_CODE + private String completionDescription;// 维修结果 英文 + private String verbatimComments;// 文字描述 + private String initialDiagnosedFault;// level2 英文 + private String attendingResource;//经销商代码 + private String accepted;// + private String suppress;// + private String shortVin;// vin码后6位 + private String ctryOfIncident; // 国家 chn + private String dealerCodeRepair;// 经销商代码 + private String dealerNameRepair;// 经销商名字 中文 + + public UserOrderCSVVO(String clubIdNumber, String breakdownDate, String vin, String currentMileage, String componentDescription, String jlrComponent, String faultDescription, String vrtCode, String vfgCode, String completionDescription, String verbatimComments, String initialDiagnosedFault, String attendingResource, String accepted, String suppress, String shortVin, String ctryOfIncident, String dealerCodeRepair, String dealerNameRepair) { + this.clubIdNumber = clubIdNumber; + this.breakdownDate = breakdownDate; + this.vin = vin; + this.currentMileage = currentMileage; + this.componentDescription = componentDescription; + this.jlrComponent = jlrComponent; + this.faultDescription = faultDescription; + this.vrtCode = vrtCode; + this.vfgCode = vfgCode; + this.completionDescription = completionDescription; + this.verbatimComments = verbatimComments; + this.initialDiagnosedFault = initialDiagnosedFault; + this.attendingResource = attendingResource; + this.accepted = accepted; + this.suppress = suppress; + this.shortVin = shortVin; + this.ctryOfIncident = ctryOfIncident; + this.dealerCodeRepair = dealerCodeRepair; + this.dealerNameRepair = dealerNameRepair; + } + + public UserOrderCSVVO() { + + } + + public String getClubIdNumber() { + return clubIdNumber; + } + + public void setClubIdNumber(String clubIdNumber) { + this.clubIdNumber = clubIdNumber; + } + + public String getBreakdownDate() { + return breakdownDate; + } + + public void setBreakdownDate(String breakdownDate) { + this.breakdownDate = breakdownDate; + } + + public String getVin() { + return vin; + } + + public void setVin(String vin) { + this.vin = vin; + } + + public String getCurrentMileage() { + return currentMileage; + } + + public void setCurrentMileage(String currentMileage) { + this.currentMileage = currentMileage; + } + + public String getComponentDescription() { + return componentDescription; + } + + public void setComponentDescription(String componentDescription) { + this.componentDescription = componentDescription; + } + + public String getJlrComponent() { + return jlrComponent; + } + + public void setJlrComponent(String jlrComponent) { + this.jlrComponent = jlrComponent; + } + + public String getFaultDescription() { + return faultDescription; + } + + public void setFaultDescription(String faultDescription) { + this.faultDescription = faultDescription; + } + + public String getVrtCode() { + return vrtCode; + } + + public void setVrtCode(String vrtCode) { + this.vrtCode = vrtCode; + } + + public String getVfgCode() { + return vfgCode; + } + + public void setVfgCode(String vfgCode) { + this.vfgCode = vfgCode; + } + + public String getCompletionDescription() { + return completionDescription; + } + + public void setCompletionDescription(String completionDescription) { + this.completionDescription = completionDescription; + } + + public String getVerbatimComments() { + return verbatimComments; + } + + public void setVerbatimComments(String verbatimComments) { + this.verbatimComments = verbatimComments; + } + + public String getInitialDiagnosedFault() { + return initialDiagnosedFault; + } + + public void setInitialDiagnosedFault(String initialDiagnosedFault) { + this.initialDiagnosedFault = initialDiagnosedFault; + } + + public String getAttendingResource() { + return attendingResource; + } + + public void setAttendingResource(String attendingResource) { + this.attendingResource = attendingResource; + } + + public String getAccepted() { + return accepted; + } + + public void setAccepted(String accepted) { + this.accepted = accepted; + } + + public String getSuppress() { + return suppress; + } + + public void setSuppress(String suppress) { + this.suppress = suppress; + } + + public String getShortVin() { + return shortVin; + } + + public void setShortVin(String shortVin) { + this.shortVin = shortVin; + } + + public String getCtryOfIncident() { + return ctryOfIncident; + } + + public void setCtryOfIncident(String ctryOfIncident) { + this.ctryOfIncident = ctryOfIncident; + } + + public String getDealerCodeRepair() { + return dealerCodeRepair; + } + + public void setDealerCodeRepair(String dealerCodeRepair) { + this.dealerCodeRepair = dealerCodeRepair; + } + + public String getDealerNameRepair() { + return dealerNameRepair; + } + + public void setDealerNameRepair(String dealerNameRepair) { + this.dealerNameRepair = dealerNameRepair; + } + + + @Override + public String toString() { + return clubIdNumber + "," + breakdownDate + ',' + vin + ',' + currentMileage + "," + componentDescription + + "," + jlrComponent + "," + faultDescription + "," + vrtCode + "," + vfgCode + "," + completionDescription + + "," + verbatimComments + "," + initialDiagnosedFault + "," + attendingResource + "," + accepted + + "," + suppress + "," + shortVin + "," + ctryOfIncident + "," + dealerCodeRepair + "," + dealerNameRepair+"\n"; + } +} diff --git a/src/main/java/com/zhongdao/jlr/business/vo/UserOrderExcelVO.java b/src/main/java/com/zhongdao/jlr/business/vo/UserOrderExcelVO.java new file mode 100644 index 0000000..d574695 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/vo/UserOrderExcelVO.java @@ -0,0 +1,252 @@ +package com.zhongdao.jlr.business.vo; + +import com.ljh.excel.annotation.ColumnAnnotation; +import com.ljh.excel.bean.BaseBean; + +/** + * Created by TEC2 on 2017/6/7. + */ +public class UserOrderExcelVO extends BaseBean { + + @ColumnAnnotation("A") + private String clubIdNumber;//案件号码 + @ColumnAnnotation("B") + private String breakdownDate;// 开案日期 + @ColumnAnnotation("C") + private String vin;// VIN + @ColumnAnnotation("D") + private String currentMileage;// 里程表读数 + @ColumnAnnotation("E") + private String componentDescription;// 故障零件 + @ColumnAnnotation("F") + private String jlrComponent;// + @ColumnAnnotation("G") + private String faultDescription;// 故障原因(英文) + @ColumnAnnotation("H") + private String vrtCode; //VRT_CODE + @ColumnAnnotation("I") + private String vfgCode;// VFG_CODE + @ColumnAnnotation("J") + private String completionDescription;// 维修结果 英文 + @ColumnAnnotation("K") + private String verbatimComments;// 文字描述 + @ColumnAnnotation("L") + private String initialDiagnosedFault;// level2 英文 + @ColumnAnnotation("M") + private String attendingResource;//经销商代码 + @ColumnAnnotation("N") + private String accepted;// + @ColumnAnnotation("O") + private String suppress;// + @ColumnAnnotation("P") + private String shortVin;// vin码后6位 + @ColumnAnnotation("Q") + private String ctryOfIncident; // 国家 chn + @ColumnAnnotation("R") + private String dealerCodeRepair;// 经销商代码 + @ColumnAnnotation("S") + private String dealerNameRepair;// 经销商名字 中文 + + public UserOrderExcelVO(String clubIdNumber, String breakdownDate, String vin, String currentMileage, String componentDescription, String jlrComponent, String faultDescription, String vrtCode, String vfgCode, String completionDescription, String verbatimComments, String initialDiagnosedFault, String attendingResource, String accepted, String suppress, String shortVin, String ctryOfIncident, String dealerCodeRepair, String dealerNameRepair) { + this.clubIdNumber = clubIdNumber; + this.breakdownDate = breakdownDate; + this.vin = vin; + this.currentMileage = currentMileage; + this.componentDescription = componentDescription; + this.jlrComponent = jlrComponent; + this.faultDescription = faultDescription; + this.vrtCode = vrtCode; + this.vfgCode = vfgCode; + this.completionDescription = completionDescription; + this.verbatimComments = verbatimComments; + this.initialDiagnosedFault = initialDiagnosedFault; + this.attendingResource = attendingResource; + this.accepted = accepted; + this.suppress = suppress; + this.shortVin = shortVin; + this.ctryOfIncident = ctryOfIncident; + this.dealerCodeRepair = dealerCodeRepair; + this.dealerNameRepair = dealerNameRepair; + } + + public UserOrderExcelVO() { + + } + + public String getClubIdNumber() { + return clubIdNumber; + } + + public void setClubIdNumber(String clubIdNumber) { + this.clubIdNumber = clubIdNumber; + } + + public String getBreakdownDate() { + return breakdownDate; + } + + public void setBreakdownDate(String breakdownDate) { + this.breakdownDate = breakdownDate; + } + + public String getVin() { + return vin; + } + + public void setVin(String vin) { + this.vin = vin; + } + + public String getCurrentMileage() { + return currentMileage; + } + + public void setCurrentMileage(String currentMileage) { + this.currentMileage = currentMileage; + } + + public String getComponentDescription() { + return componentDescription; + } + + public void setComponentDescription(String componentDescription) { + this.componentDescription = componentDescription; + } + + public String getJlrComponent() { + return jlrComponent; + } + + public void setJlrComponent(String jlrComponent) { + this.jlrComponent = jlrComponent; + } + + public String getFaultDescription() { + return faultDescription; + } + + public void setFaultDescription(String faultDescription) { + this.faultDescription = faultDescription; + } + + public String getVrtCode() { + return vrtCode; + } + + public void setVrtCode(String vrtCode) { + this.vrtCode = vrtCode; + } + + public String getVfgCode() { + return vfgCode; + } + + public void setVfgCode(String vfgCode) { + this.vfgCode = vfgCode; + } + + public String getCompletionDescription() { + return completionDescription; + } + + public void setCompletionDescription(String completionDescription) { + this.completionDescription = completionDescription; + } + + public String getVerbatimComments() { + return verbatimComments; + } + + public void setVerbatimComments(String verbatimComments) { + this.verbatimComments = verbatimComments; + } + + public String getInitialDiagnosedFault() { + return initialDiagnosedFault; + } + + public void setInitialDiagnosedFault(String initialDiagnosedFault) { + this.initialDiagnosedFault = initialDiagnosedFault; + } + + public String getAttendingResource() { + return attendingResource; + } + + public void setAttendingResource(String attendingResource) { + this.attendingResource = attendingResource; + } + + public String getAccepted() { + return accepted; + } + + public void setAccepted(String accepted) { + this.accepted = accepted; + } + + public String getSuppress() { + return suppress; + } + + public void setSuppress(String suppress) { + this.suppress = suppress; + } + + public String getShortVin() { + return shortVin; + } + + public void setShortVin(String shortVin) { + this.shortVin = shortVin; + } + + public String getCtryOfIncident() { + return ctryOfIncident; + } + + public void setCtryOfIncident(String ctryOfIncident) { + this.ctryOfIncident = ctryOfIncident; + } + + public String getDealerCodeRepair() { + return dealerCodeRepair; + } + + public void setDealerCodeRepair(String dealerCodeRepair) { + this.dealerCodeRepair = dealerCodeRepair; + } + + public String getDealerNameRepair() { + return dealerNameRepair; + } + + public void setDealerNameRepair(String dealerNameRepair) { + this.dealerNameRepair = dealerNameRepair; + } + + @Override + public String toString() { + return "UserOrderExcelVO{" + + "clubIdNumber='" + clubIdNumber + '\'' + + ", breakdownDate='" + breakdownDate + '\'' + + ", vin='" + vin + '\'' + + ", currentMileage='" + currentMileage + '\'' + + ", componentDescription='" + componentDescription + '\'' + + ", jlrComponent='" + jlrComponent + '\'' + + ", faultDescription='" + faultDescription + '\'' + + ", vrtCode='" + vrtCode + '\'' + + ", vfgCode='" + vfgCode + '\'' + + ", completionDescription='" + completionDescription + '\'' + + ", verbatimComments='" + verbatimComments + '\'' + + ", initialDiagnosedFault='" + initialDiagnosedFault + '\'' + + ", attendingResource='" + attendingResource + '\'' + + ", accepted='" + accepted + '\'' + + ", suppress='" + suppress + '\'' + + ", shortVin='" + shortVin + '\'' + + ", ctryOfIncident='" + ctryOfIncident + '\'' + + ", dealerCodeRepair='" + dealerCodeRepair + '\'' + + ", dealerNameRepair='" + dealerNameRepair + '\'' + + '}'; + } +} diff --git a/src/main/java/com/zhongdao/jlr/business/vo/UserOrderViewVO.java b/src/main/java/com/zhongdao/jlr/business/vo/UserOrderViewVO.java new file mode 100644 index 0000000..79a9069 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/business/vo/UserOrderViewVO.java @@ -0,0 +1,689 @@ +package com.zhongdao.jlr.business.vo; + +import java.util.Date; + +/** + * Created by TEC2 on 2017/6/7. + */ +public class UserOrderViewVO { + private String companyname; + private String companycode; + private String servercarname; + private String servicesname; + private String contractcompanyname; + + private int id; + private int rescue_vehicle_binding; + private int vehicle_user_id; + private int rescue_vehicle_user_id; + private int state; + private String address; + private double lon; + private double lat; + + private int service_id; + private String situation_describe; + private String address_property; + private int flow_id; + private String order_source; + private String userName; + private String userPhone; + private int range; + private int refuse_times; + private int find_overTime; + private int accept_overTime; + private int km_per; + private int has_refuse_times; + private String refuse_vehicle_ids; + private int score; + private String create_user; + private Date update_time; + private String score_content; + private String code; + private String contract_code; + private String identity; + private String license; + private String frame_code; + private String style; + private String brands; + private String fail_reason; + private int create_flag; + private int create_rescue_company; + private String settle; + private String create_time; + private Date appoint_time; + private String area_code; + private Date accept_time; + private Date finish_time; + private String contract_company_code; + private int order_type; + private int is_settle; + private String special_organize; + private String dest_address; + private String dest_describe; + private double dest_lon; + private double dest_lat; + private String service_staff_name; + private String service_staff_phone; + private int discount_type; + private int settle_type; + private String extra_pay; + private int MILEAGE2; + private int REF_MILEAGE2; + private String remark; + private String contracting_code; + private Date expect_arrive_time; + private String frist_deal; + + private int giveup_state; + private int is_audit; + private String report_phone; + private int dispatch_type; + private String checker_name; + private String checker_phone; + private String serviceEndTime; + + private String serviceType; + private String abbr_code; + + public String getServiceType() { + return serviceType; + } + + public void setServiceType(String serviceType) { + this.serviceType = serviceType; + } + + public String getServiceEndTime() { + return serviceEndTime; + } + + public void setServiceEndTime(String serviceEndTime) { + this.serviceEndTime = serviceEndTime; + } + + public String getChecker_name() { + return checker_name; + } + + public void setChecker_name(String checker_name) { + this.checker_name = checker_name; + } + + public String getChecker_phone() { + return checker_phone; + } + + public void setChecker_phone(String checker_phone) { + this.checker_phone = checker_phone; + } + + public int getDispatch_type() { + return dispatch_type; + } + + public void setDispatch_type(int dispatch_type) { + this.dispatch_type = dispatch_type; + } + + public String getReport_phone() { + return report_phone; + } + + public void setReport_phone(String report_phone) { + this.report_phone = report_phone; + } + + public int getGiveup_state() { + return giveup_state; + } + + public void setGiveup_state(int giveup_state) { + this.giveup_state = giveup_state; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getRescue_vehicle_binding() { + return rescue_vehicle_binding; + } + + public void setRescue_vehicle_binding(int rescue_vehicle_binding) { + this.rescue_vehicle_binding = rescue_vehicle_binding; + } + + public int getVehicle_user_id() { + return vehicle_user_id; + } + + public void setVehicle_user_id(int vehicle_user_id) { + this.vehicle_user_id = vehicle_user_id; + } + + public int getRescue_vehicle_user_id() { + return rescue_vehicle_user_id; + } + + public void setRescue_vehicle_user_id(int rescue_vehicle_user_id) { + this.rescue_vehicle_user_id = rescue_vehicle_user_id; + } + + public int getState() { + return state; + } + + public void setState(int state) { + this.state = state; + } + + public String getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; + } + + public double getLon() { + return lon; + } + + public void setLon(double lon) { + this.lon = lon; + } + + public double getLat() { + return lat; + } + + public void setLat(double lat) { + this.lat = lat; + } + + public int getService_id() { + return service_id; + + } + + public void setService_id(int service_id) { + this.service_id = service_id; + } + + public String getSituation_describe() { + return situation_describe; + } + + public void setSituation_describe(String situation_describe) { + this.situation_describe = situation_describe; + } + + public String getAddress_property() { + return address_property; + } + + public void setAddress_property(String address_property) { + this.address_property = address_property; + } + + public int getFlow_id() { + return flow_id; + } + + public void setFlow_id(int flow_id) { + this.flow_id = flow_id; + } + + public String getOrder_source() { + return order_source; + } + + public void setOrder_source(String order_source) { + this.order_source = order_source; + } + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getUserPhone() { + return userPhone; + } + + public void setUserPhone(String userPhone) { + this.userPhone = userPhone; + } + + public int getRange() { + return range; + } + + public void setRange(int range) { + this.range = range; + } + + public int getRefuse_times() { + return refuse_times; + } + + public void setRefuse_times(int refuse_times) { + this.refuse_times = refuse_times; + } + + public int getFind_overTime() { + return find_overTime; + } + + public void setFind_overTime(int find_overTime) { + this.find_overTime = find_overTime; + } + + public int getAccept_overTime() { + return accept_overTime; + } + + public void setAccept_overTime(int accept_overTime) { + this.accept_overTime = accept_overTime; + } + + public int getKm_per() { + return km_per; + } + + public void setKm_per(int km_per) { + this.km_per = km_per; + } + + public int getHas_refuse_times() { + return has_refuse_times; + } + + public void setHas_refuse_times(int has_refuse_times) { + this.has_refuse_times = has_refuse_times; + } + + public String getRefuse_vehicle_ids() { + return refuse_vehicle_ids; + } + + public void setRefuse_vehicle_ids(String refuse_vehicle_ids) { + this.refuse_vehicle_ids = refuse_vehicle_ids; + } + + public int getScore() { + return score; + } + + public void setScore(int score) { + this.score = score; + } + + public String getCreate_user() { + return create_user; + } + + public void setCreate_user(String create_user) { + this.create_user = create_user; + } + + public Date getUpdate_time() { + return update_time; + } + + public void setUpdate_time(Date update_time) { + this.update_time = update_time; + } + + public String getScore_content() { + return score_content; + } + + public void setScore_content(String score_content) { + this.score_content = score_content; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getContract_code() { + return contract_code; + } + + public void setContract_code(String contract_code) { + this.contract_code = contract_code; + } + + public String getIdentity() { + return identity; + } + + public void setIdentity(String identity) { + this.identity = identity; + } + + public String getLicense() { + return license; + } + + public void setLicense(String license) { + this.license = license; + } + + public String getFrame_code() { + return frame_code; + } + + public void setFrame_code(String frame_code) { + this.frame_code = frame_code; + } + + public String getStyle() { + return style; + } + + public void setStyle(String style) { + this.style = style; + } + + public String getBrands() { + return brands; + } + + public void setBrands(String brands) { + this.brands = brands; + } + + public String getFail_reason() { + return fail_reason; + } + + public void setFail_reason(String fail_reason) { + this.fail_reason = fail_reason; + } + + public int getCreate_flag() { + return create_flag; + } + + public void setCreate_flag(int create_flag) { + this.create_flag = create_flag; + } + + public int getCreate_rescue_company() { + return create_rescue_company; + } + + public void setCreate_rescue_company(int create_rescue_company) { + this.create_rescue_company = create_rescue_company; + } + + public String getSettle() { + return settle; + } + + public void setSettle(String settle) { + this.settle = settle; + } + + public String getCreate_time() { + return create_time; + } + + public void setCreate_time(String create_time) { + this.create_time = create_time; + } + + public Date getAppoint_time() { + return appoint_time; + } + + public void setAppoint_time(Date appoint_time) { + this.appoint_time = appoint_time; + } + + public String getArea_code() { + return area_code; + } + + public void setArea_code(String area_code) { + this.area_code = area_code; + } + + public Date getAccept_time() { + return accept_time; + } + + public void setAccept_time(Date accept_time) { + this.accept_time = accept_time; + } + + public Date getFinish_time() { + return finish_time; + } + + public void setFinish_time(Date finish_time) { + this.finish_time = finish_time; + } + + public String getContract_company_code() { + return contract_company_code; + } + + public void setContract_company_code(String contract_company_code) { + this.contract_company_code = contract_company_code; + } + + public int getOrder_type() { + return order_type; + } + + public void setOrder_type(int order_type) { + this.order_type = order_type; + } + + public String getCompanyname() { + return companyname; + } + + public void setCompanyname(String companyname) { + this.companyname = companyname; + } + + public String getCompanycode() { + return companycode; + } + + public void setCompanycode(String companycode) { + this.companycode = companycode; + } + + public String getServercarname() { + return servercarname; + } + + public void setServercarname(String servercarname) { + this.servercarname = servercarname; + } + + public String getServicesname() { + return servicesname; + } + + public void setServicesname(String servicesname) { + this.servicesname = servicesname; + } + + public String getContractcompanyname() { + return contractcompanyname; + } + + public void setContractcompanyname(String contractcompanyname) { + this.contractcompanyname = contractcompanyname; + } + + public String getService_staff_phone() { + return service_staff_phone; + } + + public void setService_staff_phone(String service_staff_phone) { + this.service_staff_phone = service_staff_phone; + } + + public int getIs_settle() { + return is_settle; + } + + public void setIs_settle(int is_settle) { + this.is_settle = is_settle; + } + + public String getSpecial_organize() { + return special_organize; + } + + public void setSpecial_organize(String special_organize) { + this.special_organize = special_organize; + } + + public String getDest_address() { + return dest_address; + } + + public void setDest_address(String dest_address) { + this.dest_address = dest_address; + } + + public String getDest_describe() { + return dest_describe; + } + + public void setDest_describe(String dest_describe) { + this.dest_describe = dest_describe; + } + + public double getDest_lon() { + return dest_lon; + } + + public void setDest_lon(double dest_lon) { + this.dest_lon = dest_lon; + } + + public double getDest_lat() { + return dest_lat; + } + + public void setDest_lat(double dest_lat) { + this.dest_lat = dest_lat; + } + + public String getService_staff_name() { + return service_staff_name; + } + + public void setService_staff_name(String service_staff_name) { + this.service_staff_name = service_staff_name; + } + + public int getDiscount_type() { + return discount_type; + } + + public void setDiscount_type(int discount_type) { + this.discount_type = discount_type; + } + + public int getSettle_type() { + return settle_type; + } + + public void setSettle_type(int settle_type) { + this.settle_type = settle_type; + } + + public String getExtra_pay() { + return extra_pay; + } + + public void setExtra_pay(String extra_pay) { + this.extra_pay = extra_pay; + } + + public int getMILEAGE2() { + return MILEAGE2; + } + + public void setMILEAGE2(int mILEAGE2) { + MILEAGE2 = mILEAGE2; + } + + public int getREF_MILEAGE2() { + return REF_MILEAGE2; + } + + public void setREF_MILEAGE2(int rEF_MILEAGE2) { + REF_MILEAGE2 = rEF_MILEAGE2; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getContracting_code() { + return contracting_code; + } + + public void setContracting_code(String contracting_code) { + this.contracting_code = contracting_code; + } + + public Date getExpect_arrive_time() { + return expect_arrive_time; + } + + public void setExpect_arrive_time(Date expect_arrive_time) { + this.expect_arrive_time = expect_arrive_time; + } + + public String getFrist_deal() { + return frist_deal; + } + + public void setFrist_deal(String frist_deal) { + this.frist_deal = frist_deal; + } + + public int getIs_audit() { + return is_audit; + } + + public void setIs_audit(int is_audit) { + this.is_audit = is_audit; + } + + public String getAbbr_code() { + return abbr_code; + } + + public void setAbbr_code(String abbr_code) { + this.abbr_code = abbr_code; + } +} diff --git a/src/main/java/com/zhongdao/jlr/customer/ResponseInfo.java b/src/main/java/com/zhongdao/jlr/customer/ResponseInfo.java new file mode 100644 index 0000000..c3c8ed3 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/customer/ResponseInfo.java @@ -0,0 +1,31 @@ +package com.zhongdao.jlr.customer; +/** + * @author 作者姓名: dubaohui + * @version 创建时间:2015-9-1 下午5:14:36 + * 类说明 + */ +public class ResponseInfo { + private Integer flg; + private boolean sign; + private String issign; + + public String getIssign() { + return issign; + } + public void setIssign(String issign) { + this.issign = issign; + } + public Integer getFlg() { + return flg; + } + public void setFlg(Integer flg) { + this.flg = flg; + } + public boolean isSign() { + return sign; + } + public void setSign(boolean sign) { + this.sign = sign; + } + +} diff --git a/src/main/java/com/zhongdao/jlr/customer/TextConfig.java b/src/main/java/com/zhongdao/jlr/customer/TextConfig.java new file mode 100644 index 0000000..eef4679 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/customer/TextConfig.java @@ -0,0 +1,11 @@ +package com.zhongdao.jlr.customer; +/** + * @author 作者姓名: dubaohui + * @version 创建时间:2016-5-23 上午9:02:15 + * 类说明 + */ +public class TextConfig { + public static final String GetCarYaoYueSucc = "取车邀约成功"; + public static final String GetCarHaiCheSuss = "还车成功待理赔"; + public static final String GetCarYaoYueFinal = "取车邀约失败"; +} diff --git a/src/main/java/com/zhongdao/jlr/customer/dao/CustomerDao.java b/src/main/java/com/zhongdao/jlr/customer/dao/CustomerDao.java new file mode 100644 index 0000000..6307d3a --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/customer/dao/CustomerDao.java @@ -0,0 +1,12 @@ +package com.zhongdao.jlr.customer.dao; + +import com.dubh.common.dao.Dao; + +/** + * @author 作者姓名: dubaohui + * @version 创建时间:2016-5-20 上午10:55:18 + * 类说明 + */ +public interface CustomerDao extends Dao { + +} diff --git a/src/main/java/com/zhongdao/jlr/customer/dao/impl/CustomerDaoImpl.java b/src/main/java/com/zhongdao/jlr/customer/dao/impl/CustomerDaoImpl.java new file mode 100644 index 0000000..673b3a1 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/customer/dao/impl/CustomerDaoImpl.java @@ -0,0 +1,16 @@ +package com.zhongdao.jlr.customer.dao.impl; + +import org.springframework.stereotype.Repository; + +import com.zhongdao.jlr.customer.dao.CustomerDao; +import com.dubh.common.dao.hibernate.BaseDaoHibernate; + +/** + * @author 作者姓名: dubaohui + * @version 创建时间:2016-5-20 上午10:55:40 + * 类说明 + */ +@Repository("customerdao") +public class CustomerDaoImpl extends BaseDaoHibernate implements CustomerDao { + +} diff --git a/src/main/java/com/zhongdao/jlr/customer/interceptor/UserInterceptor.java b/src/main/java/com/zhongdao/jlr/customer/interceptor/UserInterceptor.java new file mode 100644 index 0000000..8236329 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/customer/interceptor/UserInterceptor.java @@ -0,0 +1,90 @@ +package com.zhongdao.jlr.customer.interceptor; + +import java.util.HashMap; +import java.util.List; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.http.util.TextUtils; +import org.json.JSONObject; +import org.springframework.web.servlet.HandlerInterceptor; +import org.springframework.web.servlet.ModelAndView; + + + +import com.zhongdao.jlr.customer.dao.CustomerDao; +import com.zhongdao.jlr.customer.service.CustomerService; +import com.util.RequestUtil; + +public class UserInterceptor implements HandlerInterceptor { + + public final String LOGINTOKEN = "logintoken"; + public final String SYSACCOUNT = "sysaccount"; + public final String ORDERKEY = "orderkey"; + public final String CUSTOMKEY = "customkey"; + private CustomerDao dao; + + public CustomerDao getDao() { + return dao; + } + + public void setDao(CustomerDao dao) { + this.dao = dao; + } + // 拦截前处理 + public boolean preHandle(HttpServletRequest request, + HttpServletResponse response, Object obj) throws Exception { + String logintoken = request.getHeader(LOGINTOKEN); + String sysaccount = request.getHeader(SYSACCOUNT); + String customkey = request.getHeader(CUSTOMKEY); + String orderkey = request.getParameter(ORDERKEY); + JSONObject error = new JSONObject(); + + if (logintoken != null && sysaccount != null) { + + String hql = "select * from tabusertoken t where t.token ='" + + logintoken + "' and t.sysaccount ='"+ sysaccount + "'"; + List list = dao.getRsBySql(hql); + if (list != null && list.size() > 0) { + System.out.println("已经登录!"); + if(!TextUtils.isEmpty(orderkey)){ + String orderhql = "select * from taborder where customkey ='"+customkey+"' and orderkey ='"+orderkey+"'"; + list = dao.getRsBySql(orderhql); + if (list != null && list.size() > 0) { + return true; + }else{ + System.out.println("订单权限已变!"); + error.put("errormsg", "订单权限已变!"); + RequestUtil.responseResult4Json(response, error.toString()); + return false; + } + }else{ + return true; + } + + + }else{ + System.out.println("没有登录!"); + error.put("errormsg", "没有登录!"); + RequestUtil.responseResult4Json(response, error.toString()); + return false; + } + + } + return true; + } + + // 拦截后处理 + public void postHandle(HttpServletRequest request, + HttpServletResponse response, Object obj, ModelAndView mav) + throws Exception { + } + + // 全部完成后处理 + public void afterCompletion(HttpServletRequest request, + HttpServletResponse response, Object obj, Exception e) + throws Exception { + } +} diff --git a/src/main/java/com/zhongdao/jlr/customer/service/CustomerService.java b/src/main/java/com/zhongdao/jlr/customer/service/CustomerService.java new file mode 100644 index 0000000..e40ad70 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/customer/service/CustomerService.java @@ -0,0 +1,17 @@ +package com.zhongdao.jlr.customer.service; + +import java.util.HashMap; +import java.util.List; + +import com.zhongdao.jlr.pojo.*; +import org.json.JSONArray; +import org.json.JSONObject; + +import com.zhongdao.jlr.customer.ResponseInfo; + +/** + * @author 作者姓名: dubaohui + * @version 创建时间:2016-5-20 上午11:03:57 + * 类说明 + */ +public interface CustomerService {} diff --git a/src/main/java/com/zhongdao/jlr/customer/web/CustomerController.java b/src/main/java/com/zhongdao/jlr/customer/web/CustomerController.java new file mode 100644 index 0000000..481086a --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/customer/web/CustomerController.java @@ -0,0 +1,34 @@ +package com.zhongdao.jlr.customer.web; + +import com.dubh.common.file.UploadFile; +import com.zhongdao.jlr.business.service.BaseService; +import com.zhongdao.jlr.customer.ResponseInfo; +import com.zhongdao.jlr.customer.service.CustomerService; +import com.zhongdao.jlr.pojo.*; +import com.util.RequestUtil; +import com.util.UtilTools; + +import org.apache.http.util.TextUtils; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author 作者姓名: dubaohui + * @version 创建时间:2016-5-20 上午11:06:24 类说明 + */ +@Controller +@RequestMapping("/customer") +public class CustomerController {} diff --git a/src/main/java/com/zhongdao/jlr/customer/web/vo/ClaimsOrderVo.java b/src/main/java/com/zhongdao/jlr/customer/web/vo/ClaimsOrderVo.java new file mode 100644 index 0000000..0abfe81 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/customer/web/vo/ClaimsOrderVo.java @@ -0,0 +1,50 @@ +package com.zhongdao.jlr.customer.web.vo; + +/** + * Created by loson on 16/8/23. + */ +public class ClaimsOrderVo { + + //名称 + private String name; + + //图片路径 + private String picturePath; + + // 标志图片是否正常 + private String reviewed; + + private String lpdatumkey; + + public String getLpdatumkey() { + return lpdatumkey; + } + + public void setLpdatumkey(String lpdatumkey) { + this.lpdatumkey = lpdatumkey; + } + + public String getReviewed() { + return reviewed; + } + + public void setReviewed(String reviewed) { + this.reviewed = reviewed; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPicturePath() { + return picturePath; + } + + public void setPicturePath(String picturePath) { + this.picturePath = picturePath; + } +} diff --git a/src/main/java/com/zhongdao/jlr/customer/web/vo/InsuranceContext.java b/src/main/java/com/zhongdao/jlr/customer/web/vo/InsuranceContext.java new file mode 100644 index 0000000..a9a53d0 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/customer/web/vo/InsuranceContext.java @@ -0,0 +1,52 @@ +package com.zhongdao.jlr.customer.web.vo; + +/** + * Created by TEC2 on 2017/1/4. + */ +public class InsuranceContext { + private String createtime; + private String disc; + private String sysusername; + private String insuranceamounts; + private String logtype; + + public String getLogtype() { + return logtype; + } + + public void setLogtype(String logtype) { + this.logtype = logtype; + } + + public String getInsuranceamounts() { + return insuranceamounts; + } + + public void setInsuranceamounts(String insuranceamounts) { + this.insuranceamounts = insuranceamounts; + } + + public String getCreatetime() { + return createtime; + } + + public void setCreatetime(String createtime) { + this.createtime = createtime; + } + + public String getDisc() { + return disc; + } + + public void setDisc(String disc) { + this.disc = disc; + } + + public String getSysusername() { + return sysusername; + } + + public void setSysusername(String sysusername) { + this.sysusername = sysusername; + } +} diff --git a/src/main/java/com/zhongdao/jlr/customer/xss/XssFilter.java b/src/main/java/com/zhongdao/jlr/customer/xss/XssFilter.java new file mode 100644 index 0000000..37a544e --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/customer/xss/XssFilter.java @@ -0,0 +1,30 @@ +package com.zhongdao.jlr.customer.xss; + +import java.io.IOException; + +import javax.servlet.Filter; +import javax.servlet.FilterChain; +import javax.servlet.FilterConfig; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +public class XssFilter implements Filter { + FilterConfig filterConfig = null; + + public void init(FilterConfig filterConfig) throws ServletException { + this.filterConfig = filterConfig; + } + + public void destroy() { + this.filterConfig = null; + } + + public void doFilter(ServletRequest request, ServletResponse response, + FilterChain chain) throws IOException, ServletException { + chain.doFilter(new XssHttpServletRequestWrapper( + (HttpServletRequest) request), response); + } +} diff --git a/src/main/java/com/zhongdao/jlr/customer/xss/XssHttpServletRequestWrapper.java b/src/main/java/com/zhongdao/jlr/customer/xss/XssHttpServletRequestWrapper.java new file mode 100644 index 0000000..db24f5f --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/customer/xss/XssHttpServletRequestWrapper.java @@ -0,0 +1,48 @@ +package com.zhongdao.jlr.customer.xss; + +import java.util.Enumeration; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletRequestWrapper; + +public class XssHttpServletRequestWrapper extends HttpServletRequestWrapper { + public XssHttpServletRequestWrapper(HttpServletRequest servletRequest) { + super(servletRequest); + } + public String[] getParameterValues(String parameter) { + String[] values = super.getParameterValues(parameter); + if (values==null) { + return null; + } + int count = values.length; + String[] encodedValues = new String[count]; + for (int i = 0; i < count; i++) { + encodedValues[i] = cleanXSS(values[i]); + } + return encodedValues; + } + public String getParameter(String parameter) { + String value = super.getParameter(parameter); + if (value == null) { + return null; + } + return cleanXSS(value); + } + public String getHeader(String name) { + String value = super.getHeader(name); + if (value == null) + return null; + return cleanXSS(value); + } + private String cleanXSS(String value) { + //You'll need to remove the spaces from the html entities below + value = value.replaceAll("<", "& lt;").replaceAll(">", "& gt;"); + value = value.replaceAll("\\(", "& #40;").replaceAll("\\)", "& #41;"); + value = value.replaceAll("'", "& #39;"); + value = value.replaceAll("eval\\((.*)\\)", ""); + value = value.replaceAll("[\\\"\\\'][\\s]*javascript:(.*)[\\\"\\\']", "\"\""); + value = value.replaceAll("script", ""); + return value; + } + +} \ No newline at end of file diff --git a/src/main/java/com/zhongdao/jlr/enums/Week.java b/src/main/java/com/zhongdao/jlr/enums/Week.java new file mode 100644 index 0000000..5e3327a --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/enums/Week.java @@ -0,0 +1,5 @@ +package com.zhongdao.jlr.enums; + +public enum Week { + MON,TUE,WEN,THU,FRI,SAT,SUN; +} diff --git a/src/main/java/com/zhongdao/jlr/pojo/BaseMenu.java b/src/main/java/com/zhongdao/jlr/pojo/BaseMenu.java new file mode 100644 index 0000000..db1137c --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/pojo/BaseMenu.java @@ -0,0 +1,131 @@ +package com.zhongdao.jlr.pojo; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; +import java.util.Date; + +@Entity +@Table(name = "base_menu") +public class BaseMenu { + + private Integer id; + private Integer parent_id; + private String name; + private String action; + private Integer sort; + private Integer type; + private Integer is_sys; + private String icon; + private String chinese_name; + private Integer status; + private Date update_time; + + @Id + @Column(name = "id") + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + @Column(name = "parent_id") + public Integer getParent_id() { + return parent_id; + } + + public void setParent_id(Integer parent_id) { + this.parent_id = parent_id; + } + @Column(name = "name") + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + @Column(name = "action") + public String getAction() { + return action; + } + + public void setAction(String action) { + this.action = action; + } + @Column(name = "sort") + public Integer getSort() { + return sort; + } + + public void setSort(Integer sort) { + this.sort = sort; + } + @Column(name = "type") + public Integer getType() { + return type; + } + + public void setType(Integer type) { + this.type = type; + } + @Column(name = "is_sys") + public Integer getIs_sys() { + return is_sys; + } + + public void setIs_sys(Integer is_sys) { + this.is_sys = is_sys; + } + @Column(name = "icon") + public String getIcon() { + return icon; + } + + public void setIcon(String icon) { + this.icon = icon; + } + @Column(name = "chinese_name") + public String getChinese_name() { + return chinese_name; + } + + public void setChinese_name(String chinese_name) { + this.chinese_name = chinese_name; + } + @Column(name = "status") + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + @Column(name = "update_time") + public Date getUpdate_time() { + return update_time; + } + + public void setUpdate_time(Date update_time) { + this.update_time = update_time; + } + + @Override + public String toString() { + return "BaseMenu{" + + "id=" + id + + ", parent_id=" + parent_id + + ", name='" + name + '\'' + + ", action='" + action + '\'' + + ", sort=" + sort + + ", type=" + type + + ", is_sys=" + is_sys + + ", icon='" + icon + '\'' + + ", chinese_name='" + chinese_name + '\'' + + ", status=" + status + + ", update_time=" + update_time + + '}'; + } +} diff --git a/src/main/java/com/zhongdao/jlr/pojo/BaseRole.java b/src/main/java/com/zhongdao/jlr/pojo/BaseRole.java new file mode 100644 index 0000000..70b817c --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/pojo/BaseRole.java @@ -0,0 +1,100 @@ +package com.zhongdao.jlr.pojo; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; +import java.util.Date; + +@Entity +@Table(name = "base_role") +public class BaseRole { + + private Integer id; + private Integer role_type; + private Integer supplier_id; + private Integer delete_flag; + private String name; + private String remark; + private Date create_time; + private Date update_time; + @Id + @Column(name = "id") + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + @Column(name = "role_type") + public Integer getRole_type() { + return role_type; + } + + public void setRole_type(Integer role_type) { + this.role_type = role_type; + } + @Column(name = "supplier_id") + public Integer getSupplier_id() { + return supplier_id; + } + + public void setSupplier_id(Integer supplier_id) { + this.supplier_id = supplier_id; + } + @Column(name = "delete_flag") + public Integer getDelete_flag() { + return delete_flag; + } + + public void setDelete_flag(Integer delete_flag) { + this.delete_flag = delete_flag; + } + @Column(name = "name") + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + @Column(name = "remark") + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + @Column(name = "create_time") + public Date getCreate_time() { + return create_time; + } + + public void setCreate_time(Date create_time) { + this.create_time = create_time; + } + @Column(name = "update_time") + public Date getUpdate_time() { + return update_time; + } + + public void setUpdate_time(Date update_time) { + this.update_time = update_time; + } + + @Override + public String toString() { + return "BaseRole{" + + "id=" + id + + ", role_type=" + role_type + + ", supplier_id=" + supplier_id + + ", delete_flag=" + delete_flag + + ", name='" + name + '\'' + + ", remark='" + remark + '\'' + + ", create_time=" + create_time + + ", update_time=" + update_time + + '}'; + } +} diff --git a/src/main/java/com/zhongdao/jlr/pojo/BaseRoleAuthority.java b/src/main/java/com/zhongdao/jlr/pojo/BaseRoleAuthority.java new file mode 100644 index 0000000..fea06de --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/pojo/BaseRoleAuthority.java @@ -0,0 +1,39 @@ +package com.zhongdao.jlr.pojo; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; + +@Entity +@Table(name = "base_role_authority") +public class BaseRoleAuthority { + + private Integer id; + private Integer menu_id; + @Id + @Column(name = "id") + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + @Column(name = "menu_id") + public Integer getMenu_id() { + return menu_id; + } + + public void setMenu_id(Integer menu_id) { + this.menu_id = menu_id; + } + + @Override + public String toString() { + return "BaseRoleAuthority{" + + "id=" + id + + ", menu_id=" + menu_id + + '}'; + } +} diff --git a/src/main/java/com/zhongdao/jlr/pojo/BaseUser.java b/src/main/java/com/zhongdao/jlr/pojo/BaseUser.java new file mode 100644 index 0000000..e7481bd --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/pojo/BaseUser.java @@ -0,0 +1,124 @@ +package com.zhongdao.jlr.pojo; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; +import java.util.Date; + +@Entity +@Table(name = "jlr_user") +public class BaseUser { + + private Long id;//编号 + private String name;//登录名 + private String login_name;//用户名 + private String password;//密码 + private String phone;//手机号 + private String email;//电子邮箱 + private Date update_time;//更新时间 + private Integer delete_flag;//用户状态 + private Integer role_id;//角色编号 + private Integer enterprise_id;//经销商编号 + + @Id + @Column(name = "id") + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + @Column(name = "name") + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + @Column(name = "login_name") + public String getLogin_name() { + return login_name; + } + + public void setLogin_name(String login_name) { + this.login_name = login_name; + } + + @Column(name = "password") + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + @Column(name = "phone") + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + @Column(name = "email") + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + @Column(name = "update_time") + public Date getUpdate_time() { + return update_time; + } + + public void setUpdate_time(Date update_time) { + this.update_time = update_time; + } + @Column(name = "delete_flag") + public Integer getDelete_flag() { + return delete_flag; + } + + public void setDelete_flag(Integer delete_flag) { + this.delete_flag = delete_flag; + } + @Column(name = "role_id") + public Integer getRole_id() { + return role_id; + } + + public void setRole_id(Integer role_id) { + this.role_id = role_id; + } + @Column(name = "enterprise_id") + public Integer getEnterprise_id() { + return enterprise_id; + } + + public void setEnterprise_id(Integer enterprise_id) { + this.enterprise_id = enterprise_id; + } + + @Override + public String toString() { + return "BaseUser{" + + "id=" + id + + ", name='" + name + '\'' + + ", login_name='" + login_name + '\'' + + ", password='" + password + '\'' + + ", phone='" + phone + '\'' + + ", email='" + email + '\'' + + ", update_time=" + update_time + + ", delete_flag=" + delete_flag + + ", role_id=" + role_id + + ", enterprise_id=" + enterprise_id + + '}'; + } +} diff --git a/src/main/java/com/zhongdao/jlr/pojo/BaseUserRole.java b/src/main/java/com/zhongdao/jlr/pojo/BaseUserRole.java new file mode 100644 index 0000000..07183c7 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/pojo/BaseUserRole.java @@ -0,0 +1,50 @@ +package com.zhongdao.jlr.pojo; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; + +@Entity +@Table(name = "base_user_role") +public class BaseUserRole { + + private Integer id;//主键编号 + private Integer role_id;//角色编号 + private Integer user_id;//用户编号 + + @Id + @Column(name = "id") + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + @Column(name = "role_id") + public Integer getRole_id() { + return role_id; + } + + public void setRole_id(Integer role_id) { + this.role_id = role_id; + } + @Column(name = "user_id") + public Integer getUser_id() { + return user_id; + } + + public void setUser_id(Integer user_id) { + this.user_id = user_id; + } + + @Override + public String toString() { + return "BaseUserRole{" + + "id=" + id + + ", role_id=" + role_id + + ", user_id=" + user_id + + '}'; + } +} diff --git a/src/main/java/com/zhongdao/jlr/pojo/CouponConsumeJlrPO.java b/src/main/java/com/zhongdao/jlr/pojo/CouponConsumeJlrPO.java new file mode 100644 index 0000000..057d8cd --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/pojo/CouponConsumeJlrPO.java @@ -0,0 +1,171 @@ +package com.zhongdao.jlr.pojo; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; +import java.util.Date; + +@Entity +@Table(name = "jlr_coupon_consume") +public class CouponConsumeJlrPO { + + private Integer id; + private Integer contract_id; + private Integer enterprise_id; + private Integer is_settle; + private Integer settlement_state; + private String vin_code; + private String reparie_info; + private String hitch_info; + private String remark; + private String electronic_accounts; + private Float consume_count; + private Date consume_time; + private Date settle_time; + private Date create_time; + private Date update_time; + + @Id + @Column(name = "id") + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + @Column(name = "contract_id") + public Integer getContract_id() { + return contract_id; + } + + public void setContract_id(Integer contract_id) { + this.contract_id = contract_id; + } + @Column(name = "enterprise_id") + public Integer getEnterprise_id() { + return enterprise_id; + } + + public void setEnterprise_id(Integer enterprise_id) { + this.enterprise_id = enterprise_id; + } + @Column(name = "is_settle") + public Integer getIs_settle() { + return is_settle; + } + + public void setIs_settle(Integer is_settle) { + this.is_settle = is_settle; + } + @Column(name = "settlement_state") + public Integer getSettlement_state() { + return settlement_state; + } + + public void setSettlement_state(Integer settlement_state) { + this.settlement_state = settlement_state; + } + @Column(name = "vin_code") + public String getVin_code() { + return vin_code; + } + + public void setVin_code(String vin_code) { + this.vin_code = vin_code; + } + @Column(name = "reparie_info") + public String getReparie_info() { + return reparie_info; + } + + public void setReparie_info(String reparie_info) { + this.reparie_info = reparie_info; + } + @Column(name = "hitch_info") + public String getHitch_info() { + return hitch_info; + } + + public void setHitch_info(String hitch_info) { + this.hitch_info = hitch_info; + } + @Column(name = "remark") + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + @Column(name = "electronic_accounts") + public String getElectronic_accounts() { + return electronic_accounts; + } + + public void setElectronic_accounts(String electronic_accounts) { + this.electronic_accounts = electronic_accounts; + } + @Column(name = "consume_count") + public Float getConsume_count() { + return consume_count; + } + + public void setConsume_count(Float consume_count) { + this.consume_count = consume_count; + } + @Column(name = "consume_time") + public Date getConsume_time() { + return consume_time; + } + + public void setConsume_time(Date consume_time) { + this.consume_time = consume_time; + } + @Column(name = "settle_time") + public Date getSettle_time() { + return settle_time; + } + + public void setSettle_time(Date settle_time) { + this.settle_time = settle_time; + } + @Column(name = "create_time") + public Date getCreate_time() { + return create_time; + } + + public void setCreate_time(Date create_time) { + this.create_time = create_time; + } + @Column(name = "update_time") + public Date getUpdate_time() { + return update_time; + } + + public void setUpdate_time(Date update_time) { + this.update_time = update_time; + } + + @Override + public String toString() { + return "CouponConsumeJlrPO{" + + "id=" + id + + ", contract_id=" + contract_id + + ", enterprise_id=" + enterprise_id + + ", is_settle=" + is_settle + + ", settlement_state=" + settlement_state + + ", vin_code='" + vin_code + '\'' + + ", reparie_info='" + reparie_info + '\'' + + ", hitch_info='" + hitch_info + '\'' + + ", remark='" + remark + '\'' + + ", electronic_accounts='" + electronic_accounts + '\'' + + ", consume_count=" + consume_count + + ", consume_time=" + consume_time + + ", settle_time=" + settle_time + + ", create_time=" + create_time + + ", update_time=" + update_time + + '}'; + } +} diff --git a/src/main/java/com/zhongdao/jlr/pojo/CouponRechargeJlrPO.java b/src/main/java/com/zhongdao/jlr/pojo/CouponRechargeJlrPO.java new file mode 100644 index 0000000..e7045f3 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/pojo/CouponRechargeJlrPO.java @@ -0,0 +1,161 @@ +package com.zhongdao.jlr.pojo; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; +import java.util.Date; + +@Entity +@Table(name = "jlr_coupon_recharge") +public class CouponRechargeJlrPO { + + private Integer id; + private Integer order_id; + private Integer task_order_id; + private String vin_code; + private String seate_name; + private String remark; + private String service_name; + private String electronic_accounts; + private Float recharge_count; + private Float consume_count; + private Date overdue_time; + private Date recharge_time; + private Date create_time; + private Date update_time; + + @Id + @Column(name = "id") + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + @Column(name = "order_id") + public Integer getOrder_id() { + return order_id; + } + + public void setOrder_id(Integer order_id) { + this.order_id = order_id; + } + @Column(name = "task_order_id") + public Integer getTask_order_id() { + return task_order_id; + } + + public void setTask_order_id(Integer task_order_id) { + this.task_order_id = task_order_id; + } + @Column(name = "vin_code") + public String getVin_code() { + return vin_code; + } + + public void setVin_code(String vin_code) { + this.vin_code = vin_code; + } + @Column(name = "seate_name") + public String getSeate_name() { + return seate_name; + } + + public void setSeate_name(String seate_name) { + this.seate_name = seate_name; + } + @Column(name = "remark") + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + @Column(name = "service_name") + public String getService_name() { + return service_name; + } + + public void setService_name(String service_name) { + this.service_name = service_name; + } + @Column(name = "electronic_accounts") + public String getElectronic_accounts() { + return electronic_accounts; + } + + public void setElectronic_accounts(String electronic_accounts) { + this.electronic_accounts = electronic_accounts; + } + @Column(name = "recharge_count") + public Float getRecharge_count() { + return recharge_count; + } + + public void setRecharge_count(Float recharge_count) { + this.recharge_count = recharge_count; + } + @Column(name = "consume_count") + public Float getConsume_count() { + return consume_count; + } + + public void setConsume_count(Float consume_count) { + this.consume_count = consume_count; + } + @Column(name = "overdue_time") + public Date getOverdue_time() { + return overdue_time; + } + + public void setOverdue_time(Date overdue_time) { + this.overdue_time = overdue_time; + } + @Column(name = "recharge_time") + public Date getRecharge_time() { + return recharge_time; + } + + public void setRecharge_time(Date recharge_time) { + this.recharge_time = recharge_time; + } + @Column(name = "create_time") + public Date getCreate_time() { + return create_time; + } + + public void setCreate_time(Date create_time) { + this.create_time = create_time; + } + @Column(name = "update_time") + public Date getUpdate_time() { + return update_time; + } + + public void setUpdate_time(Date update_time) { + this.update_time = update_time; + } + + @Override + public String toString() { + return "CouponRechargeJlrPO{" + + "id=" + id + + ", order_id=" + order_id + + ", task_order_id=" + task_order_id + + ", vin_code='" + vin_code + '\'' + + ", seate_name='" + seate_name + '\'' + + ", remark='" + remark + '\'' + + ", service_name='" + service_name + '\'' + + ", electronic_accounts='" + electronic_accounts + '\'' + + ", recharge_count=" + recharge_count + + ", consume_count=" + consume_count + + ", overdue_time=" + overdue_time + + ", recharge_time=" + recharge_time + + ", create_time=" + create_time + + ", update_time=" + update_time + + '}'; + } +} diff --git a/src/main/java/com/zhongdao/jlr/pojo/EnterpriseJlr.java b/src/main/java/com/zhongdao/jlr/pojo/EnterpriseJlr.java new file mode 100644 index 0000000..770cfbf --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/pojo/EnterpriseJlr.java @@ -0,0 +1,313 @@ +package com.zhongdao.jlr.pojo; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; +import java.util.Date; + +@Entity +@Table(name = "jlr_enterprise") +public class EnterpriseJlr { + + private Integer id; + private Integer settle_type; + private Integer is_send; + private String name; + private String contact; + private String phone1; + private String phone2; + private String phone3; + private String registry; + private String lon; + private String lat; + private String abbr_name; + private String brands; + private String activate_code; + private String area_code; + private String abbr_code; + private String remark; + private String address; + private String contact2; + private String contact3; + private String job1; + private String job2; + private String job3; + private String service_qualification; + private String car_type; + private String first_sale_date; + private String vin_code; + private Date create_time; + private Date update_time; + + @Id + @Column(name = "id") + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + @Column(name = "settle_type") + public Integer getSettle_type() { + return settle_type; + } + + public void setSettle_type(Integer settle_type) { + this.settle_type = settle_type; + } + @Column(name = "is_send") + public Integer getIs_send() { + return is_send; + } + + public void setIs_send(Integer is_send) { + this.is_send = is_send; + } + @Column(name = "name") + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + @Column(name = "contact") + public String getContact() { + return contact; + } + + public void setContact(String contact) { + this.contact = contact; + } + @Column(name = "phone1") + public String getPhone1() { + return phone1; + } + + public void setPhone1(String phone1) { + this.phone1 = phone1; + } + @Column(name = "phone2") + public String getPhone2() { + return phone2; + } + + public void setPhone2(String phone2) { + this.phone2 = phone2; + } + @Column(name = "phone3") + public String getPhone3() { + return phone3; + } + + public void setPhone3(String phone3) { + this.phone3 = phone3; + } + @Column(name = "registry") + public String getRegistry() { + return registry; + } + + public void setRegistry(String registry) { + this.registry = registry; + } + @Column(name = "lon") + public String getLon() { + return lon; + } + + public void setLon(String lon) { + this.lon = lon; + } + @Column(name = "lat") + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + @Column(name = "abbr_name") + public String getAbbr_name() { + return abbr_name; + } + + public void setAbbr_name(String abbr_name) { + this.abbr_name = abbr_name; + } + @Column(name = "brands") + public String getBrands() { + return brands; + } + + public void setBrands(String brands) { + this.brands = brands; + } + @Column(name = "activate_code") + public String getActivate_code() { + return activate_code; + } + + public void setActivate_code(String activate_code) { + this.activate_code = activate_code; + } + @Column(name = "area_code") + public String getArea_code() { + return area_code; + } + + public void setArea_code(String area_code) { + this.area_code = area_code; + } + @Column(name = "abbr_code") + public String getAbbr_code() { + return abbr_code; + } + + public void setAbbr_code(String abbr_code) { + this.abbr_code = abbr_code; + } + @Column(name = "remark") + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + @Column(name = "address") + public String getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; + } + @Column(name = "contact2") + public String getContact2() { + return contact2; + } + + public void setContact2(String contact2) { + this.contact2 = contact2; + } + @Column(name = "contact3") + public String getContact3() { + return contact3; + } + + public void setContact3(String contact3) { + this.contact3 = contact3; + } + @Column(name = "job1") + public String getJob1() { + return job1; + } + + public void setJob1(String job1) { + this.job1 = job1; + } + @Column(name = "job2") + public String getJob2() { + return job2; + } + + public void setJob2(String job2) { + this.job2 = job2; + } + @Column(name = "job3") + public String getJob3() { + return job3; + } + + public void setJob3(String job3) { + this.job3 = job3; + } + @Column(name = "service_qualification") + public String getService_qualification() { + return service_qualification; + } + + public void setService_qualification(String service_qualification) { + this.service_qualification = service_qualification; + } + @Column(name = "car_type") + public String getCar_type() { + return car_type; + } + + public void setCar_type(String car_type) { + this.car_type = car_type; + } + @Column(name = "first_sale_date") + public String getFirst_sale_date() { + return first_sale_date; + } + + public void setFirst_sale_date(String first_sale_date) { + this.first_sale_date = first_sale_date; + } + @Column(name = "vin_code") + public String getVin_code() { + return vin_code; + } + + public void setVin_code(String vin_code) { + this.vin_code = vin_code; + } + @Column(name = "create_time") + public Date getCreate_time() { + return create_time; + } + + public void setCreate_time(Date create_time) { + this.create_time = create_time; + } + @Column(name = "update_time") + public Date getUpdate_time() { + return update_time; + } + + public void setUpdate_time(Date update_time) { + this.update_time = update_time; + } + + + + @Override + public String toString() { + return "EnterpriseJlr{" + + "id=" + id + + ", settle_type=" + settle_type + + ", is_send=" + is_send + + ", name='" + name + '\'' + + ", contact='" + contact + '\'' + + ", phone1='" + phone1 + '\'' + + ", phone2='" + phone2 + '\'' + + ", phone3='" + phone3 + '\'' + + ", registry='" + registry + '\'' + + ", lon='" + lon + '\'' + + ", lat='" + lat + '\'' + + ", abbr_name='" + abbr_name + '\'' + + ", brands='" + brands + '\'' + + ", activate_code='" + activate_code + '\'' + + ", area_code='" + area_code + '\'' + + ", abbr_code='" + abbr_code + '\'' + + ", remark='" + remark + '\'' + + ", address='" + address + '\'' + + ", contact2='" + contact2 + '\'' + + ", contact3='" + contact3 + '\'' + + ", job1='" + job1 + '\'' + + ", job2='" + job2 + '\'' + + ", job3='" + job3 + '\'' + + ", service_qualification='" + service_qualification + '\'' + + ", car_type='" + car_type + '\'' + + ", first_sale_date='" + first_sale_date + '\'' + + ", vin_code='" + vin_code + '\'' + + ", create_time=" + create_time + + ", update_time=" + update_time + + '}'; + } +} diff --git a/src/main/java/com/zhongdao/jlr/pojo/JLRAuthority.java b/src/main/java/com/zhongdao/jlr/pojo/JLRAuthority.java new file mode 100644 index 0000000..c7c8437 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/pojo/JLRAuthority.java @@ -0,0 +1,62 @@ +package com.zhongdao.jlr.pojo; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; +import java.util.Date; + +@Entity +@Table(name = "jlr_role_authority") +public class JLRAuthority { + + private Integer id;//编号 + private Integer menu_id;//菜单编号 + private Integer role_id;//角色编号 + private Date update_time;//更新时间 + + @Id + @Column(name = "id") + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + @Column(name = "menu_id") + public Integer getMenu_id() { + return menu_id; + } + + public void setMenu_id(Integer menu_id) { + this.menu_id = menu_id; + } + @Column(name = "role_id") + public Integer getRole_id() { + return role_id; + } + + public void setRole_id(Integer role_id) { + this.role_id = role_id; + } + + @Column(name = "update_time") + public Date getUpdate_time() { + return update_time; + } + + public void setUpdate_time(Date update_time) { + this.update_time = update_time; + } + + @Override + public String toString() { + return "JLRAuthority{" + + "id=" + id + + ", menu_id=" + menu_id + + ", role_id=" + role_id + + ", update_time=" + update_time + + '}'; + } +} diff --git a/src/main/java/com/zhongdao/jlr/pojo/JLRCoupon.java b/src/main/java/com/zhongdao/jlr/pojo/JLRCoupon.java new file mode 100644 index 0000000..cb26c24 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/pojo/JLRCoupon.java @@ -0,0 +1,141 @@ +package com.zhongdao.jlr.pojo; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; +import java.util.Date; + +@Entity +@Table(name = "jlr_coupon") +public class JLRCoupon { + + private Integer id; + private String vin_code; + private String user_name; + private String user_phone; + private String license; + private String remark; + private String electronic_accounts; + private String e_password; + private Float charge; + private Float consume_charge; + private Date create_time; + private Date update_time; + + @Id + @Column(name = "id") + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + @Column(name = "vin_code") + public String getVin_code() { + return vin_code; + } + + public void setVin_code(String vin_code) { + this.vin_code = vin_code; + } + @Column(name = "user_name") + public String getUser_name() { + return user_name; + } + + public void setUser_name(String user_name) { + this.user_name = user_name; + } + @Column(name = "user_phone") + public String getUser_phone() { + return user_phone; + } + + public void setUser_phone(String user_phone) { + this.user_phone = user_phone; + } + @Column(name = "license") + public String getLicense() { + return license; + } + + public void setLicense(String license) { + this.license = license; + } + @Column(name = "remark") + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + @Column(name = "electronic_accounts") + public String getElectronic_accounts() { + return electronic_accounts; + } + + public void setElectronic_accounts(String electronic_accounts) { + this.electronic_accounts = electronic_accounts; + } + @Column(name = "e_password") + public String getE_password() { + return e_password; + } + + public void setE_password(String e_password) { + this.e_password = e_password; + } + @Column(name = "charge") + public Float getCharge() { + return charge; + } + + public void setCharge(Float charge) { + this.charge = charge; + } + @Column(name = "consume_charge") + public Float getConsume_charge() { + return consume_charge; + } + + public void setConsume_charge(Float consume_charge) { + this.consume_charge = consume_charge; + } + @Column(name = "create_time") + public Date getCreate_time() { + return create_time; + } + + public void setCreate_time(Date create_time) { + this.create_time = create_time; + } + @Column(name = "update_time") + public Date getUpdate_time() { + return update_time; + } + + public void setUpdate_time(Date update_time) { + this.update_time = update_time; + } + + @Override + public String toString() { + return "JLRCoupon{" + + "id=" + id + + ", vin_code='" + vin_code + '\'' + + ", user_name='" + user_name + '\'' + + ", user_phone='" + user_phone + '\'' + + ", license='" + license + '\'' + + ", remark='" + remark + '\'' + + ", electronic_accounts='" + electronic_accounts + '\'' + + ", e_password='" + e_password + '\'' + + ", charge=" + charge + + ", consume_charge=" + consume_charge + + ", create_time=" + create_time + + ", update_time=" + update_time + + '}'; + } +} diff --git a/src/main/java/com/zhongdao/jlr/pojo/JLRDestination.java b/src/main/java/com/zhongdao/jlr/pojo/JLRDestination.java new file mode 100644 index 0000000..250543b --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/pojo/JLRDestination.java @@ -0,0 +1,50 @@ +package com.zhongdao.jlr.pojo; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; + +@Entity +@Table(name = "jlr_destination_visual") +public class JLRDestination { + + private Integer id;//主键id + private Integer jlr_user_id;//用户id + private Integer contract_destination_id;//目的地id + + @Id + @Column(name = "id") + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + @Column(name = "jlr_user_id") + public Integer getJlr_user_id() { + return jlr_user_id; + } + + public void setJlr_user_id(Integer jlr_user_id) { + this.jlr_user_id = jlr_user_id; + } + @Column(name = "contract_destination_id") + public Integer getContract_destination_id() { + return contract_destination_id; + } + + public void setContract_destination_id(Integer contract_destination_id) { + this.contract_destination_id = contract_destination_id; + } + + @Override + public String toString() { + return "JLRDestination{" + + "id=" + id + + ", jlr_user_id=" + jlr_user_id + + ", contract_destination_id=" + contract_destination_id + + '}'; + } +} diff --git a/src/main/java/com/zhongdao/jlr/pojo/JLRRole.java b/src/main/java/com/zhongdao/jlr/pojo/JLRRole.java new file mode 100644 index 0000000..88158d9 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/pojo/JLRRole.java @@ -0,0 +1,64 @@ +package com.zhongdao.jlr.pojo; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; +import java.util.Date; + +@Entity +@Table(name = "jlr_role") +public class JLRRole { + + private Integer id;//编号 + private String name;//名称 + private Date update_time; + private Integer delete_flag; + + @Id + @Column(name = "id") + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + @Column(name = "name") + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @Column(name = "update_time") + public Date getUpdate_time() { + return update_time; + } + + public void setUpdate_time(Date update_time) { + this.update_time = update_time; + } + + @Column(name = "delete_flag") + public Integer getDelete_flag() { + return delete_flag; + } + + public void setDelete_flag(Integer delete_flag) { + this.delete_flag = delete_flag; + } + + @Override + public String toString() { + return "JLRRole{" + + "id=" + id + + ", name='" + name + '\'' + + ", update_time=" + update_time + + ", delete_flag=" + delete_flag + + '}'; + } +} diff --git a/src/main/java/com/zhongdao/jlr/pojo/JLRSupplier.java b/src/main/java/com/zhongdao/jlr/pojo/JLRSupplier.java new file mode 100644 index 0000000..f77e889 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/pojo/JLRSupplier.java @@ -0,0 +1,50 @@ +package com.zhongdao.jlr.pojo; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; + +@Entity +@Table(name = "jlr_supplier_visual") +public class JLRSupplier { + + private Integer id;//主键id + private Integer jlr_user_id;//用户id + private Integer supplier_id;//供应商id + + @Id + @Column(name = "id") + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + @Column(name = "jlr_user_id") + public Integer getJlr_user_id() { + return jlr_user_id; + } + + public void setJlr_user_id(Integer jlr_user_id) { + this.jlr_user_id = jlr_user_id; + } + @Column(name = "supplier_id") + public Integer getSupplier_id() { + return supplier_id; + } + + public void setSupplier_id(Integer supplier_id) { + this.supplier_id = supplier_id; + } + + @Override + public String toString() { + return "JLRSupplier{" + + "id=" + id + + ", jlr_user_id=" + jlr_user_id + + ", supplier_id=" + supplier_id + + '}'; + } +} diff --git a/src/main/java/com/zhongdao/jlr/pojo/JLRUser.java b/src/main/java/com/zhongdao/jlr/pojo/JLRUser.java new file mode 100644 index 0000000..2dc1c02 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/pojo/JLRUser.java @@ -0,0 +1,120 @@ +package com.zhongdao.jlr.pojo; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; +import java.util.Date; +@Entity +@Table(name = "jlr_user") +public class JLRUser { + + private int id; + private int role_id; + private int enterprise_id; + private int delete_flag; + private String name; + private String login_name; + private String password; + private String phone; + private String email; + private Date update_time; + + @Id + @Column(name = "id") + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + @Column(name = "role_id") + public int getRole_id() { + return role_id; + } + + public void setRole_id(int role_id) { + this.role_id = role_id; + } + @Column(name = "delete_flag") + public int getDelete_flag() { + return delete_flag; + } + + public void setDelete_flag(int delete_flag) { + this.delete_flag = delete_flag; + } + @Column(name = "name") + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + @Column(name = "login_name") + public String getLogin_name() { + return login_name; + } + + public void setLogin_name(String login_name) { + this.login_name = login_name; + } + @Column(name = "password") + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + @Column(name = "phone") + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + @Column(name = "email") + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + @Column(name = "update_time") + public Date getUpdate_time() { + return update_time; + } + + public void setUpdate_time(Date update_time) { + this.update_time = update_time; + } + @Column(name = "enterprise_id") + public int getEnterprise_id() { + return enterprise_id; + } + + public void setEnterprise_id(int enterprise_id) { + this.enterprise_id = enterprise_id; + } + + @Override + public String toString() { + return "JLRUser{" + + "id=" + id + + ", role_id=" + role_id + + ", enterprise_id=" + enterprise_id + + ", delete_flag=" + delete_flag + + ", name='" + name + '\'' + + ", login_name='" + login_name + '\'' + + ", password='" + password + '\'' + + ", phone='" + phone + '\'' + + ", email='" + email + '\'' + + ", update_time=" + update_time + + '}'; + } +} diff --git a/src/main/java/com/zhongdao/jlr/pojo/JLRUserContract.java b/src/main/java/com/zhongdao/jlr/pojo/JLRUserContract.java new file mode 100644 index 0000000..1e458b4 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/pojo/JLRUserContract.java @@ -0,0 +1,50 @@ +package com.zhongdao.jlr.pojo; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; + +@Entity +@Table(name = "jlr_contract_visual") +public class JLRUserContract { + + private Integer id;//编号 + private Integer jlr_user_id;//用户id + private Integer contract_id;//合同id + + @Id + @Column(name = "id") + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + @Column(name = "jlr_user_id") + public Integer getJlr_user_id() { + return jlr_user_id; + } + + public void setJlr_user_id(Integer jlr_user_id) { + this.jlr_user_id = jlr_user_id; + } + @Column(name = "contract_id") + public Integer getContract_id() { + return contract_id; + } + + public void setContract_id(Integer contract_id) { + this.contract_id = contract_id; + } + + @Override + public String toString() { + return "JLRUserContract{" + + "id=" + id + + ", jlr_user_id=" + jlr_user_id + + ", contract_id=" + contract_id + + '}'; + } +} diff --git a/src/main/java/com/zhongdao/jlr/pojo/JLRepqr.java b/src/main/java/com/zhongdao/jlr/pojo/JLRepqr.java new file mode 100644 index 0000000..d8630bc --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/pojo/JLRepqr.java @@ -0,0 +1,241 @@ +package com.zhongdao.jlr.pojo; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; +import java.util.Date; + +@Entity +@Table(name = "jlr_epqr") +public class JLRepqr { + + private Integer id;//主键id + private Integer order_id;//订单id + private Integer task_order_id;//任务id + private Integer mileage;//公里数 + private Integer state;//状态 + private String trouble_code_value; + private String dms_code;//dms码 + private String remaer;//备注 + private String repair;//维修结果 + private String trouble_reason;//故障原因 + private String trouble_code;//故障零件 + private String choice_type;//出行方式 + private String other_service; + private String dphm;//底盘码 + private Date arrive_time;//到达时间 + private Date ref_time;//预计完成时间 + private Date finish_time;//完成时间 + private Date hand_time;//交货时间 + private Date other_serivce_time; + private Date use_time;//使用时间 + private Date create_time;//创建时间 + private Date update_time;//更新时间 + + @Id + @Column(name = "id") + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + @Column(name = "order_id") + public Integer getOrder_id() { + return order_id; + } + + public void setOrder_id(Integer order_id) { + this.order_id = order_id; + } + @Column(name = "task_order_id") + public Integer getTask_order_id() { + return task_order_id; + } + + public void setTask_order_id(Integer task_order_id) { + this.task_order_id = task_order_id; + } + @Column(name = "mileage") + public Integer getMileage() { + return mileage; + } + + public void setMileage(Integer mileage) { + this.mileage = mileage; + } + @Column(name = "state") + public Integer getState() { + return state; + } + + public void setState(Integer state) { + this.state = state; + } + @Column(name = "trouble_code_value") + public String getTrouble_code_value() { + return trouble_code_value; + } + + public void setTrouble_code_value(String trouble_code_value) { + this.trouble_code_value = trouble_code_value; + } + @Column(name = "dms_code") + public String getDms_code() { + return dms_code; + } + + public void setDms_code(String dms_code) { + this.dms_code = dms_code; + } + @Column(name = "remaer") + public String getRemaer() { + return remaer; + } + + public void setRemaer(String remaer) { + this.remaer = remaer; + } + @Column(name = "repair") + public String getRepair() { + return repair; + } + + public void setRepair(String repair) { + this.repair = repair; + } + @Column(name = "trouble_reason") + public String getTrouble_reason() { + return trouble_reason; + } + + public void setTrouble_reason(String trouble_reason) { + this.trouble_reason = trouble_reason; + } + @Column(name = "trouble_code") + public String getTrouble_code() { + return trouble_code; + } + + public void setTrouble_code(String trouble_code) { + this.trouble_code = trouble_code; + } + @Column(name = "choice_type") + public String getChoice_type() { + return choice_type; + } + + public void setChoice_type(String choice_type) { + this.choice_type = choice_type; + } + @Column(name = "other_service") + public String getOther_service() { + return other_service; + } + + public void setOther_service(String other_service) { + this.other_service = other_service; + } + @Column(name = "dphm") + public String getDphm() { + return dphm; + } + + public void setDphm(String dphm) { + this.dphm = dphm; + } + @Column(name = "arrive_time") + public Date getArrive_time() { + return arrive_time; + } + + public void setArrive_time(Date arrive_time) { + this.arrive_time = arrive_time; + } + @Column(name = "ref_time") + public Date getRef_time() { + return ref_time; + } + + public void setRef_time(Date ref_time) { + this.ref_time = ref_time; + } + @Column(name = "finish_time") + public Date getFinish_time() { + return finish_time; + } + + public void setFinish_time(Date finish_time) { + this.finish_time = finish_time; + } + @Column(name = "hand_time") + public Date getHand_time() { + return hand_time; + } + + public void setHand_time(Date hand_time) { + this.hand_time = hand_time; + } + @Column(name = "other_serivce_time") + public Date getOther_serivce_time() { + return other_serivce_time; + } + + public void setOther_serivce_time(Date other_serivce_time) { + this.other_serivce_time = other_serivce_time; + } + @Column(name = "use_time") + public Date getUse_time() { + return use_time; + } + + public void setUse_time(Date use_time) { + this.use_time = use_time; + } + @Column(name = "create_time") + public Date getCreate_time() { + return create_time; + } + + public void setCreate_time(Date create_time) { + this.create_time = create_time; + } + @Column(name = "update_time") + public Date getUpdate_time() { + return update_time; + } + + public void setUpdate_time(Date update_time) { + this.update_time = update_time; + } + + @Override + public String toString() { + return "JLRepqr{" + + "id=" + id + + ", order_id=" + order_id + + ", task_order_id=" + task_order_id + + ", mileage=" + mileage + + ", state=" + state + + ", trouble_code_value='" + trouble_code_value + '\'' + + ", dms_code='" + dms_code + '\'' + + ", remaer='" + remaer + '\'' + + ", repair='" + repair + '\'' + + ", trouble_reason='" + trouble_reason + '\'' + + ", trouble_code='" + trouble_code + '\'' + + ", choice_type='" + choice_type + '\'' + + ", other_service='" + other_service + '\'' + + ", dphm='" + dphm + '\'' + + ", arrive_time=" + arrive_time + + ", ref_time=" + ref_time + + ", finish_time=" + finish_time + + ", hand_time=" + hand_time + + ", other_serivce_time=" + other_serivce_time + + ", use_time=" + use_time + + ", create_time=" + create_time + + ", update_time=" + update_time + + '}'; + } +} diff --git a/src/main/java/com/zhongdao/jlr/util/DateUtil.java b/src/main/java/com/zhongdao/jlr/util/DateUtil.java new file mode 100644 index 0000000..fee29fd --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/util/DateUtil.java @@ -0,0 +1,152 @@ +package com.zhongdao.jlr.util; + +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class DateUtil { + + /** + * 获取SimpleDateFormat + * @param parttern 日期格式 + * @return SimpleDateFormat对象 + * @throws RuntimeException 异常:非法日期格式 + */ + private static SimpleDateFormat getDateFormat(String parttern) throws RuntimeException { + return new SimpleDateFormat(parttern); + } + + /** + * 获取日期中的某数值。如获取月份 + * @param date 日期 + * @param dateType 日期格式 + * @return 数值 + */ + private static int getInteger(Date date, int dateType) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + return calendar.get(dateType); + } + + /** + * 增加日期中某类型的某数值。如增加日期 + * @param date 日期 + * @param dateType 类型 + * @param amount 数值 + * @return 计算后日期 + */ + private static Date addInteger(Date date, int dateType, int amount) { + Date myDate = null; + if (date != null) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.add(dateType, amount); + myDate = calendar.getTime(); + } + return myDate; + } + + /** + * 获取精确的日期 + * @param timestamps 时间long集合 + * @return 日期 + */ + private static Date getAccurateDate(List timestamps) { + Date date = null; + long timestamp = 0; + Map map = new HashMap(); + List absoluteValues = new ArrayList(); + + if (timestamps != null && timestamps.size() > 0) { + if (timestamps.size() > 1) { + for (int i = 0; i < timestamps.size(); i++) { + for (int j = i + 1; j < timestamps.size(); j++) { + long absoluteValue = Math.abs(timestamps.get(i) - timestamps.get(j)); + absoluteValues.add(absoluteValue); + long[] timestampTmp = { timestamps.get(i), timestamps.get(j) }; + map.put(absoluteValue, timestampTmp); + } + } + + // 有可能有相等的情况。如2012-11和2012-11-01。时间戳是相等的 + long minAbsoluteValue = -1; + if (!absoluteValues.isEmpty()) { + // 如果timestamps的size为2,这是差值只有一个,因此要给默认值 + minAbsoluteValue = absoluteValues.get(0); + } + for (int i = 0; i < absoluteValues.size(); i++) { + for (int j = i + 1; j < absoluteValues.size(); j++) { + if (absoluteValues.get(i) > absoluteValues.get(j)) { + minAbsoluteValue = absoluteValues.get(j); + } else { + minAbsoluteValue = absoluteValues.get(i); + } + } + } + + if (minAbsoluteValue != -1) { + long[] timestampsLastTmp = map.get(minAbsoluteValue); + if (absoluteValues.size() > 1) { + timestamp = Math.max(timestampsLastTmp[0], timestampsLastTmp[1]); + } else if (absoluteValues.size() == 1) { + // 当timestamps的size为2,需要与当前时间作为参照 + long dateOne = timestampsLastTmp[0]; + long dateTwo = timestampsLastTmp[1]; + if ((Math.abs(dateOne - dateTwo)) < 100000000000L) { + timestamp = Math.max(timestampsLastTmp[0], timestampsLastTmp[1]); + } else { + long now = new Date().getTime(); + if (Math.abs(dateOne - now) <= Math.abs(dateTwo - now)) { + timestamp = dateOne; + } else { + timestamp = dateTwo; + } + } + } + } + } else { + timestamp = timestamps.get(0); + } + } + + if (timestamp != 0) { + date = new Date(timestamp); + } + return date; + } + + + + /** + * 将日期字符串转化为日期。失败返回null。 + * @param date 日期字符串 + * @param parttern 日期格式 + * @return 日期 + */ + public static Date StringToDate(String date, String parttern) { + Date myDate = null; + if (date != null) { + try { + myDate = getDateFormat(parttern).parse(date); + } catch (Exception e) { + } + } + return myDate; + } + + public static String DateToString(Date date) { + if(date==null){ + return null; + } + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); + String str=sdf.format(date); + return str; + } + +} diff --git a/src/main/java/com/zhongdao/jlr/util/ExportCSVUtil.java b/src/main/java/com/zhongdao/jlr/util/ExportCSVUtil.java new file mode 100644 index 0000000..4b61240 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/util/ExportCSVUtil.java @@ -0,0 +1,106 @@ +package com.zhongdao.jlr.util; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.servlet.http.HttpServletResponse; +import java.io.*; +import java.net.URLEncoder; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; +import java.util.Map; + +public class ExportCSVUtil { + + private static final Logger logger = LoggerFactory.getLogger(ExportCSVUtil.class); + /** + * CSV文件列分隔符 + */ + private static final String CSV_COLUMN_SEPARATOR = ","; + + /** + * CSV文件列分隔符 + */ + private static final String CSV_RN = "\r\n"; + + /** + * @param dataList 集合数据 + * @param + */ + public static boolean doExport(List dataList, String path) { + FileOutputStream out = null; + OutputStreamWriter osw = null; + BufferedWriter bw = null; + + try { + File file = new File(path); + if (!file.exists()) { + try { + file.createNewFile(); + } catch (IOException e) { + e.printStackTrace(); + } + } + StringBuffer buf = new StringBuffer(); + out = new FileOutputStream(file); + osw = new OutputStreamWriter(out); + // 完成数据csv文件的封装 + for (int i = 0; i < dataList.size(); i++) { + buf.append(dataList.get(i)); + } + buf.append(CSV_RN); + // 写出响应 + osw.write(buf.toString()); + osw.flush(); + return true; + } catch (Exception e) { + logger.error("doExport错误...", e); + } finally { + if (bw != null) { + try { + bw.close(); + bw = null; + } catch (IOException e) { + e.printStackTrace(); + } + } + if (osw != null) { + try { + osw.close(); + osw = null; + } catch (IOException e) { + e.printStackTrace(); + } + } + if (out != null) { + try { + out.close(); + out = null; + } catch (IOException e) { + e.printStackTrace(); + } + } + + } + return false; + } + + /** + * @throws UnsupportedEncodingException setHeader + */ + public static void responseSetProperties(String path, HttpServletResponse response) throws UnsupportedEncodingException { + // 设置文件后缀 + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); + // 读取字符编码 + String utf = "UTF-8"; + + // 设置响应 + response.setContentType("application/ms-txt.numberformat:@"); + response.setCharacterEncoding(utf); + response.setHeader("Pragma", "public"); + response.setHeader("Cache-Control", "max-age=30"); + response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(path, utf)); + } + +} diff --git a/src/main/java/com/zhongdao/jlr/util/GeoAddressCenter.java b/src/main/java/com/zhongdao/jlr/util/GeoAddressCenter.java new file mode 100644 index 0000000..931718a --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/util/GeoAddressCenter.java @@ -0,0 +1,235 @@ +package com.zhongdao.jlr.util; + + + +import java.net.URLEncoder; +import java.util.List; +import java.util.Map; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import com.alibaba.fastjson.JSON; + +public class GeoAddressCenter { + private static Log log = LogFactory.getLog(GeoAddressCenter.class); + public static final String KEY = "7de40e4d33458a1c5901c3935f916d3c"; //个人KEY + + + //public static final String KEY = "41e95051d96ed69493f46e435204dc56"; //企业KEY + /** + * 根据经纬度查询位置信息 + * @param locaX + * @param locaY + * @return + */ + public static String getGeoAddress(String locaX,String locaY){ + String geoAddress = ""; + try { + String route_url = " http://restapi.amap.com/v3/geocode/regeo?output=json&radius=1000"; + + if (locaX == null || locaY == null || locaX.equals("") || locaY.equals("")) { + + }else{ + route_url += "&location="+locaX+","+locaY +"&key="+ KEY; + //System.out.println(route_url); + HttpClientDownload httpDown = new HttpClientDownload(); + httpDown.setFileUrl(route_url); + if (httpDown.download()) { + byte[] httpb = httpDown.getData(); + String data = new String(httpb, "utf-8"); + //System.out.println(data); + if(data!=null && !"".equals(data)){ + Map map = (Map) JSON.parse(data); + if (map.get("status") != null&& !map.get("status").equals("")) { + if (map.get("status").equals("1")) { + Map geoMap = (Map)map.get("regeocode"); + if(geoMap != null){ + geoAddress = (String)geoMap.get("formatted_address"); + } + } + } + } + } + } + } catch (Exception ee) { + log.error("", ee); + } + + return geoAddress; + } + + /** + * 根据经纬度查询地理编码 + * @param locaX + * @param locaY + * @return + */ + public static String getGeoAdcode(String locaX,String locaY){ + String adCode = "000000"; + try { + String route_url = " http://restapi.amap.com/v3/geocode/regeo?output=json&radius=1000"; + + if (locaX == null || locaY == null || locaX.equals("") || locaY.equals("")) { + + }else{ + route_url += "&location="+locaX+","+locaY +"&key="+ KEY; + //System.out.println(route_url); + HttpClientDownload httpDown = new HttpClientDownload(); + httpDown.setFileUrl(route_url); + if (httpDown.download()) { + byte[] httpb = httpDown.getData(); + String data = new String(httpb, "utf-8"); + //System.out.println(data); + if(data!=null && !"".equals(data)){ + Map map = (Map) JSON.parse(data); + if (map.get("status") != null&& !map.get("status").equals("")) { + if (map.get("status").equals("1")) { + Map geoMap = (Map)map.get("regeocode"); + if(geoMap != null){ + Map addressMap = (Map)geoMap.get("addressComponent"); + if(addressMap != null){ + adCode = (String)addressMap.get("adcode"); + if(adCode==null){ + adCode = "000000"; + } + } + } + } + } + } + } + } + } catch (Exception ee) { + log.error("", ee); + } + + return adCode; + } + + /** + * 根据地理名称查询区域代码 + * @param addressName + * @return + */ + public static String getGeoAdcode(String addressName){ + String adCode = "000000"; + try { + String route_url = "http://restapi.amap.com/v3/geocode/geo?"; + + if (addressName != null || !addressName.equals("")) { + route_url += "address="+URLEncoder.encode(addressName, "utf-8")+"&key="+ KEY+"&output=json"; + + HttpClientDownload httpDown = new HttpClientDownload(); + httpDown.setFileUrl(route_url); + if (httpDown.download()) { + byte[] httpb = httpDown.getData(); + String data = new String(httpb, "utf-8"); + if(data!=null && !"".equals(data)){ + Map map = (Map) JSON.parse(data); + if (map.get("status") != null&& !map.get("status").equals("")) { + if (map.get("status").equals("1")) { + List geoList = (List)map.get("geocodes"); + if(geoList!=null && geoList.size()>0){ + Map sMap = (Map)geoList.get(0); + adCode = (String)sMap.get("adcode"); + } + } + } + } + } + } + + } catch (Exception ee) { + log.error("", ee); + } + + return adCode; + } + + /** + * 根据地理名称查询经纬度 + * @param addressName + * @return + */ + public static String getGeoLonLat(String addressName){ + String locationXY = ""; + try { + String route_url = "http://restapi.amap.com/v3/geocode/geo?"; + + if (addressName != null || !addressName.equals("")) { + route_url += "address="+URLEncoder.encode(addressName, "utf-8")+"&key="+ KEY+"&output=json"; + + HttpClientDownload httpDown = new HttpClientDownload(); + httpDown.setFileUrl(route_url); + if (httpDown.download()) { + byte[] httpb = httpDown.getData(); + String data = new String(httpb, "utf-8"); + System.out.println(data); + if(data!=null && !"".equals(data)){ + Map map = (Map) JSON.parse(data); + if (map.get("status") != null&& !map.get("status").equals("")) { + if (map.get("status").equals("1")) { + List geoList = (List)map.get("geocodes"); + if(geoList!=null && geoList.size()>0){ + Map sMap = (Map)geoList.get(0); + locationXY = (String)sMap.get("location"); + } + } + } + } + } + } + + } catch (Exception ee) { + log.error("", ee); + } + + return locationXY; + } + + public static String getGeoJson(String addressName){ + String locationXY = ""; + try { + String route_url = "http://restapi.amap.com/v3/geocode/geo?"; + + if (addressName != null || !addressName.equals("")) { + route_url += "address="+URLEncoder.encode(addressName, "utf-8")+"&key="+ KEY+"&output=json"; + //log.info(route_url); + HttpClientDownload httpDown = new HttpClientDownload(); + httpDown.setFileUrl(route_url); + if (httpDown.download()) { + byte[] httpb = httpDown.getData(); + String data = new String(httpb, "utf-8"); + if(data!=null && !"".equals(data)){ + Map map = (Map) JSON.parse(data); + if (map.get("status") != null&& !map.get("status").equals("")) { + if (map.get("status").equals("1")) { + List geoList = (List)map.get("geocodes"); + if(geoList!=null && geoList.size()>0){ + Map sMap = (Map)geoList.get(0); + locationXY = (String)sMap.get("location")+","+(String)sMap.get("adcode"); + } + } + } + } + } + } + + } catch (Exception ee) { + ee.printStackTrace(); + log.error("", ee); + } + System.out.println(locationXY); + return locationXY; + } + + public static void main(String[] atgs){ + String dd = GeoAddressCenter.getGeoAdcode("121.397358","31.623553"); +// String dd = GeoAddressCenter.getGeoLonLat("浙江省嘉兴市桐乡市屠甸出口"); + System.out.println(dd); + + } + + +} diff --git a/src/main/java/com/zhongdao/jlr/util/HttpClientDownload.java b/src/main/java/com/zhongdao/jlr/util/HttpClientDownload.java new file mode 100644 index 0000000..4b0457d --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/util/HttpClientDownload.java @@ -0,0 +1,141 @@ +package com.zhongdao.jlr.util; + +import java.io.ByteArrayOutputStream; +import java.io.InputStream; + +import org.apache.commons.httpclient.HttpClient; +import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager; +import org.apache.commons.httpclient.methods.GetMethod; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +public class HttpClientDownload { + + private ByteArrayOutputStream dataStream = new ByteArrayOutputStream(); + private MultiThreadedHttpConnectionManager manager = new MultiThreadedHttpConnectionManager(); + private boolean stop = false; + + protected final Log log = LogFactory.getLog(HttpClientDownload.class); + + private String fileUrl = "http://umsa.careland.com.cn/tmc/get_zone_traffic_snapshoot.ums?cdid=30000&cpid=12&kcard=108001100000002007697598&devidcode=22844C70CCTJ1&actcode=7142549098995416&verid=4C707502252C&zlibcomp=1"; + + private int buffer = 1024 * 10; + + private String fileName = "TSPService.txt"; + + public boolean isStop() { + return stop; + } + + public void setStop(boolean stop) { + this.stop = stop; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public String getFileUrl() { + return fileUrl; + } + + public void setFileUrl(String fileUrl) { + this.fileUrl = fileUrl; + } + + public int getBuffer() { + return buffer; + } + + public void setBuffer(int buffer) { + this.buffer = buffer; + } + + public byte[] getData() { + return dataStream.toByteArray(); + } + + public ByteArrayOutputStream getDataStream() { + return dataStream; + } + + public void setDataStream(ByteArrayOutputStream dataStream) { + this.dataStream = dataStream; + } + + public boolean download() { + HttpClient client = null; + GetMethod httpGet = null; + try { + manager.getParams().setConnectionTimeout(2000); + manager.getParams().setSoTimeout(2000); + client = new HttpClient(manager); + httpGet = new GetMethod(fileUrl); + httpGet.setRequestHeader("Connection", "close"); + client.executeMethod(httpGet); + String path = httpGet.getPath(); + + int offset = path.lastIndexOf("/"); + if (offset != -1) { + fileName = path.substring(offset + 1); + } else { + fileName = path; + } + if (fileName.indexOf(".") == -1) { + fileName = fileName + ".htm"; + } + if (fileName.equals(".htm")) { + fileName = "123.htm"; + } + InputStream in = httpGet.getResponseBodyAsStream(); + + byte[] b = new byte[buffer]; + int len = 0; + while ((len = in.read(b)) != -1 && !isStop()) { + dataStream.write(b, 0, len); + } + in.close(); + dataStream.close(); + } catch (Exception e) { + log.error(e); + return false; + } finally { + try { + + httpGet.releaseConnection(); + client.getHttpConnectionManager().closeIdleConnections(0); + } catch (Exception e) { + // log.error(e); + return false; + } + } + return true; + } + + + /* + public static void main(String args[]) { + HttpClientDownload d = new HttpClientDownload(); + d.download(); + ZipSeparate zp = new ZipSeparate(); + if (d.download()) { + byte[] httpb = d.getData(); + zp.setFirstLength(768); + zp.setData(httpb); + zp.separateData(); + List datas = zp.getDatas(); + DownFileSession ds = new DownFileSession(); + ds.setVehicleId("1"); + ds.setTime(new Date()); + ds.setSessionId(SessionIdUtil.getSessionId()); + ds.setDatas(datas); + System.out.println(zp.getZipData().length); + System.out.println(ds.getSize()); + } + } + */ +} diff --git a/src/main/java/com/zhongdao/jlr/util/MD5.java b/src/main/java/com/zhongdao/jlr/util/MD5.java new file mode 100644 index 0000000..7076532 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/util/MD5.java @@ -0,0 +1,62 @@ +package com.zhongdao.jlr.util; + + +import java.security.MessageDigest; +/* + * MD5 算法 +*/ +public class MD5 { + + /*** + * MD5加码 生成32位md5码 + */ + public static String string2MD5(String inStr){ + MessageDigest md5 = null; + try{ + md5 = MessageDigest.getInstance("MD5"); + }catch (Exception e){ + System.out.println(e.toString()); + e.printStackTrace(); + return ""; + } + char[] charArray = inStr.toCharArray(); + byte[] byteArray = new byte[charArray.length]; + + for (int i = 0; i < charArray.length; i++) + byteArray[i] = (byte) charArray[i]; + byte[] md5Bytes = md5.digest(byteArray); + StringBuffer hexValue = new StringBuffer(); + for (int i = 0; i < md5Bytes.length; i++){ + int val = ((int) md5Bytes[i]) & 0xff; + if (val < 16) + hexValue.append("0"); + hexValue.append(Integer.toHexString(val)); + } + return hexValue.toString(); + + } + + /** + * 加密解密算法 执行一次加密,两次解密 + */ + public static String convertMD5(String inStr){ + + char[] a = inStr.toCharArray(); + for (int i = 0; i < a.length; i++){ + a[i] = (char) (a[i] ^ 't'); + } + String s = new String(a); + return s; + + } + + // 测试主函数 + public static void main(String args[]) { + String s = new String("zdjySino6103"); + System.out.println("原始:" + s); + System.out.println("MD5后:" + string2MD5(s)); + System.out.println("加密的:" + convertMD5(s)); + System.out.println("解密的:" + convertMD5("8827d737029bc0950a90cf9ce5946ce9")); + + } +} diff --git a/src/main/java/com/zhongdao/jlr/util/MTextUtils.java b/src/main/java/com/zhongdao/jlr/util/MTextUtils.java new file mode 100644 index 0000000..cc60636 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/util/MTextUtils.java @@ -0,0 +1,484 @@ +package com.zhongdao.jlr.util; + +public class MTextUtils { + + public static String objectToString(Object o){ + try { + if(o!=null){ + return o.toString(); + }else{ + return ""; + } + } catch (Exception e) { + return ""; + } + } + + public static double stringToDouble(Object s){ + try { + if(s!=null){ + return Double.valueOf(s.toString()); + }else{ + return 0; + } + } catch (Exception e) { + return 0; + } + } + + /*** + * 根据状态码返回对应的案件状态 + * @param state + * @return + */ + public static String getRecueName(String state){ + if("51".equals(state)){ + return "取消服务"; + } + if("53".equals(state)){ + return "救援失败"; + } + if("55".equals(state)){ + return "救援成功"; + } + return ""; + } + + /*** + * 根据状态码返回对应的结算状态 + * @param state + * @return + */ + public static String getAccountState(String state){ + if("2".equals(state)){ + return "对账中"; + } + if("3".equals(state)){ + return "对账中"; + } + if("4".equals(state)){ + return "对账完成"; + } + if("6".equals(state)){ + return "开票完成"; + } + return ""; + } + + /*** + * 根据状态码返回对应的维修结果 + * @param state + * @return + */ + public static String getRepairResult(String state){ + if("0".equals(state)){ + return ""; + } + if("11".equals(state)){ + return "车辆无法使用"; + } + if("6".equals(state)){ + return "重新标定"; + } + if("1".equals(state)){ + return "调整"; + } + if("4".equals(state)){ + return "提供的建议"; + } + if("5".equals(state)){ + return "未发现故障"; + } + if("2".equals(state)){ + return "已充电蓄电池"; + } + if("10".equals(state)){ + return "已重新编程(软件上传"; + } + if("9".equals(state)){ + return "已更换零部件 — 问题未解决"; + } + if("8".equals(state)){ + return "已更换部件"; + } + if("3".equals(state)){ + return "已添加油液到正确液位"; + } + if("7".equals(state)){ + return "已维修"; + } + return ""; + } + + /*** + * 根据状态码返回对应的故障原因 + * @param state + * @return + */ + public static String getReason(String state){ + if("0".equals(state)){ + return ""; + } + if("57".equals(state)){ + return "安装不当"; + } + if("53".equals(state)){ + return "安装了错误部件"; + } + if("110".equals(state)){ + return "凹陷"; + } + if("67".equals(state)){ + return "疤痕"; + } + if("118".equals(state)){ + return "摆动"; + } + if("45".equals(state)){ + return "保险丝熔断"; + } + if("109".equals(state)){ + return "被剥离"; + } + if("107".equals(state)){ + return "被盗"; + } + if("5".equals(state)){ + return "被堵塞"; + } + if("19".equals(state)){ + return "被腐蚀"; + } + if("16".equals(state)){ + return "被碎屑污染"; + } + if("117".equals(state)){ + return "被损坏"; + } + if("98".equals(state)){ + return "被剪切"; + } + if("30".equals(state)){ + return "变形"; + } + if("42".equals(state)){ + return "波动"; + } + if("78".equals(state)){ + return "不工作"; + } + if("62".equals(state)){ + return "部件松动"; + } + if("79".equals(state)){ + return "不受广播/发射支持"; + } + if("86".equals(state)){ + return "不同步"; + } + if("51".equals(state)){ + return "不准确"; + } + if("10".equals(state)){ + return "擦伤"; + } + if("59".equals(state)){ + return "颤动 / 震动"; + } + if("50".equals(state)){ + return "电阻过高"; + } + if("43".equals(state)){ + return "冻结(低温)"; + } + if("24".equals(state)){ + return "断口"; + } + if("7".equals(state)){ + return "断裂"; + } + if("99".equals(state)){ + return "短路"; + } + if("101".equals(state)){ + return "对地短路"; + } + if("100".equals(state)){ + return "对蓄电池短路"; + } + if("25".equals(state)){ + return "放气"; + } + if("106".equals(state)){ + return "发硬"; + } + if("26".equals(state)){ + return "分层"; + } + if("33".equals(state)){ + return "工厂损坏"; + } + if("95".equals(state)){ + return "刮擦"; + } + if("37".equals(state)){ + return "固定件/紧固件 — 断裂"; + } + if("40".equals(state)){ + return "固定件/紧固件 — 缺失"; + } + if("38".equals(state)){ + return "固定件/紧固件 — 安装不正确"; + } + if("39".equals(state)){ + return "固定件/紧固件 — 松脱"; + } + if("55".equals(state)){ + return "规格错误"; + } + if("88".equals(state)){ + return "过热"; + } + if("36".equals(state)){ + return "火烧损坏"; + } + if("9".equals(state)){ + return "校准"; + } + if("63".equals(state)){ + return "接地线松动"; + } + if("92".equals(state)){ + return "静态损耗"; + } + if("23".equals(state)){ + return "挤压"; + } + if("103".equals(state)){ + return "开裂"; + } + if("85".equals(state)){ + return "开路"; + } + if("96".equals(state)){ + return "卡滞"; + } + if("58".equals(state)){ + return "卡住"; + } + if("105".equals(state)){ + return "卡滞"; + } + if("31".equals(state)){ + return "空"; + } + if("11".equals(state)){ + return "溃缩"; + } + if("108".equals(state)){ + return "拉抻"; + } + if("120".equals(state)){ + return "类型错误"; + } + if("13".equals(state)){ + return "冷凝"; + } + if("15".equals(state)){ + return "冷却液污染"; + } + if("14".equals(state)){ + return "连接器断开"; + } + if("21".equals(state)){ + return "裂缝"; + } + if("47".equals(state)){ + return "密封圈/密封胶 — 安装不正确"; + } + if("48".equals(state)){ + return "密封圈/密封胶 — 泄漏"; + } + if("46".equals(state)){ + return "密封圈/密封胶 — 零件不正确"; + } + if("49".equals(state)){ + return "密封圈/密封胶 — 缺失"; + } + if("71".equals(state)){ + return "模糊"; + } + if("74".equals(state)){ + return "模块间无通信"; + } + if("72".equals(state)){ + return "模块未改编"; + } + if("73".equals(state)){ + return "模块未配置"; + } + if("114".equals(state)){ + return "磨破"; + } + if("119".equals(state)){ + return "磨损"; + } + if("115".equals(state)){ + return "扭绞"; + } + if("90".equals(state)){ + return "喷镀故障"; + } + if("8".equals(state)){ + return "膨胀"; + } + if("97".equals(state)){ + return "破碎"; + } + if("4".equals(state)){ + return "起泡"; + } + if("2".equals(state)){ + return "气锁"; + } + if("64".equals(state)){ + return "缺失"; + } + if("70".equals(state)){ + return "缺失"; + } + if("68".equals(state)){ + return "熔化"; + } + if("32".equals(state)){ + return "乳化"; + } + if("41".equals(state)){ + return "闪烁"; + } + if("94".equals(state)){ + return "撕裂"; + } + if("18".equals(state)){ + return "水浸"; + } + if("87".equals(state)){ + return "失去平衡"; + } + if("93".equals(state)){ + return "受限制"; + } + if("20".equals(state)){ + return "损坏"; + } + if("111".equals(state)){ + return "表面损坏"; + } + if("56".equals(state)){ + return "调整不当"; + } + if("34".equals(state)){ + return "褪色"; + } + if("27".equals(state)){ + return "脱离"; + } + if("102".equals(state)){ + return "涂污"; + } + if("3".equals(state)){ + return "弯曲"; + } + if("28".equals(state)){ + return "完全放电"; + } + if("77".equals(state)){ + return "未安装"; + } + if("35".equals(state)){ + return "未能初始化"; + } + if("116".equals(state)){ + return "无法编程"; + } + if("104".equals(state)){ + return "污渍"; + } + if("75".equals(state)){ + return "无诊断通信"; + } + if("89".equals(state)){ + return "像素丢失或错误"; + } + if("60".equals(state)){ + return "泄漏"; + } + if("113".equals(state)){ + return "锈蚀"; + } + if("65".equals(state)){ + return "压力过低"; + } + if("52".equals(state)){ + return "颜色错误"; + } + if("12".equals(state)){ + return "压缩"; + } + if("61".equals(state)){ + return "液位过低"; + } + if("29".equals(state)){ + return "已变色"; + } + if("44".equals(state)){ + return "已满"; + } + if("6".equals(state)){ + return "易碎"; + } + if("80".equals(state)){ + return "异味"; + } + if("82".equals(state)){ + return "油封/O 形圈 — 安装不正确"; + } + if("81".equals(state)){ + return "油封/O 形圈 — 零件不正确"; + } + if("84".equals(state)){ + return "油封/O 形圈 — 缺失"; + } + if("83".equals(state)){ + return "油封/O 形圈 — 泄漏"; + } + if("91".equals(state)){ + return "有孔"; + } + if("17".equals(state)){ + return "油液污染"; + } + if("1".equals(state)){ + return "游移"; + } + if("22".equals(state)){ + return "有折痕"; + } + if("54".equals(state)){ + return "语言错误"; + } + if("76".equals(state)){ + return "噪音"; + } + if("69".equals(state)){ + return "制造不当"; + } + if("112".equals(state)){ + return "肿胀"; + } + if("66".equals(state)){ + return "阻力低"; + } + return ""; + } +} diff --git a/src/main/java/com/zhongdao/jlr/util/XJson.java b/src/main/java/com/zhongdao/jlr/util/XJson.java new file mode 100644 index 0000000..5025413 --- /dev/null +++ b/src/main/java/com/zhongdao/jlr/util/XJson.java @@ -0,0 +1,436 @@ +package com.zhongdao.jlr.util; + +import java.lang.reflect.Field; + +import java.util.ArrayList; +import java.util.List; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +/** + * Created by anqiansong on 2016/5/27. + * 主题:[案例1]XJson,目前只支持数据类型,Array,Map,List + */ +public class XJson { //===============================JSON解析===================================== + /** + * get jsonobject + * @param String json + * @return JOSNObject + */ + public static JSONObject getJsonObject(String json){ + JSONObject jsonObject = null; + try { + jsonObject = new JSONObject(json); + } catch (JSONException e) { + e.getCause(); + return null; + } + return jsonObject; + } + /** + * get jsonarray + * @param String json + * @return JOSNArray + */ + public static JSONArray getJsonArray(String json){ + JSONArray jsonArray= null; + try { + jsonArray = new JSONArray(json); + } catch (JSONException e) { + //LogUtil.e(TAG, "create jsonobject exception"); + e.printStackTrace(); + } + return jsonArray; + } + /** + * get String data + * @param json json data + * @param key param + * @return data + * @throws JSONException + */ + public static String getString(String json,String key){ + JSONObject jsonObject=getJsonObject(json); + if(jsonObject!= null){ + try { + return jsonObject.getString(key); + } catch (JSONException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + return ""; + } + }else{ + return null; + } + } + /** + * get String data + * @param json json data + * @param key param + * @return data + * @throws JSONException + */ + public static int getInt(String json,String key){ + JSONObject jsonObject=getJsonObject(json); + if(jsonObject!= null){ + try { + return jsonObject.getInt(key); + } catch (JSONException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + }else{ + return -1; + } + return 0; + + } + /** + * get Double data + * @param json json data + * @param key param + * @return data + * @throws JSONException + */ + public static double getDouble(String json,String key){ + JSONObject jsonObject=getJsonObject(json); + if(jsonObject!= null){ + try { + return jsonObject.getDouble(key); + } catch (JSONException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + return 0d; + } + }else{ + return -1; + } + } + + /** + *

parent {@link Object getObject(String json,Class c,String key)}

+ * @return + */ + public static Object getObject(String json,Class c){ + JSONObject jo=getJsonObject(json); + if(jo==null){ + return null; + } + return getObject(jo,c); + } + /** + * This Method use in jsonObject get current class with object :{"a":"x","b":"xx"} + * @param jsonObject + * @param key query key,not null + * @param c class + * @return object + * @throws Exception + */ + public static Object getObject(String json,Class c,String key){ + JSONObject jo = null; + if(key!=null){ + try { + jo = getJsonObject(json).getJSONObject(key); + } catch (JSONException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + if(jo==null){ + return null; + } + return getObject(jo,c); + } + /** + * 解析JSONObject对象,返回Object + * @param jo + * @param c + * @return Object of class c + */ + public static Object getObject(JSONObject jo,Class c){ + Object bean=null; + try { + bean = c.newInstance(); + } catch (InstantiationException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + Field[] fs = c.getDeclaredFields(); + for (int i = 0; i < fs.length; i++) { + Field f = fs[i]; + f.setAccessible(true); + String type = f.getType().getSimpleName();//f.getGenericType(); + //LogUtil.print("type="+type.toString()+","+f.getType()+",name="+f.getName()); + String value = null; + try{ + try{ + value = jo.getString(f.getName()); + }catch (JSONException e) { + value=null; + } + if(type.equals(boolean.class.getSimpleName())){ + f.setBoolean(bean,Boolean.valueOf(value)); + }else if(type.equals(int.class.getSimpleName())){ + f.setInt(bean,Integer.valueOf(value)); + }else if(type.equals(double.class.getSimpleName())){ + f.setDouble(bean, Double.valueOf(value)); + }else if(type.equals(long.class.getSimpleName())){ + f.setLong(bean, Long.valueOf(value)); + }else if(type.equals(String.class.getSimpleName())){ + f.set(bean,value); + }else if(type.equals("List")){ + String listClass=f.getGenericType().toString(); + listClass=listClass.substring(listClass.lastIndexOf("<")+1, listClass.lastIndexOf(">")); + //LogUtil.print(listClass); + Class listCls=null; + try { + listCls=Class.forName(listClass); + } catch (ClassNotFoundException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + if(listCls!=null){ + if(value==null){ + f.set(bean, null); + }else{ + f.set(bean, getList(value, listCls)); + } + } + }else{ + //f.set(bean,getBaseObject(value, f.getType())); + f.set(bean,getObject(getJsonObject(value), f.getType())); + } + }catch(NumberFormatException e){ + e.printStackTrace(); + }catch(IllegalAccessException e){ + e.printStackTrace(); + }catch(IllegalArgumentException e){ + e.printStackTrace(); + } + } + return bean; + } + /** + * This method use in jsonObject get list object:{"b":[{"a":"x","b":"xx"},{"a":"x","b":"xx"}]} + * @param key list key,such as the "b",not null + * @param objectKey object key + * @param c object + * @return list + * @throws Exception + */ + public static List getList(String json,String key ,Class c){ + JSONObject jsonObject=getJsonObject(json); + List list = null; + if(jsonObject!=null && key!=null){ + try { + list=getList(jsonObject.getJSONArray(key).toString(), c); + } catch (JSONException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + return list; + } + + /** + * 获取List的基本数据,This method use in jsonObject get list object:[{"a":"x","b":"xx"},{"a":"x","b":"xx"}] + * @param json + * @param c + * @return List,object of class c + */ + public static List getList(String json,Class c){ + List list = null; + JSONArray jsonArray = null; + try { + jsonArray = new JSONArray(json); + } catch (JSONException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + return null; + } + if(!jsonArray.isNull(0)){ + list = new ArrayList(); + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject jsObject = null; + try { + jsObject = jsonArray.getJSONObject(i); + } catch (JSONException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + Object object = getObject(getJsonObject(jsObject.toString()),c); + list.add(object); + } + } + return list; + } + //=========================================JSON生成================================= + /*** + * create json object data:{"a":"x","b":"xx"} + */ + public static String jsonObject_encodeToString(Object bean){ + return jsonObject_encode(bean).toString(); + } + @SuppressWarnings("unchecked") + public static JSONObject jsonObject_encode(Object bean){ + JSONObject jsonObject = new JSONObject(); + Field[] fs = bean.getClass().getDeclaredFields(); + for (int i = 0; i < fs.length; i++) { + Field f = fs[i]; + f.setAccessible(true); + //LogUtil.print("object type="+f.getType().getSimpleName()+",name="+f.getName()); + try { + if(f.getType().getSimpleName().equals("List")){ + + if(f.get(bean)!=null){ + jsonObject.put(f.getName(),jsonArray_encode((List)f.get(bean))); + }else{ + jsonObject.put(f.getName(),""); + } + }else if(f.getType().getSimpleName().equals(String.class.getSimpleName()) || + f.getType().getSimpleName().equals(boolean.class.getSimpleName()) || + f.getType().getSimpleName().equals(int.class.getSimpleName()) || + f.getType().getSimpleName().equals(long.class.getSimpleName()) || + f.getType().getSimpleName().equals(double.class.getSimpleName()) || + f.getType().getSimpleName().equals(float.class.getSimpleName()) || + f.getType().getSimpleName().equals(double.class.getSimpleName())){ + jsonObject.put(f.getName(),f.get(bean)); + }else{ + Object object=null; + try { + object=f.getType().newInstance(); + } catch (InstantiationException e) { + e.printStackTrace(); + } + object=f.get(bean); + jsonObject.put(f.getName(),jsonObject_encode(object)); + } + } catch (IllegalArgumentException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (JSONException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + catch (IllegalAccessException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + return jsonObject; + } + /*** + * create json array data:[{"a":"x","b":"xx"},{"a":"x","b":"xx"}] + */ + public static String jsonArray_encodeToString(List list){ + return jsonArray_encode(list).toString(); + } + @SuppressWarnings("unchecked") + private static JSONArray jsonArray_encode(List list){ + JSONArray jsonArray=new JSONArray(); + for(int n=0;n)f.get(bean))); + }else{ + jsonObject.put(f.getName(),""); + } + }else if(f.getType().getSimpleName().equals(String.class.getSimpleName()) || + f.getType().getSimpleName().equals(boolean.class.getSimpleName()) || + f.getType().getSimpleName().equals(int.class.getSimpleName()) || + f.getType().getSimpleName().equals(long.class.getSimpleName()) || + f.getType().getSimpleName().equals(double.class.getSimpleName()) || + f.getType().getSimpleName().equals(float.class.getSimpleName()) || + f.getType().getSimpleName().equals(double.class.getSimpleName())){ + jsonObject.put(f.getName(),f.get(bean)); + }else{ + Object object=null; + try { + object=f.getType().newInstance(); + } catch (InstantiationException e) { + e.printStackTrace(); + }catch (Exception e) { + // e.printStackTrace(); + } + object=f.get(bean); + jsonObject.put(f.getName(),jsonObject_encode(object)); + } + } catch (IllegalArgumentException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (JSONException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + catch (IllegalAccessException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + try { + jsonArray.put(n, jsonObject); + } catch (JSONException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + return jsonArray; + } + /*** + * create String array data:[{"0":"str0"},{"1":"str1"}] + */ + public static String stringArray_encode(List list){ + JSONArray jsonArray=new JSONArray(); + for(int n=0;n c){ + StringBuffer sb = new StringBuffer(); + Field[] fs = c.getDeclaredFields(); + for (int i = 0; i < fs.length; i++) { + String s=""; + Field fd=fs[i]; + try { + fd.setAccessible(true); + s = fd.getName()+"="+fd.get(Object); + } catch (IllegalAccessException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (IllegalArgumentException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + sb.append(s).append(";"); + } + sb.append("\n"); + return sb.toString(); + } +} diff --git a/src/main/resources/application/applicationContext-hibernate.xml b/src/main/resources/application/applicationContext-hibernate.xml new file mode 100644 index 0000000..b2a969c --- /dev/null +++ b/src/main/resources/application/applicationContext-hibernate.xml @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + com.zhongdao.jlr.pojo + + + + + + org.hibernate.dialect.OracleDialect + + + update + true + true + thread + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/business/applicationContext-customer.xml b/src/main/resources/business/applicationContext-customer.xml new file mode 100644 index 0000000..34f7a9d --- /dev/null +++ b/src/main/resources/business/applicationContext-customer.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + diff --git a/src/main/resources/business/applicationContext-zengwp.xml b/src/main/resources/business/applicationContext-zengwp.xml new file mode 100644 index 0000000..e3b36fd --- /dev/null +++ b/src/main/resources/business/applicationContext-zengwp.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/eache/applicationContext-eache.xml b/src/main/resources/eache/applicationContext-eache.xml new file mode 100644 index 0000000..e2452f2 --- /dev/null +++ b/src/main/resources/eache/applicationContext-eache.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/files/Conditions.xlsx b/src/main/resources/files/Conditions.xlsx new file mode 100644 index 0000000..74bf11f Binary files /dev/null and b/src/main/resources/files/Conditions.xlsx differ diff --git a/src/main/resources/files/Outcomes.xlsx b/src/main/resources/files/Outcomes.xlsx new file mode 100644 index 0000000..9291d91 Binary files /dev/null and b/src/main/resources/files/Outcomes.xlsx differ diff --git a/src/main/webapp/404.html b/src/main/webapp/404.html new file mode 100644 index 0000000..f19b821 --- /dev/null +++ b/src/main/webapp/404.html @@ -0,0 +1,18 @@ + + + + +错误404 + + + + +
+
+ + + \ No newline at end of file diff --git a/src/main/webapp/500.html b/src/main/webapp/500.html new file mode 100644 index 0000000..cb5914f --- /dev/null +++ b/src/main/webapp/500.html @@ -0,0 +1,18 @@ + + + + +错误500 + + + + +
+
+ + + \ No newline at end of file diff --git a/src/main/webapp/META-INF/MANIFEST.MF b/src/main/webapp/META-INF/MANIFEST.MF new file mode 100644 index 0000000..254272e --- /dev/null +++ b/src/main/webapp/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Class-Path: + diff --git a/src/main/webapp/WEB-INF/mvc-dispatcher-servlet.xml b/src/main/webapp/WEB-INF/mvc-dispatcher-servlet.xml new file mode 100644 index 0000000..c36f298 --- /dev/null +++ b/src/main/webapp/WEB-INF/mvc-dispatcher-servlet.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/html;charset=UTF-8 + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000..7ef7c97 --- /dev/null +++ b/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,133 @@ + + + + login.jsp + + + contextConfigLocation + classpath*:application/applicationContext-hibernate.xml + + + + org.springframework.web.context.ContextLoaderListener + + + springMVC + org.springframework.web.servlet.DispatcherServlet + + contextConfigLocation + /WEB-INF/mvc-dispatcher-servlet.xml + + 1 + + + springMVC + *.do + + + encodingFilter + org.springframework.web.filter.CharacterEncodingFilter + + encoding + UTF-8 + + + forceEncoding + true + + + + encodingFilter + /* + + + ImageServlet + com.util.yzcode.BuilderCode + + + ImageServlet + /servlet/ImageServlet + + + check + com.util.Check + + + check + /page/* + + + openSession + org.springframework.orm.hibernate4.support.OpenSessionInViewFilter + + + openSession + /* + + + quartzexec + com.quartz.queryservlet + 1 + + + DruidWebStatFilter + com.alibaba.druid.support.http.WebStatFilter + + exclusions + *.js,*.gif,*.jpg,*.png,*.css,*.ico,*.jsp,/druid/*,/download/* + + + sessionStatMaxCount + 2000 + + + sessionStatEnable + true + + + principalSessionName + session_user_key + + + profileEnable + true + + + + DruidWebStatFilter + /* + + + DruidStatView + com.alibaba.druid.support.http.StatViewServlet + + resetEnable + true + + + + DruidStatView + /druid/* + + + + XssSqlFilter + com.zhongdao.jlr.customer.xss.XssFilter + + + XssSqlFilter + /* + REQUEST + + + + org.springframework.web.context.ContextLoaderListener + + + + com.zhongdao.jlr.business.listener.AutoRunServlet + + \ No newline at end of file diff --git a/src/main/webapp/css/addDialog.css b/src/main/webapp/css/addDialog.css new file mode 100644 index 0000000..a77a55b --- /dev/null +++ b/src/main/webapp/css/addDialog.css @@ -0,0 +1,97 @@ + +.dialog_default { + width: 1300px; + margin: 50px auto auto; +} +.dialog_default2 { + width: 800px; + margin: 50px auto auto; +} +.dialog_con { + width: 100%; + padding: 0; + float:left; +} +.dialog_left { + width:46%; + float:left; + padding-top: 15px; + padding-bottom: 40px; + margin-left: 1%; +} + +.dialog_left table td { + padding-bottom: 10px; + padding-right:0; +} +.dialog_left table td span { + width:95px; + text-align:left; + display: block; + float: left; + line-height:32px; +} +/* .dialog_left table td span.concat { + width:95px; + text-align:left; + display: block; + float: left; + line-height:32px; +} */ + +.dialog_left table td input[type="text"] { + width: 176px; + height: 32px; + line-height: 32px; + border-radius: 3px; + border: 1px solid #d2d2d2; + text-indent: 0.5em; + +} +.dialog_left table td select{ + width: 170px; + height: 35px; + line-height: 35px; + border-radius: 3px; + border: 1px solid #d2d2d2; + text-indent: 0.5em; +} +.confirm_cancel a,.confirm_cancel input { + width: 140px; + height: 40px; + border-radius: 5px; + text-align: center; + line-height: 40px; + display: block; + float: left; +} +.addressBtn { + width: 120px; + height: 36px; + border-radius: 5px; + text-align: center; + line-height: 35px; + display: block; + float: right; + background: #AF1E18; + color: #ffffff; + border: 1px solid #AF1E18; +} +#address { + /* width:445px !important; */ +} +.dialog_right { + width: 53%; + float: left; +} +.dialog_title { + width: 100%; + height: 53px; + line-height: 45px; + background: url(../images/top_bg.png) no-repeat; + background-size: cover; + text-indent:4.5em; + color: #d1d2d4; + background-color: #FFFFFF; + padding-left:0; +} \ No newline at end of file diff --git a/src/main/webapp/css/demo.css b/src/main/webapp/css/demo.css new file mode 100644 index 0000000..5c01467 --- /dev/null +++ b/src/main/webapp/css/demo.css @@ -0,0 +1,21 @@ +*{ + font-size:12px; +} +body { + font-family:verdana,helvetica,arial,sans-serif; + padding:20px; + font-size:12px; + margin:0; +} +h2 { + font-size:18px; + font-weight:bold; + margin:0; + margin-bottom:15px; +} +.demo-info{ + padding:0 0 12px 0; +} +.demo-tip{ + display:none; +} diff --git a/src/main/webapp/css/dialog.css b/src/main/webapp/css/dialog.css new file mode 100644 index 0000000..bc82809 --- /dev/null +++ b/src/main/webapp/css/dialog.css @@ -0,0 +1,217 @@ +/* 弹框样式开始 */ + .order_undo { + position: fixed; + top: 0; + bottom: 0; + left: 0; + right: 0; + background-color: rgba(0,0,0,0.5); + overflow-y: auto; + } + .dialog_default { + width: 800px; + margin: 30px auto auto; + } + .dialog_title { + width: 95%; + height: 53px; + line-height: 45px; + background: url(../images/top_bg.png) no-repeat; + background-color: #FFFFFF; + -ms-background-color:#000000; + background-size: cover; + padding-left: 5%; + color: #d1d2d4; + + } + .dialog_con { + width: 90%; + padding: 0 5% 30px; + background: #f4f4f4; + color: #555; + box-sizing:content-box; + } + .result_input { + width: 100%; + height: 40px; + line-height: 40px; + } + .line { + background: #3b3a3f; + width: 5px; + display: block; + height: 18px; + vertical-align: middle; + margin-right: 10px; + border-radius: 5px; + float: left; + margin-top: 11px; + } + .money_con { + width: 99%; + height: 40px; + border: 1px solid #ccc; + text-indent: 1em; + } + .confirm_cancel { + width: 96%; + margin-top: 20px; + margin-right: 4%; + height:42px; + } + .confirm_cancel a { + width: 140px; + height: 40px; + border-radius: 5px; + text-align: center; + line-height: 40px; + display: block; + float: right; + } + .btn2 { + background: #036EB7; + color: #ffffff; + border: 1px solid #036EB7; + } + .btn2:hover { + color: #ffffff; + } + .btn1 { + border: 1px dashed #036EB7; + color: #036EB7; + margin-right: 30px; + } + .btn1:hover { + color: #036EB7; + } + .check { + color:black; + width:150px; + height:42.5px; + display:block; + float:left; + line-height: 42.5px; + text-align: center; + } + .activeCheck { + width: 150px; + height: 42.5px; + /* background: url(../images/activeCheck.png) no-repeat; */ + background-size: cover; + display: block; + float: left; + line-height: 42.5px; + text-align: center; + color: black; + } + .datagrid-toolbar { + height:0 !important; + border:0 !important; + } + /* #datatable2 { + height:500px; + } */ + .activeCheck span { + color: black; + border-bottom: 3px solid black; + line-height: 39px; + height: 39px; + display: inline-block; + width: 90px; + } + .check span { + color: #cccccc; + border-bottom: 3px solid #FFFFFF; + line-height: 39px; + height: 39px; + display: inline-block; + width: 90px; + } + + .dialog_left2 { + width: 90%; + padding: 15px 5% 40px; + margin: 0; +} +.dialog_left2 table td { + padding-bottom: 10px; + padding-right: 20px; + width: 50%; +} +.dialog_left2 table td input[type="text"] { + width: 215px; + height: 32px; + line-height: 32px; + border-radius: 3px; + border: 1px solid #d2d2d2; + text-indent: 0.5em; +} +.dialog_left2 table td span { + width:95px; + text-align:left; + display: block; + float: left; + line-height:32px; +} +.order_undo1 { + position: fixed; + top: 0; + bottom: 0; + left: 0; + right: 0; + background-color: rgba(0,0,0,0.5); + overflow-y: auto; +} +/* .dialog_default { + width:800px !important; + } */ + .dialog_left2 { + width: 90%; + padding: 15px 5% 40px; + margin: 0; + } + .dialog_left2 table { + width: 100%; + } + .dialog_left2 table td { + padding-bottom: 10px; + padding-right: 20px; + width: 50%; + } + .dialog_left2 table td input[type="text"] { + width: 215px; + } + .dialog_left2 table td .contactWrap { + float: left; + width: 28%; + } + .dialog_left2 table td .contactWrap .contactInput{ + width: 183px; + } + #address { + /* width: 260px !important; */ + } + .dialog_left2 table td input[type="password"] { + width: 215px; + height: 32px; + line-height: 32px; + border-radius: 3px; + border: 1px solid #d2d2d2; + text-indent: 0.5em; + } + .dialog_left2 table td input[type="email"] { + width: 215px; + height: 32px; + line-height: 32px; + border-radius: 3px; + border: 1px solid #d2d2d2; + text-indent: 0.5em; + } + .dialog_con2 { + width:100%; + background: #f4f4f4; + color: #555; + box-sizing: content-box; + } + + /* 弹框样式结束 */ \ No newline at end of file diff --git a/src/main/webapp/css/home.css b/src/main/webapp/css/home.css new file mode 100644 index 0000000..132633d --- /dev/null +++ b/src/main/webapp/css/home.css @@ -0,0 +1,756 @@ +/* ::::: http://jaguar.ag1199.cn/Content/css?v=n0bC9-Ppon4UEjl8e4gVasERUOvYia2Rzl_1UdL29VY1 ::::: */ + +html { font-family: sans-serif; } +body { margin: 0pt; } +audio:not([controls]) { display: none; height: 0pt; } +a { background: none repeat scroll 0pt 0pt transparent; } +a:active, a:hover { outline: 0pt none; cursor: pointer;} +b, strong { font-weight: 700; } +h1 { margin: 0.67em 0pt; font-size: 2em; } +img { border: 0pt none; } +svg:not(:root) { overflow: hidden; } +pre { overflow: auto; } +code, kbd, pre, samp { font-family: monospace,monospace; font-size: 1em; } +button, input, optgroup, select, textarea { margin: 0pt; font: inherit; color: inherit; } +button { overflow: visible; } +button, select { text-transform: none; } +button, html input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; } +button::-moz-focus-inner, input::-moz-focus-inner { padding: 0pt; border: 0pt none; } +input { line-height: normal; } +table { border-spacing: 0pt; border-collapse: collapse;} +td, th { padding: 0pt; } +.text-center {text-align: center;} +.t-button,.btn-xs, .btn-group-xs>.btn {margin-right:2px;} +@media print { + * { color: rgb(0, 0, 0) ! important; text-shadow: none ! important; background: none repeat scroll 0% 0% transparent ! important; } + a, a:visited { text-decoration: underline; } + a[href]:after { content: " (" attr(href) ")"; } + abbr[title]:after { content: " (" attr(title) ")"; } + a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; } + pre, blockquote { border: 1px solid rgb(153, 153, 153); page-break-inside: avoid; } + thead { display: table-header-group; } + tr, img { page-break-inside: avoid; } + img { max-width: 100% ! important; } + p, h2, h3 { orphans: 3; widows: 3; } + h2, h3 { page-break-after: avoid; } + select { background: none repeat scroll 0% 0% rgb(255, 255, 255) ! important; } + .navbar { display: none; } + .table td, .table th { background-color: rgb(255, 255, 255) ! important; } + .btn > .caret, .dropup > .btn > .caret { border-top-color: rgb(0, 0, 0) ! important; } + .label { border: 1px solid rgb(0, 0, 0); } + .table { border-collapse: collapse ! important; } + .table-bordered th, .table-bordered td { border: 1px solid rgb(221, 221, 221) ! important; } +} +@font-face { + font-family: "Glyphicons Halflings"; src: url('glyphicons-halflings-regular.eot') format("embedded-opentype"), url('fonts/glyphicons-halflings-regular.woff') format("woff"), url('glyphicons-halflings-regular.ttf') format("truetype"), url('glyphicons-halflings-regular.svg') format("svg");} +* { -moz-box-sizing: content-box; } +*:before, *:after { -moz-box-sizing: border-box; } +html { font-size: 10px; } +body { font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; font-size: 14px; line-height: 1.42857; color: rgb(51, 51, 51); } + +a {/* color: rgb(66, 139, 202); */ text-decoration: none; } +/* a:hover, a:focus { color: rgb(42, 100, 150); text-decoration: underline; } */ +a:focus { outline: none; /* outline-offset: -2px; */ } +img { vertical-align: middle; } +h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-family: inherit; font-weight: 500; line-height: 1.1; color: inherit; } +h1, .h1, h2, .h2, h3, .h3 { margin-top: 20px; margin-bottom: 10px; } +h1, .h1 { font-size: 36px; } +h2, .h2 { font-size: 30px; } +h4, .h4 { + font-size: 18px; +} +@media (min-width: 768px) { + .lead { font-size: 21px; } +} +ul, ol { margin-top: 0pt; margin-bottom: 10px; } +ul ul, ol ul, ul ol, ol ol { margin-bottom: 0pt; } +@media (min-width: 768px) { + .dl-horizontal dt { float: left; width: 160px; overflow: hidden; clear: left; text-align: right; white-space: nowrap; } + .dl-horizontal dd { margin-left: 180px; } +} +code, kbd, pre, samp { font-family: Menlo,Monaco,Consolas,"Courier New",monospace; } +pre { display: block; padding: 9.5px; margin: 0pt 0pt 10px; font-size: 13px; line-height: 1.42857; color: rgb(51, 51, 51); word-wrap: break-word; background-color: rgb(245, 245, 245); border: 1px solid rgb(204, 204, 204); } +@media (min-width: 768px) { + .container { width: 750px; } +} +@media (min-width: 992px) { + .container { width: 970px; } +} +@media (min-width: 1200px) { + .container { width: 1170px; } +} +@media (min-width: 768px) { + .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { float: left; } + .col-sm-12 { width: 100%; } + .col-sm-11 { width: 91.6667%; } + .col-sm-10 { width: 83.3333%; } + .col-sm-9 { width: 75%; } + .col-sm-8 { width: 66.6667%; } + .col-sm-7 { width: 58.3333%; } + .col-sm-6 { width: 50%; } + .col-sm-5 { width: 41.6667%; } + .col-sm-4 { width: 33.3333%; } + .col-sm-3 { width: 25%; } + .col-sm-2 { width: 16.6667%; } + .col-sm-1 { width: 8.33333%; } + .col-sm-pull-12 { right: 100%; } + .col-sm-pull-11 { right: 91.6667%; } + .col-sm-pull-10 { right: 83.3333%; } + .col-sm-pull-9 { right: 75%; } + .col-sm-pull-8 { right: 66.6667%; } + .col-sm-pull-7 { right: 58.3333%; } + .col-sm-pull-6 { right: 50%; } + .col-sm-pull-5 { right: 41.6667%; } + .col-sm-pull-4 { right: 33.3333%; } + .col-sm-pull-3 { right: 25%; } + .col-sm-pull-2 { right: 16.6667%; } + .col-sm-pull-1 { right: 8.33333%; } + .col-sm-pull-0 { right: auto; } + .col-sm-push-12 { left: 100%; } + .col-sm-push-11 { left: 91.6667%; } + .col-sm-push-10 { left: 83.3333%; } + .col-sm-push-9 { left: 75%; } + .col-sm-push-8 { left: 66.6667%; } + .col-sm-push-7 { left: 58.3333%; } + .col-sm-push-6 { left: 50%; } + .col-sm-push-5 { left: 41.6667%; } + .col-sm-push-4 { left: 33.3333%; } + .col-sm-push-3 { left: 25%; } + .col-sm-push-2 { left: 16.6667%; } + .col-sm-push-1 { left: 8.33333%; } + .col-sm-push-0 { left: auto; } + .col-sm-offset-12 { margin-left: 100%; } + .col-sm-offset-11 { margin-left: 91.6667%; } + .col-sm-offset-10 { margin-left: 83.3333%; } + .col-sm-offset-9 { margin-left: 75%; } + .col-sm-offset-8 { margin-left: 66.6667%; } + .col-sm-offset-7 { margin-left: 58.3333%; } + .col-sm-offset-6 { margin-left: 50%; } + .col-sm-offset-5 { margin-left: 41.6667%; } + .col-sm-offset-4 { margin-left: 33.3333%; } + .col-sm-offset-3 { margin-left: 25%; } + .col-sm-offset-2 { margin-left: 16.6667%; } + .col-sm-offset-1 { margin-left: 8.33333%; } + .col-sm-offset-0 { margin-left: 0pt; } +} +@media (min-width: 992px) { + .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { float: left; } + .col-md-12 { width: 100%; } + .col-md-11 { width: 91.6667%; } + .col-md-10 { width: 83.3333%; } + .col-md-9 { width: 75%; } + .col-md-8 { width: 66.6667%; } + .col-md-7 { width: 58.3333%; } + .col-md-6 { width: 50%; } + .col-md-5 { width: 41.6667%; } + .col-md-4 { width: 33.3333%; } + .col-md-3 { width: 25%; } + .col-md-2 { width: 16.6667%; } + .col-md-1 { width: 8.33333%; } + .col-md-pull-12 { right: 100%; } + .col-md-pull-11 { right: 91.6667%; } + .col-md-pull-10 { right: 83.3333%; } + .col-md-pull-9 { right: 75%; } + .col-md-pull-8 { right: 66.6667%; } + .col-md-pull-7 { right: 58.3333%; } + .col-md-pull-6 { right: 50%; } + .col-md-pull-5 { right: 41.6667%; } + .col-md-pull-4 { right: 33.3333%; } + .col-md-pull-3 { right: 25%; } + .col-md-pull-2 { right: 16.6667%; } + .col-md-pull-1 { right: 8.33333%; } + .col-md-pull-0 { right: auto; } + .col-md-push-12 { left: 100%; } + .col-md-push-11 { left: 91.6667%; } + .col-md-push-10 { left: 83.3333%; } + .col-md-push-9 { left: 75%; } + .col-md-push-8 { left: 66.6667%; } + .col-md-push-7 { left: 58.3333%; } + .col-md-push-6 { left: 50%; } + .col-md-push-5 { left: 41.6667%; } + .col-md-push-4 { left: 33.3333%; } + .col-md-push-3 { left: 25%; } + .col-md-push-2 { left: 16.6667%; } + .col-md-push-1 { left: 8.33333%; } + .col-md-push-0 { left: auto; } + .col-md-offset-12 { margin-left: 100%; } + .col-md-offset-11 { margin-left: 91.6667%; } + .col-md-offset-10 { margin-left: 83.3333%; } + .col-md-offset-9 { margin-left: 75%; } + .col-md-offset-8 { margin-left: 66.6667%; } + .col-md-offset-7 { margin-left: 58.3333%; } + .col-md-offset-6 { margin-left: 50%; } + .col-md-offset-5 { margin-left: 41.6667%; } + .col-md-offset-4 { margin-left: 33.3333%; } + .col-md-offset-3 { margin-left: 25%; } + .col-md-offset-2 { margin-left: 16.6667%; } + .col-md-offset-1 { margin-left: 8.33333%; } + .col-md-offset-0 { margin-left: 0pt; } +} +@media (min-width: 1200px) { + .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { float: left; } + .col-lg-12 { width: 100%; } + .col-lg-11 { width: 91.6667%; } + .col-lg-10 { width: 83.3333%; } + .col-lg-9 { width: 75%; } + .col-lg-8 { width: 66.6667%; } + .col-lg-7 { width: 58.3333%; } + .col-lg-6 { width: 50%; } + .col-lg-5 { width: 41.6667%; } + .col-lg-4 { width: 33.3333%; } + .col-lg-3 { width: 25%; } + .col-lg-2 { width: 16.6667%; } + .col-lg-1 { width: 8.33333%; } + .col-lg-pull-12 { right: 100%; } + .col-lg-pull-11 { right: 91.6667%; } + .col-lg-pull-10 { right: 83.3333%; } + .col-lg-pull-9 { right: 75%; } + .col-lg-pull-8 { right: 66.6667%; } + .col-lg-pull-7 { right: 58.3333%; } + .col-lg-pull-6 { right: 50%; } + .col-lg-pull-5 { right: 41.6667%; } + .col-lg-pull-4 { right: 33.3333%; } + .col-lg-pull-3 { right: 25%; } + .col-lg-pull-2 { right: 16.6667%; } + .col-lg-pull-1 { right: 8.33333%; } + .col-lg-pull-0 { right: auto; } + .col-lg-push-12 { left: 100%; } + .col-lg-push-11 { left: 91.6667%; } + .col-lg-push-10 { left: 83.3333%; } + .col-lg-push-9 { left: 75%; } + .col-lg-push-8 { left: 66.6667%; } + .col-lg-push-7 { left: 58.3333%; } + .col-lg-push-6 { left: 50%; } + .col-lg-push-5 { left: 41.6667%; } + .col-lg-push-4 { left: 33.3333%; } + .col-lg-push-3 { left: 25%; } + .col-lg-push-2 { left: 16.6667%; } + .col-lg-push-1 { left: 8.33333%; } + .col-lg-push-0 { left: auto; } + .col-lg-offset-12 { margin-left: 100%; } + .col-lg-offset-11 { margin-left: 91.6667%; } + .col-lg-offset-10 { margin-left: 83.3333%; } + .col-lg-offset-9 { margin-left: 75%; } + .col-lg-offset-8 { margin-left: 66.6667%; } + .col-lg-offset-7 { margin-left: 58.3333%; } + .col-lg-offset-6 { margin-left: 50%; } + .col-lg-offset-5 { margin-left: 41.6667%; } + .col-lg-offset-4 { margin-left: 33.3333%; } + .col-lg-offset-3 { margin-left: 25%; } + .col-lg-offset-2 { margin-left: 16.6667%; } + .col-lg-offset-1 { margin-left: 8.33333%; } + .col-lg-offset-0 { margin-left: 0pt; } +} +table { background-color: transparent; } +th { text-align: left; } +.table { width: 100%; max-width: 100%; margin-bottom: 20px; } +.table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td { /* padding: 8px; */line-height: 1.42857; vertical-align: top; border-top: 1px solid rgb(221, 221, 221); } +.table-condensed > thead > tr > th, .table-condensed > tbody > tr > th, .table-condensed > tfoot > tr > th, .table-condensed > thead > tr > td, .table-condensed > tbody > tr > td, .table-condensed > tfoot > tr > td { padding: 5px; } +.table-bordered { border: 1px solid rgb(221, 221, 221); } +.table-bordered > thead > tr > th, .table-bordered > tbody > tr > th, .table-bordered > tfoot > tr > th, .table-bordered > thead > tr > td, .table-bordered > tbody > tr > td, .table-bordered > tfoot > tr > td { border: 1px solid rgb(221, 221, 221); } +.table-striped > tbody > tr:nth-child(2n+0) > td, .table-striped > tbody > tr:nth-child(2n+0) > th { background-color: rgb(249, 249, 249); } +.table-hover > tbody > tr:hover > td, .table-hover > tbody > tr:hover > th { background-color: rgb(245, 245, 245); } +@media screen and (max-width: 767px) { + .table-responsive { width: 100%; margin-bottom: 15px; overflow-x: auto; overflow-y: hidden; border: 1px solid rgb(221, 221, 221); } + .table-responsive > .table { margin-bottom: 0pt; } + .table-responsive > .table > thead > tr > th, .table-responsive > .table > tbody > tr > th, .table-responsive > .table > tfoot > tr > th, .table-responsive > .table > thead > tr > td, .table-responsive > .table > tbody > tr > td, .table-responsive > .table > tfoot > tr > td { white-space: nowrap; } + .table-responsive > .table-bordered { border: 0pt none; } + .table-responsive > .table-bordered > thead > tr > th:first-child, .table-responsive > .table-bordered > tbody > tr > th:first-child, .table-responsive > .table-bordered > tfoot > tr > th:first-child, .table-responsive > .table-bordered > thead > tr > td:first-child, .table-responsive > .table-bordered > tbody > tr > td:first-child, .table-responsive > .table-bordered > tfoot > tr > td:first-child { border-left: 0pt none; } + .table-responsive > .table-bordered > thead > tr > th:last-child, .table-responsive > .table-bordered > tbody > tr > th:last-child, .table-responsive > .table-bordered > tfoot > tr > th:last-child, .table-responsive > .table-bordered > thead > tr > td:last-child, .table-responsive > .table-bordered > tbody > tr > td:last-child, .table-responsive > .table-bordered > tfoot > tr > td:last-child { border-right: 0pt none; } + .table-responsive > .table-bordered > tbody > tr:last-child > th, .table-responsive > .table-bordered > tfoot > tr:last-child > th, .table-responsive > .table-bordered > tbody > tr:last-child > td, .table-responsive > .table-bordered > tfoot > tr:last-child > td { border-bottom: 0pt none; } +} + + .table > tbody > tr > th{ + width:10%; + /* padding: 10px; */ + border-top:0; + line-height:32px; +} + .table > tbody > tr > td { + width:40%; + /* padding: 10px; */ + border-top:0; +} +label { display: inline-block; max-width: 100%; margin-bottom: 5px; font-weight: 700; } +@media (min-width: 768px) { + .form-inline .form-group { display: inline-block; margin-bottom: 0pt; vertical-align: middle; } + .form-inline .form-control { display: inline-block; width: auto; vertical-align: middle; } + .form-inline .input-group { display: inline-table; vertical-align: middle; } + .form-inline .input-group .input-group-addon, .form-inline .input-group .input-group-btn, .form-inline .input-group .form-control { width: auto; } + .form-inline .input-group > .form-control { width: 100%; } + .form-inline .control-label { margin-bottom: 0pt; vertical-align: middle; } + .form-inline .radio, .form-inline .checkbox { display: inline-block; margin-top: 0pt; margin-bottom: 0pt; vertical-align: middle; } + .form-inline .radio label, .form-inline .checkbox label { padding-left: 0pt; } + .form-inline .radio input[type="radio"], .form-inline .checkbox input[type="checkbox"] { position: relative; margin-left: 0pt; } + .form-inline .has-feedback .form-control-feedback { top: 0pt; } +} +@media (min-width: 768px) { + .form-horizontal .control-label { padding-top: 7px; margin-bottom: 0pt; text-align: right; } +} +@media (min-width: 768px) { + .form-horizontal .form-group-lg .control-label { padding-top: 14.3px; } +} +@media (min-width: 768px) { + .form-horizontal .form-group-sm .control-label { padding-top: 6px; } +} +.btn { display: inline-block; padding: 6px 12px; margin-bottom: 0pt; font-size: 14px; font-weight: 400; line-height: 1.42857; text-align: center; white-space: nowrap; vertical-align: middle; cursor: pointer; -moz-user-select: none; background-image: none; border: 1px solid transparent; } +.btn:focus, .btn:active:focus, .btn.active:focus { outline: thin dotted; outline-offset: -2px; } +.btn:hover, .btn:focus { color: rgb(51, 51, 51); text-decoration: none; } +.btn:active, .btn.active { background-image: none; outline: 0pt none; } +.btn-link { font-weight: 400; color: rgb(66, 139, 202); cursor: pointer; } +.btn-link, .btn-link:active, .btn-link[disabled], fieldset[disabled] .btn-link { background-color: transparent; } +.btn-link, .btn-link:hover, .btn-link:focus, .btn-link:active { border-color: transparent; } +.btn-link:hover, .btn-link:focus { color: rgb(42, 100, 150); text-decoration: underline; background-color: transparent; } +.btn-xs, .btn-group-xs > .btn { padding: 1px 5px; font-size: 12px; line-height: 1.5; } +@media (min-width: 768px) { + .navbar-right .dropdown-menu { right: 0pt; left: auto; } + .navbar-right .dropdown-menu-left { right: auto; left: 0pt; } +} +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { } +.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { } +.btn-group > .btn:last-child:not(:first-child), .btn-group > .dropdown-toggle:not(:first-child) { } +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { } +.btn-group-vertical > .btn:not(:first-child):not(:last-child) { } +.btn-group-vertical > .btn:first-child:not(:last-child) { } +.btn-group-vertical > .btn:last-child:not(:first-child) { } +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { } +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { } +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { } +.input-group-addon:not(:first-child):not(:last-child), .input-group-btn:not(:first-child):not(:last-child), .input-group .form-control:not(:first-child):not(:last-child) { } +.input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child > .btn, .input-group-btn:first-child > .btn-group > .btn, .input-group-btn:first-child > .dropdown-toggle, .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), .input-group-btn:last-child > .btn-group:not(:last-child) > .btn { } +.input-group .form-control:last-child, .input-group-addon:last-child, .input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group > .btn, .input-group-btn:last-child > .dropdown-toggle, .input-group-btn:first-child > .btn:not(:first-child), .input-group-btn:first-child > .btn-group:not(:first-child) > .btn { } +@media (min-width: 768px) { + .nav-tabs.nav-justified > li { display: table-cell; width: 1%; } + .nav-tabs.nav-justified > li > a { margin-bottom: 0pt; } +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { border-bottom: 1px solid rgb(221, 221, 221); } + .nav-tabs.nav-justified > .active > a, .nav-tabs.nav-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:focus { border-bottom-color: rgb(255, 255, 255); } +} +@media (min-width: 768px) { + .nav-justified > li { display: table-cell; width: 1%; } + .nav-justified > li > a { margin-bottom: 0pt; } +} +@media (min-width: 768px) { + .nav-tabs-justified > li > a { border-bottom: 1px solid rgb(221, 221, 221); } + .nav-tabs-justified > .active > a, .nav-tabs-justified > .active > a:hover, .nav-tabs-justified > .active > a:focus { border-bottom-color: rgb(255, 255, 255); } +} +@media (min-width: 768px) { + .navbar { } +} +@media (min-width: 768px) { + .navbar-header { float: left; } +} +@media (min-width: 768px) { + .navbar-collapse { width: auto; border-top: 0pt none; } + .navbar-collapse.collapse { display: block ! important; height: auto ! important; padding-bottom: 0pt; overflow: visible ! important; } + .navbar-collapse.in { overflow-y: visible; } + .navbar-fixed-top .navbar-collapse, .navbar-static-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { padding-right: 0pt; padding-left: 0pt; } +} +@media (max-width: 480px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { max-height: 200px; } +} +@media (min-width: 768px) { + .container > .navbar-header, .container-fluid > .navbar-header, .container > .navbar-collapse, .container-fluid > .navbar-collapse { margin-right: 0pt; margin-left: 0pt; } +} +@media (min-width: 768px) { + .navbar-static-top { } +} +@media (min-width: 768px) { + .navbar-fixed-top, .navbar-fixed-bottom { } +} +@media (min-width: 768px) { + .navbar > .container .navbar-brand, .navbar > .container-fluid .navbar-brand { margin-left: -15px; } +} +@media (min-width: 768px) { + .navbar-toggle { display: none; } +} +@media (max-width: 767px) { + .navbar-nav .open .dropdown-menu { position: static; float: none; width: auto; margin-top: 0pt; background-color: transparent; border: 0pt none; } + .navbar-nav .open .dropdown-menu > li > a, .navbar-nav .open .dropdown-menu .dropdown-header { padding: 5px 15px 5px 25px; } + .navbar-nav .open .dropdown-menu > li > a { line-height: 20px; } + .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-nav .open .dropdown-menu > li > a:focus { background-image: none; } +} +@media (min-width: 768px) { + .navbar-nav { float: left; margin: 0pt; } + .navbar-nav > li { float: left; } + .navbar-nav > li > a { padding-top: 15px; padding-bottom: 15px; } + .navbar-nav.navbar-right:last-child { margin-right: -15px; } +} +@media (min-width: 768px) { + .navbar-left { float: left ! important; } + .navbar-right { float: right ! important; } +} +@media (min-width: 768px) { + .navbar-form .form-group { display: inline-block; margin-bottom: 0pt; vertical-align: middle; } + .navbar-form .form-control { display: inline-block; width: auto; vertical-align: middle; } + .navbar-form .input-group { display: inline-table; vertical-align: middle; } + .navbar-form .input-group .input-group-addon, .navbar-form .input-group .input-group-btn, .navbar-form .input-group .form-control { width: auto; } + .navbar-form .input-group > .form-control { width: 100%; } + .navbar-form .control-label { margin-bottom: 0pt; vertical-align: middle; } + .navbar-form .radio, .navbar-form .checkbox { display: inline-block; margin-top: 0pt; margin-bottom: 0pt; vertical-align: middle; } + .navbar-form .radio label, .navbar-form .checkbox label { padding-left: 0pt; } + .navbar-form .radio input[type="radio"], .navbar-form .checkbox input[type="checkbox"] { position: relative; margin-left: 0pt; } + .navbar-form .has-feedback .form-control-feedback { top: 0pt; } +} +@media (max-width: 767px) { + .navbar-form .form-group { margin-bottom: 5px; } +} +@media (min-width: 768px) { + .navbar-form { width: auto; padding-top: 0pt; padding-bottom: 0pt; margin-right: 0pt; margin-left: 0pt; border: 0pt none; } + .navbar-form.navbar-right:last-child { margin-right: -15px; } +} +@media (min-width: 768px) { + .navbar-text { float: left; margin-right: 15px; margin-left: 15px; } + .navbar-text.navbar-right:last-child { margin-right: 0pt; } +} +@media (max-width: 767px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { color: rgb(119, 119, 119); } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { color: rgb(51, 51, 51); background-color: transparent; } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { color: rgb(85, 85, 85); background-color: rgb(231, 231, 231); } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { color: rgb(204, 204, 204); background-color: transparent; } +} +@media (max-width: 767px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { border-color: rgb(8, 8, 8); } + .navbar-inverse .navbar-nav .open .dropdown-menu .divider { background-color: rgb(8, 8, 8); } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { color: rgb(119, 119, 119); } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { color: rgb(255, 255, 255); background-color: transparent; } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { color: rgb(255, 255, 255); background-color: rgb(8, 8, 8); } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { color: rgb(68, 68, 68); background-color: transparent; } +} +.pagination { display: inline-block; padding-left: 0pt; margin: 20px 0pt; } +.pagination > tr td { display: inline; } +.pagination > tr td > a, .pagination > tr td > span { position: relative; float: left; padding: 6px 12px; margin-left: -1px; line-height: 1.42857; color: rgb(66, 139, 202); text-decoration: none; background-color: rgb(255, 255, 255); border: 1px solid rgb(221, 221, 221); } +.pagination > tr td:first-child > a, .pagination > tr td:first-child > span { margin-left: 0pt; } +.pagination > tr td:last-child > a, .pagination > tr td:last-child > span { } +.pagination > tr td > a:hover, .pagination > tr td > span:hover, .pagination > tr td > a:focus, .pagination > tr td > span:focus { color: rgb(42, 100, 150); background-color: rgb(238, 238, 238); border-color: rgb(221, 221, 221); } +.pagination > .active > a, .pagination > .active > span, .pagination > .active > a:hover, .pagination > .active > span:hover, .pagination > .active > a:focus, .pagination > .active > span:focus { z-index: 2; color: rgb(255, 255, 255); cursor: default; background-color: rgb(66, 139, 202); border-color: rgb(66, 139, 202); } +.pagination > .disabled > span, .pagination > .disabled > span:hover, .pagination > .disabled > span:focus, .pagination > .disabled > a, .pagination > .disabled > a:hover, .pagination > .disabled > a:focus { color: rgb(119, 119, 119); cursor: not-allowed; background-color: rgb(255, 255, 255); border-color: rgb(221, 221, 221); } +.pagination-sm > tr td > a, .pagination-sm > tr td > span { padding: 5px 10px; font-size: 12px; } +.pagination-sm > tr td:first-child > a, .pagination-sm > tr td:first-child > span { } +.pagination-sm > tr td:last-child > a, .pagination-sm > tr td:last-child > span { } +@media screen and (min-width: 768px) { + .jumbotron { padding-top: 48px; padding-bottom: 48px; } + .container .jumbotron { padding-right: 60px; padding-left: 60px; } + .jumbotron h1, .jumbotron .h1 { font-size: 63px; } +} +@media (min-width: 768px) { + .modal-dialog { width: 600px; margin: 30px auto; } + .modal-content { } + .modal-sm { width: 300px; } +} +@media (min-width: 992px) { + .modal-lg { width: 900px; } +} +@media screen and (min-width: 768px) { + .carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right, .carousel-control .icon-prev, .carousel-control .icon-next { width: 30px; height: 30px; margin-top: -15px; font-size: 30px; } + .carousel-control .glyphicon-chevron-left, .carousel-control .icon-prev { margin-left: -15px; } + .carousel-control .glyphicon-chevron-right, .carousel-control .icon-next { margin-right: -15px; } + .carousel-caption { right: 20%; left: 20%; padding-bottom: 30px; } + .carousel-indicators { bottom: 20px; } +} +@media (max-width: 767px) { + .visible-xs { display: block ! important; } + table.visible-xs { display: table; } + tr.visible-xs { display: table-row ! important; } + th.visible-xs, td.visible-xs { display: table-cell ! important; } +} +@media (max-width: 767px) { + .visible-xs-block { display: block ! important; } +} +@media (max-width: 767px) { + .visible-xs-inline { display: inline ! important; } +} +@media (max-width: 767px) { + .visible-xs-inline-block { display: inline-block ! important; } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { display: block ! important; } + table.visible-sm { display: table; } + tr.visible-sm { display: table-row ! important; } + th.visible-sm, td.visible-sm { display: table-cell ! important; } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-block { display: block ! important; } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline { display: inline ! important; } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline-block { display: inline-block ! important; } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { display: block ! important; } + table.visible-md { display: table; } + tr.visible-md { display: table-row ! important; } + th.visible-md, td.visible-md { display: table-cell ! important; } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-block { display: block ! important; } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline { display: inline ! important; } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline-block { display: inline-block ! important; } +} +@media (min-width: 1200px) { + .visible-lg { display: block ! important; } + table.visible-lg { display: table; } + tr.visible-lg { display: table-row ! important; } + th.visible-lg, td.visible-lg { display: table-cell ! important; } +} +@media (min-width: 1200px) { + .visible-lg-block { display: block ! important; } +} +@media (min-width: 1200px) { + .visible-lg-inline { display: inline ! important; } +} +@media (min-width: 1200px) { + .visible-lg-inline-block { display: inline-block ! important; } +} +@media (max-width: 767px) { + .hidden-xs { display: none ! important; } +} +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { display: none ! important; } +} +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { display: none ! important; } +} +@media (min-width: 1200px) { + .hidden-lg { display: none ! important; } +} +@media print { + .visible-print { display: block ! important; } + table.visible-print { display: table; } + tr.visible-print { display: table-row ! important; } + th.visible-print, td.visible-print { display: table-cell ! important; } +} +@media print { + .visible-print-block { display: block ! important; } +} +@media print { + .visible-print-inline { display: inline ! important; } +} +@media print { + .visible-print-inline-block { display: inline-block ! important; } +} +@media print { + .hidden-print { display: none ! important; } +} +@font-face { + font-family: "FontAwesome"; font-style: normal; font-weight: normal; src: url('fontawesome-webfont.eot') format("embedded-opentype"), url('fontawesome-webfont.woff') format("woff"), url('fontawesome-webfont.ttf') format("truetype"), url('fontawesome-webfont.svg') format("svg");} +.table td, .table th { font-size: 12px; } +.page { /* width: 1119px; */ height: 100%; margin: 3px auto; } +.page #header { width: 100%; height: 65px; background-image: url('../images/topbgnew.png'); background-repeat: no-repeat;background-size: cover; } +.page #header #logo { /* position: absolute; top: 24px; */ z-index: 0; float: left; width: 210px; margin-top: 35px;margin-left:60px;} +.page #header #title { float: left; width: 750px; color: rgb(255, 255, 255); height: 40px; } +.page #header #logindisplay { float: right; color: rgb(255, 255, 255); font-size: 14px; line-height: 65px; margin-right: 10px;vertical-align: middle; } +.page #header #logindisplay a { /* color: rgb(255, 255, 255); font-size: 14px; */ } +.page #header #logindisplay a.logout { + /* width:45px; */ + height:45px; + border-left:1px solid #ffffff; + display:inline-block; + vertical-align: middle; + margin-left:10px; + padding: 0 20px; + color: #ffffff; + line-height: 45px; +} +.page #header #logindisplay a.logout:hover { + color: #ffffff; +} + +.page #header #logindisplay a img.logoutIcon { + /* width:13px; + height:13px; */ + /* background-image: url('../images/powerIcon.png'); */ + margin-left: 10px; + margin-bottom: 22px; +} + +.page #header #logindisplay a:hover { color: blue; } +.page #menucontainer { /* float: left; *//* margin-top: 10px; */ width: 100%; height: 37px; /* border-bottom: 3px solid rgb(178, 171, 171); */ } +.page #menucontainer .menuContent { position: relative; } +.footer { + width: 100%; + height: 25px; + background-color: rgb(0, 71, 148); + background-image: url('../images/2.png'); + background-repeat: no-repeat; + background-position: right center; + position:fixed; + bottom:0; + } +.menuContent { width: 100%; clear: both; } +.menuContent ul { float: right; } +ul#css3menu { + float: right; + margin-right: 55px; +} +ul#css3menu ul { + margin: 0pt; + list-style: none outside none; + padding: 0pt; + background-color: rgb(222, 222, 222); + border: 1px solid rgb(95, 95, 95); + float: right; + border-radius:8px; +} +ul#css3menu { display: block; font-size: 0pt; z-index: 1000; margin-top: 18px;} +ul#css3menu ul { + display: none; + position: absolute; + left: 12px; + top: 100%; + padding: 15px 10px; + background-color: rgb(255, 255, 255); + border-color: #757679; + z-index: 100; + border-radius: 8px; + -moz-box-shadow: 2px 2px 8px #888888; + box-shadow: 2px 2px 8px #888888; + box-sizing: border-box; +} +ul#css3menu ul li.subfirst:nth-last-child(1){ + border-bottom:none; +} +ul#css3menu li:hover > * { display: block; } +ul#css3menu li:hover { position: relative; } +ul#css3menu li { display: block; white-space: nowrap; font-size: 0pt; float: left; } +ul#css3menu > li, ul#css3menu li { margin: 0pt; } +ul#css3menu a:active, ul#css3menu a:focus { outline-style: none; } +ul#css3menu li.topitem>a { + display: block; + font: 16px Trebuchet MS,sans-serif; + color: rgb(0,0,0); + float: left; + padding-left: 20px; + padding-right: 5px; +} +ul#css3menu li.topitem { + border-left: 1px solid #9B9B9B; +} + +ul#css3menu li.subfirst a { + display: block; + font: 12px Trebuchet MS,sans-serif; + color: #9B9B9B; + padding: 0px 8px; + text-align:center; +} + +ul#css3menu li.topitem:nth-last-child(1){ + border-right: 1px solid #9B9B9B; +} +ul#css3menu ul li { + float: none; + margin: 10px 0pt 0pt; + border-bottom: 1px solid #d1d2d5; + padding-bottom: 10px; +} +ul#css3menu ul a { text-align: left; padding: 4px; background-color: rgb(255, 255, 255); background-image: none; border-width: 0pt; font: 14px Tahoma,serif; color: rgb(0, 0, 0); text-decoration: none; } +ul#css3menu li.topitem span.arrow { + width: 12px; + height: 8px; + background-image: url(../images/menuArrow.png); + display: block; + background-size: cover; + float: left; + margin-right: 20px; + margin-top: 5px; +} +ul#css3menu li.topitem:hover span.arrow { + background-image: url(../images/menuArrowActive.png); +} + + +ul#css3menu li:hover > a { + color: rgb(0, 0, 0); + text-decoration: none; + /* background-color: rgb(12, 151, 226); + border-color: silver; + border-style: solid; + font: bold 14px Trebuchet MS,sans-serif; + text-shadow: 0pt 0pt 1px rgb(255, 255, 255); + background-image: url('../images/mainbk.png'); + background-position: 0pt 100%; */ +} + +ul#css3menu ul li:hover > a { + background-color: rgb(255, 255, 255); + background-image: none; + color: #12B7F5; + text-decoration: none; +} +ul#css3menu ul li:hover > a:hover { + background-color: rgb(255, 255, 255); + background-image: none; + color: #12B7F5; + text-decoration: none; +} +ul#css3menu li.topfirst > a { } +ul#css3menu li.toplast > a { } +/* ::::: http://jaguar.ag1199.cn/Content/themes/base/jquery.ui.all.css ::::: */ + +/* ::::: http://jaguar.ag1199.cn/Content/themes/base/jquery.ui.base.css ::::: */ + +/* ::::: http://jaguar.ag1199.cn/Content/themes/base/jquery.ui.core.css ::::: */ + +.ui-helper-clearfix:before, .ui-helper-clearfix:after { content: ""; display: table; border-collapse: collapse; } +.ui-helper-clearfix:after { clear: both; } +.ui-helper-clearfix { min-height: 0pt; } +/* ::::: http://jaguar.ag1199.cn/Content/themes/base/jquery.ui.accordion.css ::::: */ + +/* ::::: http://jaguar.ag1199.cn/Content/themes/base/jquery.ui.autocomplete.css ::::: */ + +/* ::::: http://jaguar.ag1199.cn/Content/themes/base/jquery.ui.button.css ::::: */ + +input.ui-button::-moz-focus-inner, button.ui-button::-moz-focus-inner { border: 0pt none; padding: 0pt; } +/* ::::: http://jaguar.ag1199.cn/Content/themes/base/jquery.ui.datepicker.css ::::: */ + +.ui-datepicker { width: 17em; padding: 0.2em 0.2em 0pt; display: none; } +/* ::::: http://jaguar.ag1199.cn/Content/themes/base/jquery.ui.dialog.css ::::: */ + +/* ::::: http://jaguar.ag1199.cn/Content/themes/base/jquery.ui.menu.css ::::: */ + +/* ::::: http://jaguar.ag1199.cn/Content/themes/base/jquery.ui.progressbar.css ::::: */ + +/* ::::: http://jaguar.ag1199.cn/Content/themes/base/jquery.ui.resizable.css ::::: */ + +/* ::::: http://jaguar.ag1199.cn/Content/themes/base/jquery.ui.selectable.css ::::: */ + +/* ::::: http://jaguar.ag1199.cn/Content/themes/base/jquery.ui.slider.css ::::: */ + +/* ::::: http://jaguar.ag1199.cn/Content/themes/base/jquery.ui.spinner.css ::::: */ + +/* ::::: http://jaguar.ag1199.cn/Content/themes/base/jquery.ui.tabs.css ::::: */ + +/* ::::: http://jaguar.ag1199.cn/Content/themes/base/jquery.ui.tooltip.css ::::: */ + +/* ::::: http://jaguar.ag1199.cn/Content/themes/base/jquery.ui.theme.css ::::: */ + +.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; } +.ui-widget-content { border: 1px solid rgb(170, 170, 170); background: url('../images/ui-bg_flat_75_ffffff_40x100.png') repeat-x scroll 50% 50% rgb(255, 255, 255); color: rgb(34, 34, 34); } +.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { } +.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { } +.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { } +.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { } +.red-true { color: red; } +table tr th{color: rgb(51, 51, 51);} +.pr12{padding-right:12px;} + +.tableCosShow { + width: 351px; + table-layout:fixed; + word-break: break-all; + overflow:hidden; +} +.datagrid .panel-body { + border-bottom:0; +} +.modifyPas { + color:#ffffff; +} \ No newline at end of file diff --git a/src/main/webapp/css/index.css b/src/main/webapp/css/index.css new file mode 100644 index 0000000..b42d592 --- /dev/null +++ b/src/main/webapp/css/index.css @@ -0,0 +1,787 @@ +/* ::::: http://jaguar.ag1199.cn/Content/css?v=n0bC9-Ppon4UEjl8e4gVasERUOvYia2Rzl_1UdL29VY1 ::::: */ + +html { font-family: sans-serif; } +body { margin: 0pt; } +audio:not([controls]) { display: none; height: 0pt; } +a { background: none repeat scroll 0pt 0pt transparent; } +a:active, a:hover { outline: 0pt none; cursor: pointer;} +b, strong { font-weight: 700; } +h1 { margin: 0.67em 0pt; font-size: 2em; } +img { border: 0pt none; } +svg:not(:root) { overflow: hidden; } +pre { overflow: auto; } +code, kbd, pre, samp { font-family: monospace,monospace; font-size: 1em; } +button, input, optgroup, select, textarea { margin: 0pt; font: inherit; color: inherit; } +button { overflow: visible; } +button, select { text-transform: none; } +button, html input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; } +button::-moz-focus-inner, input::-moz-focus-inner { padding: 0pt; border: 0pt none; } +input { line-height: normal; } +table { border-spacing: 0pt; border-collapse: collapse;} +td, th { padding: 0pt; } +.text-center {text-align: center;} +.t-button,.btn-xs, .btn-group-xs>.btn {margin-right:2px;} +@media print { + * { color: rgb(0, 0, 0) ! important; text-shadow: none ! important; background: none repeat scroll 0% 0% transparent ! important; } + a, a:visited { text-decoration: underline; } + a[href]:after { content: " (" attr(href) ")"; } + abbr[title]:after { content: " (" attr(title) ")"; } + a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; } + pre, blockquote { border: 1px solid rgb(153, 153, 153); page-break-inside: avoid; } + thead { display: table-header-group; } + tr, img { page-break-inside: avoid; } + img { max-width: 100% ! important; } + p, h2, h3 { orphans: 3; widows: 3; } + h2, h3 { page-break-after: avoid; } + select { background: none repeat scroll 0% 0% rgb(255, 255, 255) ! important; } + .navbar { display: none; } + .table td, .table th { background-color: rgb(255, 255, 255) ! important; } + .btn > .caret, .dropup > .btn > .caret { border-top-color: rgb(0, 0, 0) ! important; } + .label { border: 1px solid rgb(0, 0, 0); } + .table { border-collapse: collapse ! important; } + .table-bordered th, .table-bordered td { border: 1px solid rgb(221, 221, 221) ! important; } +} +@font-face { + font-family: "Glyphicons Halflings"; src: url('glyphicons-halflings-regular.eot') format("embedded-opentype"), url('fonts/glyphicons-halflings-regular.woff') format("woff"), url('glyphicons-halflings-regular.ttf') format("truetype"), url('glyphicons-halflings-regular.svg') format("svg");} +* { -moz-box-sizing: content-box; } +*:before, *:after { -moz-box-sizing: border-box; } +html { font-size: 10px; } +body { font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; font-size: 14px; line-height: 1.42857; color: rgb(51, 51, 51); background-color: rgb(255, 255, 255); } + +a {/* color: rgb(66, 139, 202); */ text-decoration: none; } +/* a:hover, a:focus { color: rgb(42, 100, 150); text-decoration: underline;outline:none; } */ + +a:focus { outline: thin dotted; outline-offset: -2px; } +img { vertical-align: middle; } +h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-family: inherit; font-weight: 500; line-height: 1.1; color: inherit; } +h1, .h1, h2, .h2, h3, .h3 { margin-top: 20px; margin-bottom: 10px; } +h1, .h1 { font-size: 36px; } +h2, .h2 { font-size: 30px; } +h4, .h4 { + font-size: 18px; +} +@media (min-width: 768px) { + .lead { font-size: 21px; } +} +ul, ol { margin-top: 0pt; margin-bottom: 10px; } +ul ul, ol ul, ul ol, ol ol { margin-bottom: 0pt; } +@media (min-width: 768px) { + .dl-horizontal dt { float: left; width: 160px; overflow: hidden; clear: left; text-align: right; white-space: nowrap; } + .dl-horizontal dd { margin-left: 180px; } +} +code, kbd, pre, samp { font-family: Menlo,Monaco,Consolas,"Courier New",monospace; } +pre { display: block; padding: 9.5px; margin: 0pt 0pt 10px; font-size: 13px; line-height: 1.42857; color: rgb(51, 51, 51); word-wrap: break-word; background-color: rgb(245, 245, 245); border: 1px solid rgb(204, 204, 204); } +@media (min-width: 768px) { + .container { width: 750px; } +} +@media (min-width: 992px) { + .container { width: 970px; } +} +@media (min-width: 1200px) { + .container { width: 1170px; } +} +@media (min-width: 768px) { + .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { float: left; } + .col-sm-12 { width: 100%; } + .col-sm-11 { width: 91.6667%; } + .col-sm-10 { width: 83.3333%; } + .col-sm-9 { width: 75%; } + .col-sm-8 { width: 66.6667%; } + .col-sm-7 { width: 58.3333%; } + .col-sm-6 { width: 50%; } + .col-sm-5 { width: 41.6667%; } + .col-sm-4 { width: 33.3333%; } + .col-sm-3 { width: 25%; } + .col-sm-2 { width: 16.6667%; } + .col-sm-1 { width: 8.33333%; } + .col-sm-pull-12 { right: 100%; } + .col-sm-pull-11 { right: 91.6667%; } + .col-sm-pull-10 { right: 83.3333%; } + .col-sm-pull-9 { right: 75%; } + .col-sm-pull-8 { right: 66.6667%; } + .col-sm-pull-7 { right: 58.3333%; } + .col-sm-pull-6 { right: 50%; } + .col-sm-pull-5 { right: 41.6667%; } + .col-sm-pull-4 { right: 33.3333%; } + .col-sm-pull-3 { right: 25%; } + .col-sm-pull-2 { right: 16.6667%; } + .col-sm-pull-1 { right: 8.33333%; } + .col-sm-pull-0 { right: auto; } + .col-sm-push-12 { left: 100%; } + .col-sm-push-11 { left: 91.6667%; } + .col-sm-push-10 { left: 83.3333%; } + .col-sm-push-9 { left: 75%; } + .col-sm-push-8 { left: 66.6667%; } + .col-sm-push-7 { left: 58.3333%; } + .col-sm-push-6 { left: 50%; } + .col-sm-push-5 { left: 41.6667%; } + .col-sm-push-4 { left: 33.3333%; } + .col-sm-push-3 { left: 25%; } + .col-sm-push-2 { left: 16.6667%; } + .col-sm-push-1 { left: 8.33333%; } + .col-sm-push-0 { left: auto; } + .col-sm-offset-12 { margin-left: 100%; } + .col-sm-offset-11 { margin-left: 91.6667%; } + .col-sm-offset-10 { margin-left: 83.3333%; } + .col-sm-offset-9 { margin-left: 75%; } + .col-sm-offset-8 { margin-left: 66.6667%; } + .col-sm-offset-7 { margin-left: 58.3333%; } + .col-sm-offset-6 { margin-left: 50%; } + .col-sm-offset-5 { margin-left: 41.6667%; } + .col-sm-offset-4 { margin-left: 33.3333%; } + .col-sm-offset-3 { margin-left: 25%; } + .col-sm-offset-2 { margin-left: 16.6667%; } + .col-sm-offset-1 { margin-left: 8.33333%; } + .col-sm-offset-0 { margin-left: 0pt; } +} +@media (min-width: 992px) { + .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { float: left; } + .col-md-12 { width: 100%; } + .col-md-11 { width: 91.6667%; } + .col-md-10 { width: 83.3333%; } + .col-md-9 { width: 75%; } + .col-md-8 { width: 66.6667%; } + .col-md-7 { width: 58.3333%; } + .col-md-6 { width: 50%; } + .col-md-5 { width: 41.6667%; } + .col-md-4 { width: 33.3333%; } + .col-md-3 { width: 25%; } + .col-md-2 { width: 16.6667%; } + .col-md-1 { width: 8.33333%; } + .col-md-pull-12 { right: 100%; } + .col-md-pull-11 { right: 91.6667%; } + .col-md-pull-10 { right: 83.3333%; } + .col-md-pull-9 { right: 75%; } + .col-md-pull-8 { right: 66.6667%; } + .col-md-pull-7 { right: 58.3333%; } + .col-md-pull-6 { right: 50%; } + .col-md-pull-5 { right: 41.6667%; } + .col-md-pull-4 { right: 33.3333%; } + .col-md-pull-3 { right: 25%; } + .col-md-pull-2 { right: 16.6667%; } + .col-md-pull-1 { right: 8.33333%; } + .col-md-pull-0 { right: auto; } + .col-md-push-12 { left: 100%; } + .col-md-push-11 { left: 91.6667%; } + .col-md-push-10 { left: 83.3333%; } + .col-md-push-9 { left: 75%; } + .col-md-push-8 { left: 66.6667%; } + .col-md-push-7 { left: 58.3333%; } + .col-md-push-6 { left: 50%; } + .col-md-push-5 { left: 41.6667%; } + .col-md-push-4 { left: 33.3333%; } + .col-md-push-3 { left: 25%; } + .col-md-push-2 { left: 16.6667%; } + .col-md-push-1 { left: 8.33333%; } + .col-md-push-0 { left: auto; } + .col-md-offset-12 { margin-left: 100%; } + .col-md-offset-11 { margin-left: 91.6667%; } + .col-md-offset-10 { margin-left: 83.3333%; } + .col-md-offset-9 { margin-left: 75%; } + .col-md-offset-8 { margin-left: 66.6667%; } + .col-md-offset-7 { margin-left: 58.3333%; } + .col-md-offset-6 { margin-left: 50%; } + .col-md-offset-5 { margin-left: 41.6667%; } + .col-md-offset-4 { margin-left: 33.3333%; } + .col-md-offset-3 { margin-left: 25%; } + .col-md-offset-2 { margin-left: 16.6667%; } + .col-md-offset-1 { margin-left: 8.33333%; } + .col-md-offset-0 { margin-left: 0pt; } +} +@media (min-width: 1200px) { + .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { float: left; } + .col-lg-12 { width: 100%; } + .col-lg-11 { width: 91.6667%; } + .col-lg-10 { width: 83.3333%; } + .col-lg-9 { width: 75%; } + .col-lg-8 { width: 66.6667%; } + .col-lg-7 { width: 58.3333%; } + .col-lg-6 { width: 50%; } + .col-lg-5 { width: 41.6667%; } + .col-lg-4 { width: 33.3333%; } + .col-lg-3 { width: 25%; } + .col-lg-2 { width: 16.6667%; } + .col-lg-1 { width: 8.33333%; } + .col-lg-pull-12 { right: 100%; } + .col-lg-pull-11 { right: 91.6667%; } + .col-lg-pull-10 { right: 83.3333%; } + .col-lg-pull-9 { right: 75%; } + .col-lg-pull-8 { right: 66.6667%; } + .col-lg-pull-7 { right: 58.3333%; } + .col-lg-pull-6 { right: 50%; } + .col-lg-pull-5 { right: 41.6667%; } + .col-lg-pull-4 { right: 33.3333%; } + .col-lg-pull-3 { right: 25%; } + .col-lg-pull-2 { right: 16.6667%; } + .col-lg-pull-1 { right: 8.33333%; } + .col-lg-pull-0 { right: auto; } + .col-lg-push-12 { left: 100%; } + .col-lg-push-11 { left: 91.6667%; } + .col-lg-push-10 { left: 83.3333%; } + .col-lg-push-9 { left: 75%; } + .col-lg-push-8 { left: 66.6667%; } + .col-lg-push-7 { left: 58.3333%; } + .col-lg-push-6 { left: 50%; } + .col-lg-push-5 { left: 41.6667%; } + .col-lg-push-4 { left: 33.3333%; } + .col-lg-push-3 { left: 25%; } + .col-lg-push-2 { left: 16.6667%; } + .col-lg-push-1 { left: 8.33333%; } + .col-lg-push-0 { left: auto; } + .col-lg-offset-12 { margin-left: 100%; } + .col-lg-offset-11 { margin-left: 91.6667%; } + .col-lg-offset-10 { margin-left: 83.3333%; } + .col-lg-offset-9 { margin-left: 75%; } + .col-lg-offset-8 { margin-left: 66.6667%; } + .col-lg-offset-7 { margin-left: 58.3333%; } + .col-lg-offset-6 { margin-left: 50%; } + .col-lg-offset-5 { margin-left: 41.6667%; } + .col-lg-offset-4 { margin-left: 33.3333%; } + .col-lg-offset-3 { margin-left: 25%; } + .col-lg-offset-2 { margin-left: 16.6667%; } + .col-lg-offset-1 { margin-left: 8.33333%; } + .col-lg-offset-0 { margin-left: 0pt; } +} +table { background-color: transparent; } +th { text-align: left; } +.table { width: 100%; max-width: 100%; margin-bottom: 20px; } +.table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td { /* padding: 8px; */line-height: 1.42857; vertical-align: top; border-top: 1px solid rgb(221, 221, 221); } +.table-condensed > thead > tr > th, .table-condensed > tbody > tr > th, .table-condensed > tfoot > tr > th, .table-condensed > thead > tr > td, .table-condensed > tbody > tr > td, .table-condensed > tfoot > tr > td { padding: 5px; } +.table-bordered { border: 1px solid rgb(221, 221, 221); } +.table-bordered > thead > tr > th, .table-bordered > tbody > tr > th, .table-bordered > tfoot > tr > th, .table-bordered > thead > tr > td, .table-bordered > tbody > tr > td, .table-bordered > tfoot > tr > td { border: 1px solid rgb(221, 221, 221); } +.table-striped > tbody > tr:nth-child(2n+0) > td, .table-striped > tbody > tr:nth-child(2n+0) > th { background-color: rgb(249, 249, 249); } +.table-hover > tbody > tr:hover > td, .table-hover > tbody > tr:hover > th { background-color: rgb(245, 245, 245); } +@media screen and (max-width: 767px) { + .table-responsive { width: 100%; margin-bottom: 15px; overflow-x: auto; overflow-y: hidden; border: 1px solid rgb(221, 221, 221); } + .table-responsive > .table { margin-bottom: 0pt; } + .table-responsive > .table > thead > tr > th, .table-responsive > .table > tbody > tr > th, .table-responsive > .table > tfoot > tr > th, .table-responsive > .table > thead > tr > td, .table-responsive > .table > tbody > tr > td, .table-responsive > .table > tfoot > tr > td { white-space: nowrap; } + .table-responsive > .table-bordered { border: 0pt none; } + .table-responsive > .table-bordered > thead > tr > th:first-child, .table-responsive > .table-bordered > tbody > tr > th:first-child, .table-responsive > .table-bordered > tfoot > tr > th:first-child, .table-responsive > .table-bordered > thead > tr > td:first-child, .table-responsive > .table-bordered > tbody > tr > td:first-child, .table-responsive > .table-bordered > tfoot > tr > td:first-child { border-left: 0pt none; } + .table-responsive > .table-bordered > thead > tr > th:last-child, .table-responsive > .table-bordered > tbody > tr > th:last-child, .table-responsive > .table-bordered > tfoot > tr > th:last-child, .table-responsive > .table-bordered > thead > tr > td:last-child, .table-responsive > .table-bordered > tbody > tr > td:last-child, .table-responsive > .table-bordered > tfoot > tr > td:last-child { border-right: 0pt none; } + .table-responsive > .table-bordered > tbody > tr:last-child > th, .table-responsive > .table-bordered > tfoot > tr:last-child > th, .table-responsive > .table-bordered > tbody > tr:last-child > td, .table-responsive > .table-bordered > tfoot > tr:last-child > td { border-bottom: 0pt none; } +} + + .table > tbody > tr > th{ + width:10%; + /* padding: 10px; */ + border-top:0; + line-height:32px; +} + .table > tbody > tr > td { + width:40%; + /* padding: 10px; */ + border-top:0; +} +label { display: inline-block; max-width: 100%; margin-bottom: 5px; font-weight: 700; } +@media (min-width: 768px) { + .form-inline .form-group { display: inline-block; margin-bottom: 0pt; vertical-align: middle; } + .form-inline .form-control { display: inline-block; width: auto; vertical-align: middle; } + .form-inline .input-group { display: inline-table; vertical-align: middle; } + .form-inline .input-group .input-group-addon, .form-inline .input-group .input-group-btn, .form-inline .input-group .form-control { width: auto; } + .form-inline .input-group > .form-control { width: 100%; } + .form-inline .control-label { margin-bottom: 0pt; vertical-align: middle; } + .form-inline .radio, .form-inline .checkbox { display: inline-block; margin-top: 0pt; margin-bottom: 0pt; vertical-align: middle; } + .form-inline .radio label, .form-inline .checkbox label { padding-left: 0pt; } + .form-inline .radio input[type="radio"], .form-inline .checkbox input[type="checkbox"] { position: relative; margin-left: 0pt; } + .form-inline .has-feedback .form-control-feedback { top: 0pt; } +} +@media (min-width: 768px) { + .form-horizontal .control-label { padding-top: 7px; margin-bottom: 0pt; text-align: right; } +} +@media (min-width: 768px) { + .form-horizontal .form-group-lg .control-label { padding-top: 14.3px; } +} +@media (min-width: 768px) { + .form-horizontal .form-group-sm .control-label { padding-top: 6px; } +} +.btn { display: inline-block; padding: 6px 12px; margin-bottom: 0pt; font-size: 14px; font-weight: 400; line-height: 1.42857; text-align: center; white-space: nowrap; vertical-align: middle; cursor: pointer; -moz-user-select: none; background-image: none; border: 1px solid transparent; } +.btn:focus, .btn:active:focus, .btn.active:focus { outline: thin dotted; outline-offset: -2px; } +.btn:hover, .btn:focus { color: rgb(51, 51, 51); text-decoration: none; } +.btn:active, .btn.active { background-image: none; outline: 0pt none; } +.btn-link { font-weight: 400; color: rgb(66, 139, 202); cursor: pointer; } +.btn-link, .btn-link:active, .btn-link[disabled], fieldset[disabled] .btn-link { background-color: transparent; } +.btn-link, .btn-link:hover, .btn-link:focus, .btn-link:active { border-color: transparent; } +.btn-link:hover, .btn-link:focus { color: rgb(42, 100, 150); text-decoration: underline; background-color: transparent; } +.btn-xs, .btn-group-xs > .btn { padding: 1px 5px; font-size: 12px; line-height: 1.5; } +@media (min-width: 768px) { + .navbar-right .dropdown-menu { right: 0pt; left: auto; } + .navbar-right .dropdown-menu-left { right: auto; left: 0pt; } +} +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { } +.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { } +.btn-group > .btn:last-child:not(:first-child), .btn-group > .dropdown-toggle:not(:first-child) { } +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { } +.btn-group-vertical > .btn:not(:first-child):not(:last-child) { } +.btn-group-vertical > .btn:first-child:not(:last-child) { } +.btn-group-vertical > .btn:last-child:not(:first-child) { } +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { } +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { } +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { } +.input-group-addon:not(:first-child):not(:last-child), .input-group-btn:not(:first-child):not(:last-child), .input-group .form-control:not(:first-child):not(:last-child) { } +.input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child > .btn, .input-group-btn:first-child > .btn-group > .btn, .input-group-btn:first-child > .dropdown-toggle, .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), .input-group-btn:last-child > .btn-group:not(:last-child) > .btn { } +.input-group .form-control:last-child, .input-group-addon:last-child, .input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group > .btn, .input-group-btn:last-child > .dropdown-toggle, .input-group-btn:first-child > .btn:not(:first-child), .input-group-btn:first-child > .btn-group:not(:first-child) > .btn { } +@media (min-width: 768px) { + .nav-tabs.nav-justified > li { display: table-cell; width: 1%; } + .nav-tabs.nav-justified > li > a { margin-bottom: 0pt; } +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { border-bottom: 1px solid rgb(221, 221, 221); } + .nav-tabs.nav-justified > .active > a, .nav-tabs.nav-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:focus { border-bottom-color: rgb(255, 255, 255); } +} +@media (min-width: 768px) { + .nav-justified > li { display: table-cell; width: 1%; } + .nav-justified > li > a { margin-bottom: 0pt; } +} +@media (min-width: 768px) { + .nav-tabs-justified > li > a { border-bottom: 1px solid rgb(221, 221, 221); } + .nav-tabs-justified > .active > a, .nav-tabs-justified > .active > a:hover, .nav-tabs-justified > .active > a:focus { border-bottom-color: rgb(255, 255, 255); } +} +@media (min-width: 768px) { + .navbar { } +} +@media (min-width: 768px) { + .navbar-header { float: left; } +} +@media (min-width: 768px) { + .navbar-collapse { width: auto; border-top: 0pt none; } + .navbar-collapse.collapse { display: block ! important; height: auto ! important; padding-bottom: 0pt; overflow: visible ! important; } + .navbar-collapse.in { overflow-y: visible; } + .navbar-fixed-top .navbar-collapse, .navbar-static-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { padding-right: 0pt; padding-left: 0pt; } +} +@media (max-width: 480px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { max-height: 200px; } +} +@media (min-width: 768px) { + .container > .navbar-header, .container-fluid > .navbar-header, .container > .navbar-collapse, .container-fluid > .navbar-collapse { margin-right: 0pt; margin-left: 0pt; } +} +@media (min-width: 768px) { + .navbar-static-top { } +} +@media (min-width: 768px) { + .navbar-fixed-top, .navbar-fixed-bottom { } +} +@media (min-width: 768px) { + .navbar > .container .navbar-brand, .navbar > .container-fluid .navbar-brand { margin-left: -15px; } +} +@media (min-width: 768px) { + .navbar-toggle { display: none; } +} +@media (max-width: 767px) { + .navbar-nav .open .dropdown-menu { position: static; float: none; width: auto; margin-top: 0pt; background-color: transparent; border: 0pt none; } + .navbar-nav .open .dropdown-menu > li > a, .navbar-nav .open .dropdown-menu .dropdown-header { padding: 5px 15px 5px 25px; } + .navbar-nav .open .dropdown-menu > li > a { line-height: 20px; } + .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-nav .open .dropdown-menu > li > a:focus { background-image: none; } +} +@media (min-width: 768px) { + .navbar-nav { float: left; margin: 0pt; } + .navbar-nav > li { float: left; } + .navbar-nav > li > a { padding-top: 15px; padding-bottom: 15px; } + .navbar-nav.navbar-right:last-child { margin-right: -15px; } +} +@media (min-width: 768px) { + .navbar-left { float: left ! important; } + .navbar-right { float: right ! important; } +} +@media (min-width: 768px) { + .navbar-form .form-group { display: inline-block; margin-bottom: 0pt; vertical-align: middle; } + .navbar-form .form-control { display: inline-block; width: auto; vertical-align: middle; } + .navbar-form .input-group { display: inline-table; vertical-align: middle; } + .navbar-form .input-group .input-group-addon, .navbar-form .input-group .input-group-btn, .navbar-form .input-group .form-control { width: auto; } + .navbar-form .input-group > .form-control { width: 100%; } + .navbar-form .control-label { margin-bottom: 0pt; vertical-align: middle; } + .navbar-form .radio, .navbar-form .checkbox { display: inline-block; margin-top: 0pt; margin-bottom: 0pt; vertical-align: middle; } + .navbar-form .radio label, .navbar-form .checkbox label { padding-left: 0pt; } + .navbar-form .radio input[type="radio"], .navbar-form .checkbox input[type="checkbox"] { position: relative; margin-left: 0pt; } + .navbar-form .has-feedback .form-control-feedback { top: 0pt; } +} +@media (max-width: 767px) { + .navbar-form .form-group { margin-bottom: 5px; } +} +@media (min-width: 768px) { + .navbar-form { width: auto; padding-top: 0pt; padding-bottom: 0pt; margin-right: 0pt; margin-left: 0pt; border: 0pt none; } + .navbar-form.navbar-right:last-child { margin-right: -15px; } +} +@media (min-width: 768px) { + .navbar-text { float: left; margin-right: 15px; margin-left: 15px; } + .navbar-text.navbar-right:last-child { margin-right: 0pt; } +} +@media (max-width: 767px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { color: rgb(119, 119, 119); } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { color: rgb(51, 51, 51); background-color: transparent; } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { color: rgb(85, 85, 85); background-color: rgb(231, 231, 231); } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { color: rgb(204, 204, 204); background-color: transparent; } +} +@media (max-width: 767px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { border-color: rgb(8, 8, 8); } + .navbar-inverse .navbar-nav .open .dropdown-menu .divider { background-color: rgb(8, 8, 8); } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { color: rgb(119, 119, 119); } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { color: rgb(255, 255, 255); background-color: transparent; } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { color: rgb(255, 255, 255); background-color: rgb(8, 8, 8); } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { color: rgb(68, 68, 68); background-color: transparent; } +} +.pagination { display: inline-block; padding-left: 0pt; margin: 20px 0pt; } +.pagination > tr td { display: inline; } +.pagination > tr td > a, .pagination > tr td > span { position: relative; float: left; padding: 6px 12px; margin-left: -1px; line-height: 1.42857; color: rgb(66, 139, 202); text-decoration: none; background-color: rgb(255, 255, 255); border: 1px solid rgb(221, 221, 221); } +.pagination > tr td:first-child > a, .pagination > tr td:first-child > span { margin-left: 0pt; } +.pagination > tr td:last-child > a, .pagination > tr td:last-child > span { } +.pagination > tr td > a:hover, .pagination > tr td > span:hover, .pagination > tr td > a:focus, .pagination > tr td > span:focus { color: rgb(42, 100, 150); background-color: rgb(238, 238, 238); border-color: rgb(221, 221, 221); } +.pagination > .active > a, .pagination > .active > span, .pagination > .active > a:hover, .pagination > .active > span:hover, .pagination > .active > a:focus, .pagination > .active > span:focus { z-index: 2; color: rgb(255, 255, 255); cursor: default; background-color: rgb(66, 139, 202); border-color: rgb(66, 139, 202); } +.pagination > .disabled > span, .pagination > .disabled > span:hover, .pagination > .disabled > span:focus, .pagination > .disabled > a, .pagination > .disabled > a:hover, .pagination > .disabled > a:focus { color: rgb(119, 119, 119); cursor: not-allowed; background-color: rgb(255, 255, 255); border-color: rgb(221, 221, 221); } +.pagination-sm > tr td > a, .pagination-sm > tr td > span { padding: 5px 10px; font-size: 12px; } +.pagination-sm > tr td:first-child > a, .pagination-sm > tr td:first-child > span { } +.pagination-sm > tr td:last-child > a, .pagination-sm > tr td:last-child > span { } +@media screen and (min-width: 768px) { + .jumbotron { padding-top: 48px; padding-bottom: 48px; } + .container .jumbotron { padding-right: 60px; padding-left: 60px; } + .jumbotron h1, .jumbotron .h1 { font-size: 63px; } +} +@media (min-width: 768px) { + .modal-dialog { width: 600px; margin: 30px auto; } + .modal-content { } + .modal-sm { width: 300px; } +} +@media (min-width: 992px) { + .modal-lg { width: 900px; } +} +@media screen and (min-width: 768px) { + .carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right, .carousel-control .icon-prev, .carousel-control .icon-next { width: 30px; height: 30px; margin-top: -15px; font-size: 30px; } + .carousel-control .glyphicon-chevron-left, .carousel-control .icon-prev { margin-left: -15px; } + .carousel-control .glyphicon-chevron-right, .carousel-control .icon-next { margin-right: -15px; } + .carousel-caption { right: 20%; left: 20%; padding-bottom: 30px; } + .carousel-indicators { bottom: 20px; } +} +@media (max-width: 767px) { + .visible-xs { display: block ! important; } + table.visible-xs { display: table; } + tr.visible-xs { display: table-row ! important; } + th.visible-xs, td.visible-xs { display: table-cell ! important; } +} +@media (max-width: 767px) { + .visible-xs-block { display: block ! important; } +} +@media (max-width: 767px) { + .visible-xs-inline { display: inline ! important; } +} +@media (max-width: 767px) { + .visible-xs-inline-block { display: inline-block ! important; } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { display: block ! important; } + table.visible-sm { display: table; } + tr.visible-sm { display: table-row ! important; } + th.visible-sm, td.visible-sm { display: table-cell ! important; } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-block { display: block ! important; } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline { display: inline ! important; } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline-block { display: inline-block ! important; } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { display: block ! important; } + table.visible-md { display: table; } + tr.visible-md { display: table-row ! important; } + th.visible-md, td.visible-md { display: table-cell ! important; } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-block { display: block ! important; } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline { display: inline ! important; } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline-block { display: inline-block ! important; } +} +@media (min-width: 1200px) { + .visible-lg { display: block ! important; } + table.visible-lg { display: table; } + tr.visible-lg { display: table-row ! important; } + th.visible-lg, td.visible-lg { display: table-cell ! important; } +} +@media (min-width: 1200px) { + .visible-lg-block { display: block ! important; } +} +@media (min-width: 1200px) { + .visible-lg-inline { display: inline ! important; } +} +@media (min-width: 1200px) { + .visible-lg-inline-block { display: inline-block ! important; } +} +@media (max-width: 767px) { + .hidden-xs { display: none ! important; } +} +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { display: none ! important; } +} +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { display: none ! important; } +} +@media (min-width: 1200px) { + .hidden-lg { display: none ! important; } +} +@media print { + .visible-print { display: block ! important; } + table.visible-print { display: table; } + tr.visible-print { display: table-row ! important; } + th.visible-print, td.visible-print { display: table-cell ! important; } +} +@media print { + .visible-print-block { display: block ! important; } +} +@media print { + .visible-print-inline { display: inline ! important; } +} +@media print { + .visible-print-inline-block { display: inline-block ! important; } +} +@media print { + .hidden-print { display: none ! important; } +} +@font-face { + font-family: "FontAwesome"; font-style: normal; font-weight: normal; src: url('fontawesome-webfont.eot') format("embedded-opentype"), url('fontawesome-webfont.woff') format("woff"), url('fontawesome-webfont.ttf') format("truetype"), url('fontawesome-webfont.svg') format("svg");} +.table td, .table th { font-size: 12px; } +.page { /* width: 1119px; */ height: 100%; margin: 3px auto; background-color: rgb(255, 255, 255); } +.page #header { width: 100%; height: 65px; background-image: url('../images/topbgnew.png'); background-repeat: no-repeat;background-size: cover; } +.page #header #logo { /* position: absolute; top: 24px; */ z-index: 0; float: left; width: 210px; margin-top: 35px;margin-left:60px;} +.page #header #title { float: left; width: 750px; color: rgb(255, 255, 255); height: 40px; } +.page #header #logindisplay { float: right; color: rgb(255, 255, 255); font-size: 14px; line-height: 65px; margin-right: 10px;vertical-align: middle; } +.page #header #logindisplay a { /* color: rgb(255, 255, 255); font-size: 14px; */ } +.page #header #logindisplay a.logout { + /* width:45px; */ + height:45px; + border-left:1px solid #ffffff; + display:inline-block; + vertical-align: middle; + margin-left:10px; + line-height: 45px; + color:#ffffff; + padding:0 20px; +} +.page #header #logindisplay a.logout:hover { + color:#ffffff; +} +.page #header #logindisplay a img.logoutIcon { + /* width:13px; + height:13px; */ + /* background-image: url('../images/powerIcon.png'); */ + margin-left: 10px; + margin-bottom: 22px; +} + +.page #header #logindisplay a:hover { color: blue; } +.page #menucontainer { /* float: left; */ margin-top: 10px; width: 100%; height: 37px; background-color: rgb(255, 255, 255); /* border-bottom: 3px solid rgb(178, 171, 171); */ } +.page #menucontainer .menuContent { position: relative; } +.footer { + width: 100%; + height: 25px; + background-color: rgb(0, 71, 148); + background-image: url('../images/2.png'); + background-repeat: no-repeat; + background-position: right center; + position:fixed; + bottom:0; + } +.menuContent { width: 100%; clear: both; } +.menuContent ul { float: right; } +ul#css3menu { + float: right; + margin-right: 55px; +} +ul#css3menu ul { + margin: 0pt; + list-style: none outside none; + padding: 0pt; + background-color: rgb(222, 222, 222); + border: 1px solid rgb(95, 95, 95); + float: right; + border-radius:8px; +} +ul#css3menu { display: block; font-size: 0pt; z-index: 1000; } +ul#css3menu ul { + display: none; + position: absolute; + left: 12px; + top: 100%; + padding: 15px 10px; + background-color: rgb(255, 255, 255); + border-color: #757679; + z-index: 100; + border-radius: 8px; + -moz-box-shadow: 2px 2px 8px #888888; + box-shadow: 2px 2px 8px #888888; + box-sizing: border-box; +} +ul#css3menu ul li.subfirst:nth-last-child(1){ + border-bottom:none; +} +ul#css3menu li:hover > * { display: block; } +ul#css3menu li:hover { position: relative; } +ul#css3menu li { display: block; white-space: nowrap; font-size: 0pt; float: left; } +ul#css3menu > li, ul#css3menu li { margin: 0pt; } +ul#css3menu a:active, ul#css3menu a:focus { outline-style: none; } +ul#css3menu li.topitem>a { + display: block; + font: 16px Trebuchet MS,sans-serif; + color: #9B9B9B; + float: left; + padding-left: 30px; + padding-right: 5px; +} +ul#css3menu li.topitem { + border-left: 1px solid #9B9B9B; +} + +ul#css3menu li.subfirst a { + display: block; + font: 12px Trebuchet MS,sans-serif; + color: #9B9B9B; + padding: 0px 8px; + text-align:center; +} + +ul#css3menu li.topitem:nth-last-child(1){ + border-right: 1px solid #9B9B9B; +} +ul#css3menu ul li { + float: none; + margin: 10px 0pt 0pt; + border-bottom: 1px solid #d1d2d5; + padding-bottom: 10px; +} +ul#css3menu ul a { text-align: left; padding: 4px; background-color: rgb(255, 255, 255); background-image: none; border-width: 0pt; font: 14px Tahoma,serif; color: rgb(0, 0, 0); text-decoration: none; } +ul#css3menu li.topitem span.arrow { + width: 12px; + height: 8px; + background-image: url(../images/menuArrow.png); + display: block; + background-size: cover; + float: left; + margin-right: 30px; + margin-top: 5px; +} +ul#css3menu li.topitem:hover span.arrow { + background-image: url(../images/menuArrowActive.png); +} + + +ul#css3menu li:hover > a { + color: rgb(0, 0, 0); + text-decoration: none; + /* background-color: rgb(12, 151, 226); + border-color: silver; + border-style: solid; + font: bold 14px Trebuchet MS,sans-serif; + text-shadow: 0pt 0pt 1px rgb(255, 255, 255); + background-image: url('../images/mainbk.png'); + background-position: 0pt 100%; */ +} + +ul#css3menu ul li:hover > a { + background-color: rgb(255, 255, 255); + background-image: none; + color: #12B7F5; + text-decoration: none; +} +ul#css3menu ul li:hover > a:hover { + background-color: rgb(255, 255, 255); + background-image: none; + color: #12B7F5; + text-decoration: none; +} +ul#css3menu li.topfirst > a { } +ul#css3menu li.toplast > a { } +/* ::::: http://jaguar.ag1199.cn/Content/themes/base/jquery.ui.all.css ::::: */ + +/* ::::: http://jaguar.ag1199.cn/Content/themes/base/jquery.ui.base.css ::::: */ + +/* ::::: http://jaguar.ag1199.cn/Content/themes/base/jquery.ui.core.css ::::: */ + +.ui-helper-clearfix:before, .ui-helper-clearfix:after { content: ""; display: table; border-collapse: collapse; } +.ui-helper-clearfix:after { clear: both; } +.ui-helper-clearfix { min-height: 0pt; } +/* ::::: http://jaguar.ag1199.cn/Content/themes/base/jquery.ui.accordion.css ::::: */ + +/* ::::: http://jaguar.ag1199.cn/Content/themes/base/jquery.ui.autocomplete.css ::::: */ + +/* ::::: http://jaguar.ag1199.cn/Content/themes/base/jquery.ui.button.css ::::: */ + +input.ui-button::-moz-focus-inner, button.ui-button::-moz-focus-inner { border: 0pt none; padding: 0pt; } +/* ::::: http://jaguar.ag1199.cn/Content/themes/base/jquery.ui.datepicker.css ::::: */ + +.ui-datepicker { width: 17em; padding: 0.2em 0.2em 0pt; display: none; } +/* ::::: http://jaguar.ag1199.cn/Content/themes/base/jquery.ui.dialog.css ::::: */ + +/* ::::: http://jaguar.ag1199.cn/Content/themes/base/jquery.ui.menu.css ::::: */ + +/* ::::: http://jaguar.ag1199.cn/Content/themes/base/jquery.ui.progressbar.css ::::: */ + +/* ::::: http://jaguar.ag1199.cn/Content/themes/base/jquery.ui.resizable.css ::::: */ + +/* ::::: http://jaguar.ag1199.cn/Content/themes/base/jquery.ui.selectable.css ::::: */ + +/* ::::: http://jaguar.ag1199.cn/Content/themes/base/jquery.ui.slider.css ::::: */ + +/* ::::: http://jaguar.ag1199.cn/Content/themes/base/jquery.ui.spinner.css ::::: */ + +/* ::::: http://jaguar.ag1199.cn/Content/themes/base/jquery.ui.tabs.css ::::: */ + +/* ::::: http://jaguar.ag1199.cn/Content/themes/base/jquery.ui.tooltip.css ::::: */ + +/* ::::: http://jaguar.ag1199.cn/Content/themes/base/jquery.ui.theme.css ::::: */ + +.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; } +.ui-widget-content { border: 1px solid rgb(170, 170, 170); background: url('../images/ui-bg_flat_75_ffffff_40x100.png') repeat-x scroll 50% 50% rgb(255, 255, 255); color: rgb(34, 34, 34); } +.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { } +.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { } +.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { } +.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { } +.red-true { color: red; } +table tr th{color: rgb(51, 51, 51);} +.pr12{padding-right:12px;} + +.tableCosShow { + width: 351px; + table-layout:fixed; + word-break: break-all; + overflow:hidden; +} +.datagrid .panel-body { + border-bottom:0; +} + +.infoTable { + width:100%; +} +.infoTable td { + width:33.3%; +} +.infoTable td hr{ + height: 0; + border-top: 1px solid #BABABA; +} +.table td hr{ + height: 0; + border-top: 1px dashed #BABABA; +} +a.modifyPas { + color:#ffffff; +} +a.modifyPas:hover { + color:#ffffff !important; +} +a.modifyPas:visited { + color:#ffffff !important; +} +a.modifyPas:active { + color:#ffffff !important; +} +a:focus { outline: none; } +input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill { + background-color: transparent; + background-image: none; + color: rgb(0, 0, 0); + transition: background-color 50000s ease-in-out 0s; +} \ No newline at end of file diff --git a/src/main/webapp/css/list.css b/src/main/webapp/css/list.css new file mode 100644 index 0000000..6391328 --- /dev/null +++ b/src/main/webapp/css/list.css @@ -0,0 +1,42 @@ +a:hover { + text-decoration:none; + } + .datagrid-header-row, .datagrid-row { + height: 40px; + } + + .datagrid-header td, .datagrid-body td, .datagrid-footer td { + border:0; + } + .datagrid-row-over, .datagrid-header td.datagrid-header-over { + background-color:#E3F1ED; + color: #757679; + } + .datagrid-header { + border:none; + } + .datagrid-row-selected { + background-color:#E3F1ED; + color: #757679; + } + .datagrid-htable{ + color:#676A73; + font-size:14px; + font-weight: bold; + } + .datagrid-btable { + color:#757679; + } + .pagination table { + float:none; + margin: 0 auto; + } + .datagrid .datagrid-pager { + margin-top:10px; + text-align:center; + border:0; + } + .pagination-info { + float:none; + height: 0; + } \ No newline at end of file diff --git a/src/main/webapp/css/login.css b/src/main/webapp/css/login.css new file mode 100644 index 0000000..0db859f --- /dev/null +++ b/src/main/webapp/css/login.css @@ -0,0 +1,218 @@ +body { + margin: 0; + padding: 0; + background-color:#fff; +} + + +#header { + height:70px; + width:100%; + background-color:#036EB7; +} +#header img.carlogo{ + width: 210px; + float: left; + margin-top: 10px; + margin-left: 30px; +} +#header img{ + float: right; + margin-right: 40px; + width: 255px; + margin-top: 17px; +} +.login { + margin: 160px auto 0; + width: 680px; + height: 209px; + background-image: url(../images/000.jpg); + padding-top: 110px; + background-size: contain; +} +.login .tologin { + margin-left: 375px; + height: 200px; +} +.editor-field { + float: left; + clear: both; + width: 440px; + margin-bottom: 5px; +} +.login .tologin p.userPrompt { + margin: 0; + font-size: 12px; + color: #FE1A1C; + padding-left: 77px; + display:none; + font-weight: 600; + letter-spacing: 2px; +} +.login .tologin p { + float: left; + clear: both; +} +.editor-field label { + width: 65px; + display: block; + float: left; + line-height: 32px; + font-weight:normal; +} +.editor-field input { + width: 200px; + height: 30px; + padding-left:10px; + float: left; + border-radius: 3px; + border: 1px solid #969899; +} +.login .tologin p input { + width: 95px; + height: 35px; + float: left; + margin-left: 65px; + border: none; + border-radius: 3px; + font-size: 13px; +} +.checkFair { + background: #e0dbdb; + color: #99999a; +} +.checkSuccess { + background: #036EB7; + color: #ffffff; +} + +.validation-summary-errors { + font-size: 12px; + color: red; +} +.mc-ipt .mc-ipt-tip { + color: red; + font-size: 11px; +} +.redStar { + color:#FE1A1C; +} +input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill { + background-color: transparent !important; + background-image: none; + color: rgb(0, 0, 0); + transition: background-color 50000s ease-in-out 0s; +} + + @media screen and (max-width: 1600px) { + html { + width:100%; + height:100%; + background-image: url(../images/Login12.jpg);background-size:100% 100%; + } + #loginTitle { + padding-top: 30px; + font-size: 28px; + letter-spacing: 4px; + } + #loginWrap { + width: 430px; + padding-left:70px; + height: 290px; + background: rgba(255,255,255,0.3); + position: absolute; + top: 233px; + right: 200px; + -moz-box-shadow: 3px 3px 20px #cccccc; + box-shadow: 3px 3px 20px #cccccc; + } + #username { + width: 300px; + height: 30px; + border: 1px solid #ccc; + border-radius: 5px; + text-indent: 0.5em; + } + #password { + width: 300px; + height: 30px; + border: 1px solid #ccc; + border-radius: 5px; + text-indent: 0.5em; + } + #LoginForm1BtnCtId { + + width: 95px; + height: 35px; + border: none; + border-radius: 3px; + font-size: 13px; + } + .userPrompt{ + color: red; + font-size: 12px; + } + #tip { + position:absolute; + top:108%; + left:75px; + color: #848383; + line-height:24px; + } + } + @media screen and (max-width: 1366px) { + html { + width:100%; + height:100%; + background-image: url(../images/Login11.jpg);background-size:100% 100%; + } + #loginTitle { + padding-top: 30px; + font-size: 25px; + letter-spacing: 4px; + } + #loginWrap { + width: 390px; + padding-left:60px; + height: 290px; + background: rgba(255,255,255,0.3); + position: absolute; + top: 195px; + right: 165px; + -moz-box-shadow: 3px 3px 20px #cccccc; + box-shadow: 3px 3px 20px #cccccc; + } + #username { + width: 260px; + height: 30px; + border: 1px solid #ccc; + border-radius: 5px; + text-indent: 0.5em; + } + #password { + width: 260px; + height: 30px; + border: 1px solid #ccc; + border-radius: 5px; + text-indent: 0.5em; + } + #LoginForm1BtnCtId { + width: 95px; + height: 35px; + border: none; + border-radius: 3px; + font-size: 13px; + } + .userPrompt{ + color: red; + font-size: 12px; + } + #tip { + position:absolute; + top:108%; + left:75px; + color: #848383; + line-height:24px; + } + + } \ No newline at end of file diff --git a/src/main/webapp/css/mc.css b/src/main/webapp/css/mc.css new file mode 100644 index 0000000..fdf5146 --- /dev/null +++ b/src/main/webapp/css/mc.css @@ -0,0 +1,106 @@ +/** + * Mask + */ +.mc-mask { top:0; left:0; width:100%; height:100%; position:absolute; z-index:150; background-color:#000; opacity:0.6; filter:alpha(opacity=40);} + +/** + * Dialog + */ +.mc-dlg, .mc-dlg-nb { position:absolute; z-index:151; width:460px; border-radius:4px; outline:0; box-shadow: 0 0 10px rgba(0,0,0,.5); } +.mc-dlg-body, .mc-dlg-body-nb { background:#fafafa; border-radius: 0 0 4px 4px; color: #555; } +.mc-dlg { border:1px solid #6C92AD; background: none repeat scroll 0 0 white; } +.mc-dlg-head { color:#FFFFFF; cursor:move; height:27px; line-height:27px; padding:0 10px; background-color:#1F5699; background:url("../lib/mc/images/win_hd_bg.png") 0 -45px repeat-x;} +.mc-dlg-title { float: left; font-size: 12px; font-weight: bold; } +.mc-dlg-close { background:url("../lib/mc/images/w_hd_bg.png") 0 -64px no-repeat; line-height:20px; position:absolute; right:3px; top:3px; cursor:pointer; height:20px; width:20px; float:right; } +.mc-dlg-close:hover {background-position: 0 -96px; } +.mc-dlg-foot { background-color: #F6F9FC; border-color: #6C92AD; border-style: solid; border-width: 1px 0 0 0; height: 38px; margin-top: -4px; padding: 4px 10px; border-radius: 0 0 4px 4px; } +.mc-dlg-foot .mc-dlg-btn {font-size: 12px; height: 15px; line-height: 15px; margin-right: 8px; padding: 5px 12px;} +.mc-dlg-btn .mc-btn { + padding: 5px 15px; margin-bottom: 0; *margin-left: .3em; + font-size: 14px; line-height: 20px; + color: #333333; text-align: center; text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); + vertical-align: middle; cursor: pointer; + background:#DFDFDF; + background: -webkit-gradient(linear, left top, left bottom, from(#f1f1f1), to(#DFDFDF)); + background: -moz-linear-gradient(top, #f1f1f1, #DFDFDF); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffdfdfdf', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + box-shadow:-1px 0px 1px 0px #fff inset;border-radius:4px; + display: inline-block; *display: inline; + border: 1px solid #bbbbbb; + *zoom: 1; +} +.mc-dlg-btn .mc-btn-green { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #93D727; + background-image: -webkit-gradient(linear, left top, left bottom, from(#93D727), to(#67AC03)); + background-image: -moz-linear-gradient(top, #93D727, #67AC03); + background-image: linear-gradient(to bottom, #93D727, #67AC03); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF93D727', endColorstr='#FF67AC03', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + box-shadow:-1px 0px 1px 0px #fff inset; + border-radius:4px; + border:1px solid #67AC03; +} + +.mc-dlg-nb { padding: 3px; background: url("../lib/mc/images/dlg_bg.png") repeat; } +.mc-dlg-body-nb { border-radius: 4px; border:1px solid #666; } +.mc-dlg-nb-close { background:url("../lib/mc/images/win_close.jpg") no-repeat scroll 0 0 transparent; position:absolute; right:6px; top:6px; cursor:pointer; height:32px; width:32px; } +.mc-dlg-nb-tl { background: url("../lib/mc/images/dlg_nb.png") no-repeat scroll -101px 0 transparent; height: 21px; width: 21px; } +.mc-dlg-nb-tc { background: url("../lib/mc/images/dlg_nb_bd.png") repeat-x scroll 0 0 transparent; height: 21px; } +.mc-dlg-nb-tr { background: url("../lib/mc/images/dlg_nb.png") no-repeat scroll -130px 0 transparent; height: 21px; width: 21px; } +.mc-dlg-nb-ml { background: url("../lib/mc/images/dlg_nb.png") repeat-y scroll left top transparent; width: 21px; } +.mc-dlg-nb-mr { background: url("../lib/mc/images/dlg_nb.png") repeat-y scroll right top transparent; width: 21px; } +.mc-dlg-nb-bl { background: url("../lib/mc/images/dlg_nb.png") no-repeat scroll -101px -29px transparent; height: 21px; width: 21px; } +.mc-dlg-nb-bc { background: url("../lib/mc/images/dlg_nb_bd.png") repeat-x scroll 0 -29px transparent; height: 21px; } +.mc-dlg-nb-br { background: url("../lib/mc/images/dlg_nb.png") no-repeat scroll -130px -29px transparent; height: 21px; width: 21px; } + +/** + * Msg + */ +.mc-msg-ct { position:fixed; top:0px; z-index:50000; } +.mc-msg { min-width:120px; border-radius:0 0 6px 6px; min-height:26px; display:block; text-align:center; font-weight:bold; } +.mc-msg.info { background: url("../lib/mc/images/msg_info.png") repeat-x scroll 0 0; border: 1px solid #227700; } +.mc-msg.warn { background: url("../lib/mc/images/msg_warn.png") repeat-x scroll 0 0; border: 1px solid #880000; } +.mc-msg.loading { background: url("../lib/mc/images/msg_loading.png") repeat-x scroll 0 0; } +.mc-msg-content { padding: 6px 20px; color:#FFFFFF; } +.mc-msg-icon { background:url("../lib/mc/images/icon_loading.gif") 100% 100% scroll no-repeat; margin-right:8px; height:14px; width:15px; float:left; display: inline-block; vertical-align:middle;} +.mc-msg-dlg-ct { padding: 25px 10px 30px 75px; position: relative; zoom: 1; } +.mc-msg-dlg-text { font-size: 14px; padding: 0 30px; } +.mc-msg-dlg-icon { position: absolute; left: 25px; top: 20px; width: 32px; height: 32px; background: url(../lib/mc/images/icon-info.gif) no-repeat; } +/** + * Toolbar + */ +.mc-toolbar-ct {clear: both; padding: 5px; white-space: nowrap; border-radius: 5px;} +.mc-toolbar-ct.white {background-color: #fff; border-radius: 0px;} +.mc-toolbar-ct.gray {background-color: #f5f5f5; border-bottom: 1px solid #c7c7c7;} +.mc-toolbar-right {float:right;} +.mc-toolbar-item {float:left; margin-right:10px; line-height:30px;} +/** + * Input + */ +.mc-tips {padding-left:5px;color: red;font-size: 12px; } +.mc-ipt-msg { color: #D90000!important } +.mc-ipt-tip, .mc-textarea-tip {position: absolute;color: #ccc;} +.mc-ipt-tip-show { position: absolute; color: #ccc; left:12px; top:10px;} +.mc-ipt-tip-query { position: absolute; color: #ccc; left:12px; top:3px;} +.mc-ipt-tip-login { color: red;font-size: 12px;display: none;} +/* css for timepicker */ +.ui-timepicker-div .ui-widget-header { margin-bottom: 8px; } +.ui-timepicker-div dl { text-align: left; } +.ui-timepicker-div dl dt { float: left; clear:left; padding: 0 0 0 5px; } +.ui-timepicker-div dl dd { margin: 0 10px 10px 45%; } +.ui-timepicker-div td { font-size: 90%; } +.ui-tpicker-grid-label { background: none; border: none; margin: 0; padding: 0; } +.ui-timepicker-rtl{ direction: rtl; } +.ui-timepicker-rtl dl { text-align: right; padding: 0 5px 0 0; } +.ui-timepicker-rtl dl dt{ float: right; clear: right; } +.ui-timepicker-rtl dl dd { margin: 0 45% 10px 10px; } +/** + * Paging + */ +.mc-pagi-cursor { float:left; cursor:pointer; border:1px solid #c8c7c7; text-align:center; padding:2px 6px; margin-right:8px; } +.mc-pagi-cursor a, .mc-pagi-cursor a:hover { color: #0B3B8C !important; } +.mc-pagi-cursor a:hover { text-decoration: underline; } +.mc-pagi-cursor-act { background-color: #7e96ff; border: 1px solid #5a6f8d; color: white !important; font-weight: bold; } \ No newline at end of file diff --git a/src/main/webapp/css/page.css b/src/main/webapp/css/page.css new file mode 100644 index 0000000..be81f63 --- /dev/null +++ b/src/main/webapp/css/page.css @@ -0,0 +1,28 @@ +.page{ + list-style: none; +} +.page>li{ + float: left; + padding: 5px 10px; + cursor: pointer; +} +.page .pageItem{ + border: solid thin #DDDDDD; + margin: 5px; +} +.page .pageItemActive{ + border: solid thin #0099FF; + margin: 5px; + background-color: #0099FF; + color:white; +} +.page .pageItem:hover{ + border: solid thin #0099FF; + background-color: #0099FF; + color:white; +} +.page .pageItemDisable{ + border: solid thin #DDDDDD; + margin: 5px; + background-color: #DDDDDD; +} \ No newline at end of file diff --git a/src/main/webapp/css/printOut.css b/src/main/webapp/css/printOut.css new file mode 100644 index 0000000..4eadc9b --- /dev/null +++ b/src/main/webapp/css/printOut.css @@ -0,0 +1,159 @@ +.order_print { + position: fixed; + top: 0px; + bottom: 0px; + left: 0px; + right: 0px; + background-color: rgba(0, 0, 0, 0.5); + overflow-y: auto; +} +.printWrap { + width: 710px; + margin:100px auto auto; + background: #ffffff; +} +.printTitle { + width: 100%; + height: 45px; + line-height: 45px; + background: #232227; + color: #ffffff; + text-align: center; +} +.printBtn { + display: inline-block; + width: 96px; + background: #13b7f6; + float: left; + border-right:1px solid #ffffff; +} +.printClose { + display: inline-block; + float: right; +} +.printClose img { + width: 20px; + margin-top: 0; + margin-right: 20px; +} +.printCon { + width:100%; + padding-top:2%; + letter-spacing: 1px; +} +.printCon hr { + width: 90%; + height:0; + border-top:1px solid #959699; +} +.PrintCase,.saveDetail{ + text-align: left; + width: 90%; + margin:0 5%; +} +.sign { + text-align: left; + width: 100%; + background: #e8e8ea; + margin-top: 10px; +} +.PrintCase tr th,.saveDetail tr th{ + font-weight: normal; + color: #666871; + height: 40px; + line-height: 40px; + position: relative; +} +.sign tr th { + font-weight: normal; + color: #666871; + height: 90px; + line-height: 90px; + position: relative; +} +.signList { + width:150px; + margin-left: 40px; + float: left; +} +.printSignList { + display: inline-block; + width: 5px; + height: 10px; + background: #666871; + position: absolute; + left: 25px; + top: 45px; + top: 40px; +} +.signImg { + width: 108px; + height: 40px; + float: left; + margin-top: 25px; +} +.PrintCase tr td { + color: #666871; + height: 30px; + line-height: 30px; + font-size:12px; +} +.PrintCase tr td span { + margin-right: 5px; +} +.PrintCase tr td:nth-child(1){ + width:40%; +} +.PrintCase tr td:nth-child(2){ + width:30%; +} +.PrintCase tr td:nth-child(3){ + width:30%; +} +.printList { + display: inline-block; + width: 5px; + height: 10px; + background: #666871; + position: absolute; + left: -15px; + top: 15px; +} +/* .saveDetail tr td { + width: 50%; + font-size: 12px; + color: #676A73; + height: 30px; + line-height: 30px; +} */ +.saveDetail tr td:nth-child(1) { + width: 20%; + font-size: 12px; + color: #676A73; + height: 30px; + line-height: 30px; +} +.saveDetail tr td:nth-child(2) { + width: 80%; + font-size: 12px; + color: #676A73; + height: 30px; + line-height: 30px; +} +.saveDetail tr td span { + width: 18px; + height: 20px; + display: inline-block; + margin-right: 25px; + border: 1px solid #acadb1; + border-radius: 4px; + color: #676A73; + line-height: 20px; + text-align: center; + letter-spacing: 0; +} +.sign tr th { + width: 50%; + background: #e8e8ea; + height: 90px; +} \ No newline at end of file diff --git a/src/main/webapp/css/search.css b/src/main/webapp/css/search.css new file mode 100644 index 0000000..01b4a85 --- /dev/null +++ b/src/main/webapp/css/search.css @@ -0,0 +1,82 @@ +.search { + margin: 15px 55px 10px 185px; +} +.searchTable { + width:100%; +} +table.searchTable td { + width: 25%; + padding-bottom:5px; +} +table.searchTable td:nth-last-child(1){ + width:25%; + } +table.searchTable td input { + width:63%; + height:28px; + line-height:28px; + border-radius: 5px; + border:1px solid #D2D2D2; + text-indent: 1em; + color:#AFAFAF; +} + +table.searchTable td select{ + width:63%; + height:33px; + line-height:30px; + border-radius: 5px; + border:1px solid #D2D2D2; + text-indent: 1em; + color:#AFAFAF; +} +.Wdate { + padding-left:0; + } +table.searchTable td span { + color:#000000; + text-align: right; +} +input:focus{outline:0 !important} +.searchTable input::-webkit-input-placeholder { + color : #AFAFAF; +} +.searchTable input::-moz-input-placeholder { + color : #AFAFAF; +} +.searchTable input::-ms-input-placeholder { + color : #AFAFAF; +} +.searchTable input::-o-input-placeholder { + color : #AFAFAF; +} +.searchBtn { + background: #036EB7; + border: 1px solid #036EB7; + border-radius: 3px; + color: #ffffff; + padding: 6px 14px; + display: block; + float:right; +} +.searchBtn2 { + background: #ffffff; + border:1px dashed #036EB7; + border-radius: 3px; + color:#036EB7; + padding: 6px 14px; + display: block; + float:right; +} +.searchIcon { + margin-top: -3px; + margin-right: 7px; +} +.textbox .textbox-text { + padding:0; + border-radius: 10px; +} +.inputTitle { + width: 75px; + display: inline-block; +} \ No newline at end of file diff --git a/src/main/webapp/css/style.css b/src/main/webapp/css/style.css new file mode 100644 index 0000000..46681ce --- /dev/null +++ b/src/main/webapp/css/style.css @@ -0,0 +1,1159 @@ +@font-face { + font-family: 'ElegantIcons'; + src:url('fonts/ElegantIcons.eot'); + src:url('fonts/ElegantIcons.eot?#iefix') format('embedded-opentype'), + url('fonts/ElegantIcons.woff') format('woff'), + url('fonts/ElegantIcons.ttf') format('truetype'), + url('fonts/ElegantIcons.svg#ElegantIcons') format('svg'); + font-weight: normal; + font-style: normal; +} + +/* Use the following CSS code if you want to use data attributes for inserting your icons */ +[data-icon]:before { + font-family: 'ElegantIcons'; + content: attr(data-icon); + speak: none; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +/* Use the following CSS code if you want to have a class per icon */ +/* +Instead of a list of all class selectors, +you can use the generic selector below, but it's slower: +[class*="your-class-prefix"] { +*/ +.arrow_up, .arrow_down, .arrow_left, .arrow_right, .arrow_left-up, .arrow_right-up, .arrow_right-down, .arrow_left-down, .arrow-up-down, .arrow_up-down_alt, .arrow_left-right_alt, .arrow_left-right, .arrow_expand_alt2, .arrow_expand_alt, .arrow_condense, .arrow_expand, .arrow_move, .arrow_carrot-up, .arrow_carrot-down, .arrow_carrot-left, .arrow_carrot-right, .arrow_carrot-2up, .arrow_carrot-2down, .arrow_carrot-2left, .arrow_carrot-2right, .arrow_carrot-up_alt2, .arrow_carrot-down_alt2, .arrow_carrot-left_alt2, .arrow_carrot-right_alt2, .arrow_carrot-2up_alt2, .arrow_carrot-2down_alt2, .arrow_carrot-2left_alt2, .arrow_carrot-2right_alt2, .arrow_triangle-up, .arrow_triangle-down, .arrow_triangle-left, .arrow_triangle-right, .arrow_triangle-up_alt2, .arrow_triangle-down_alt2, .arrow_triangle-left_alt2, .arrow_triangle-right_alt2, .arrow_back, .icon_minus-06, .icon_plus, .icon_close, .icon_check, .icon_minus_alt2, .icon_plus_alt2, .icon_close_alt2, .icon_check_alt2, .icon_zoom-out_alt, .icon_zoom-in_alt, .icon_search, .icon_box-empty, .icon_box-selected, .icon_minus-box, .icon_plus-box, .icon_box-checked, .icon_circle-empty, .icon_circle-slelected, .icon_stop_alt2, .icon_stop, .icon_pause_alt2, .icon_pause, .icon_menu, .icon_menu-square_alt2, .icon_menu-circle_alt2, .icon_ul, .icon_ol, .icon_adjust-horiz, .icon_adjust-vert, .icon_document_alt, .icon_documents_alt, .icon_pencil, .icon_pencil-edit_alt, .icon_pencil-edit, .icon_folder-alt, .icon_folder-open_alt, .icon_folder-add_alt, .icon_info_alt, .icon_error-oct_alt, .icon_error-circle_alt, .icon_error-triangle_alt, .icon_question_alt2, .icon_question, .icon_comment_alt, .icon_chat_alt, .icon_vol-mute_alt, .icon_volume-low_alt, .icon_volume-high_alt, .icon_quotations, .icon_quotations_alt2, .icon_clock_alt, .icon_lock_alt, .icon_lock-open_alt, .icon_key_alt, .icon_cloud_alt, .icon_cloud-upload_alt, .icon_cloud-download_alt, .icon_image, .icon_images, .icon_lightbulb_alt, .icon_gift_alt, .icon_house_alt, .icon_genius, .icon_mobile, .icon_tablet, .icon_laptop, .icon_desktop, .icon_camera_alt, .icon_mail_alt, .icon_cone_alt, .icon_ribbon_alt, .icon_bag_alt, .icon_creditcard, .icon_cart_alt, .icon_paperclip, .icon_tag_alt, .icon_tags_alt, .icon_trash_alt, .icon_cursor_alt, .icon_mic_alt, .icon_compass_alt, .icon_pin_alt, .icon_pushpin_alt, .icon_map_alt, .icon_drawer_alt, .icon_toolbox_alt, .icon_book_alt, .icon_calendar, .icon_film, .icon_table, .icon_contacts_alt, .icon_headphones, .icon_lifesaver, .icon_piechart, .icon_refresh, .icon_link_alt, .icon_link, .icon_loading, .icon_blocked, .icon_archive_alt, .icon_heart_alt, .icon_star_alt, .icon_star-half_alt, .icon_star, .icon_star-half, .icon_tools, .icon_tool, .icon_cog, .icon_cogs, .arrow_up_alt, .arrow_down_alt, .arrow_left_alt, .arrow_right_alt, .arrow_left-up_alt, .arrow_right-up_alt, .arrow_right-down_alt, .arrow_left-down_alt, .arrow_condense_alt, .arrow_expand_alt3, .arrow_carrot_up_alt, .arrow_carrot-down_alt, .arrow_carrot-left_alt, .arrow_carrot-right_alt, .arrow_carrot-2up_alt, .arrow_carrot-2dwnn_alt, .arrow_carrot-2left_alt, .arrow_carrot-2right_alt, .arrow_triangle-up_alt, .arrow_triangle-down_alt, .arrow_triangle-left_alt, .arrow_triangle-right_alt, .icon_minus_alt, .icon_plus_alt, .icon_close_alt, .icon_check_alt, .icon_zoom-out, .icon_zoom-in, .icon_stop_alt, .icon_menu-square_alt, .icon_menu-circle_alt, .icon_document, .icon_documents, .icon_pencil_alt, .icon_folder, .icon_folder-open, .icon_folder-add, .icon_folder_upload, .icon_folder_download, .icon_info, .icon_error-circle, .icon_error-oct, .icon_error-triangle, .icon_question_alt, .icon_comment, .icon_chat, .icon_vol-mute, .icon_volume-low, .icon_volume-high, .icon_quotations_alt, .icon_clock, .icon_lock, .icon_lock-open, .icon_key, .icon_cloud, .icon_cloud-upload, .icon_cloud-download, .icon_lightbulb, .icon_gift, .icon_house, .icon_camera, .icon_mail, .icon_cone, .icon_ribbon, .icon_bag, .icon_cart, .icon_tag, .icon_tags, .icon_trash, .icon_cursor, .icon_mic, .icon_compass, .icon_pin, .icon_pushpin, .icon_map, .icon_drawer, .icon_toolbox, .icon_book, .icon_contacts, .icon_archive, .icon_heart, .icon_profile, .icon_group, .icon_grid-2x2, .icon_grid-3x3, .icon_music, .icon_pause_alt, .icon_phone, .icon_upload, .icon_download, .social_facebook, .social_twitter, .social_pinterest, .social_googleplus, .social_tumblr, .social_tumbleupon, .social_wordpress, .social_instagram, .social_dribbble, .social_vimeo, .social_linkedin, .social_rss, .social_deviantart, .social_share, .social_myspace, .social_skype, .social_youtube, .social_picassa, .social_googledrive, .social_flickr, .social_blogger, .social_spotify, .social_delicious, .social_facebook_circle, .social_twitter_circle, .social_pinterest_circle, .social_googleplus_circle, .social_tumblr_circle, .social_stumbleupon_circle, .social_wordpress_circle, .social_instagram_circle, .social_dribbble_circle, .social_vimeo_circle, .social_linkedin_circle, .social_rss_circle, .social_deviantart_circle, .social_share_circle, .social_myspace_circle, .social_skype_circle, .social_youtube_circle, .social_picassa_circle, .social_googledrive_alt2, .social_flickr_circle, .social_blogger_circle, .social_spotify_circle, .social_delicious_circle, .social_facebook_square, .social_twitter_square, .social_pinterest_square, .social_googleplus_square, .social_tumblr_square, .social_stumbleupon_square, .social_wordpress_square, .social_instagram_square, .social_dribbble_square, .social_vimeo_square, .social_linkedin_square, .social_rss_square, .social_deviantart_square, .social_share_square, .social_myspace_square, .social_skype_square, .social_youtube_square, .social_picassa_square, .social_googledrive_square, .social_flickr_square, .social_blogger_square, .social_spotify_square, .social_delicious_square, .icon_printer, .icon_calulator, .icon_building, .icon_floppy, .icon_drive, .icon_search-2, .icon_id, .icon_id-2, .icon_puzzle, .icon_like, .icon_dislike, .icon_mug, .icon_currency, .icon_wallet, .icon_pens, .icon_easel, .icon_flowchart, .icon_datareport, .icon_briefcase, .icon_shield, .icon_percent, .icon_globe, .icon_globe-2, .icon_target, .icon_hourglass, .icon_balance, .icon_rook, .icon_printer-alt, .icon_calculator_alt, .icon_building_alt, .icon_floppy_alt, .icon_drive_alt, .icon_search_alt, .icon_id_alt, .icon_id-2_alt, .icon_puzzle_alt, .icon_like_alt, .icon_dislike_alt, .icon_mug_alt, .icon_currency_alt, .icon_wallet_alt, .icon_pens_alt, .icon_easel_alt, .icon_flowchart_alt, .icon_datareport_alt, .icon_briefcase_alt, .icon_shield_alt, .icon_percent_alt, .icon_globe_alt, .icon_clipboard { + font-family: 'ElegantIcons'; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + -webkit-font-smoothing: antialiased; +} +.arrow_up:before { + content: "\21"; +} +.arrow_down:before { + content: "\22"; +} +.arrow_left:before { + content: "\23"; +} +.arrow_right:before { + content: "\24"; +} +.arrow_left-up:before { + content: "\25"; +} +.arrow_right-up:before { + content: "\26"; +} +.arrow_right-down:before { + content: "\27"; +} +.arrow_left-down:before { + content: "\28"; +} +.arrow-up-down:before { + content: "\29"; +} +.arrow_up-down_alt:before { + content: "\2a"; +} +.arrow_left-right_alt:before { + content: "\2b"; +} +.arrow_left-right:before { + content: "\2c"; +} +.arrow_expand_alt2:before { + content: "\2d"; +} +.arrow_expand_alt:before { + content: "\2e"; +} +.arrow_condense:before { + content: "\2f"; +} +.arrow_expand:before { + content: "\30"; +} +.arrow_move:before { + content: "\31"; +} +.arrow_carrot-up:before { + content: "\32"; +} +.arrow_carrot-down:before { + content: "\33"; +} +.arrow_carrot-left:before { + content: "\34"; +} +.arrow_carrot-right:before { + content: "\35"; +} +.arrow_carrot-2up:before { + content: "\36"; +} +.arrow_carrot-2down:before { + content: "\37"; +} +.arrow_carrot-2left:before { + content: "\38"; +} +.arrow_carrot-2right:before { + content: "\39"; +} +.arrow_carrot-up_alt2:before { + content: "\3a"; +} +.arrow_carrot-down_alt2:before { + content: "\3b"; +} +.arrow_carrot-left_alt2:before { + content: "\3c"; +} +.arrow_carrot-right_alt2:before { + content: "\3d"; +} +.arrow_carrot-2up_alt2:before { + content: "\3e"; +} +.arrow_carrot-2down_alt2:before { + content: "\3f"; +} +.arrow_carrot-2left_alt2:before { + content: "\40"; +} +.arrow_carrot-2right_alt2:before { + content: "\41"; +} +.arrow_triangle-up:before { + content: "\42"; +} +.arrow_triangle-down:before { + content: "\43"; +} +.arrow_triangle-left:before { + content: "\44"; +} +.arrow_triangle-right:before { + content: "\45"; +} +.arrow_triangle-up_alt2:before { + content: "\46"; +} +.arrow_triangle-down_alt2:before { + content: "\47"; +} +.arrow_triangle-left_alt2:before { + content: "\48"; +} +.arrow_triangle-right_alt2:before { + content: "\49"; +} +.arrow_back:before { + content: "\4a"; +} +.icon_minus-06:before { + content: "\4b"; +} +.icon_plus:before { + content: "\4c"; +} +.icon_close:before { + content: "\4d"; +} +.icon_check:before { + content: "\4e"; +} +.icon_minus_alt2:before { + content: "\4f"; +} +.icon_plus_alt2:before { + content: "\50"; +} +.icon_close_alt2:before { + content: "\51"; +} +.icon_check_alt2:before { + content: "\52"; +} +.icon_zoom-out_alt:before { + content: "\53"; +} +.icon_zoom-in_alt:before { + content: "\54"; +} +.icon_search:before { + content: "\55"; +} +.icon_box-empty:before { + content: "\56"; +} +.icon_box-selected:before { + content: "\57"; +} +.icon_minus-box:before { + content: "\58"; +} +.icon_plus-box:before { + content: "\59"; +} +.icon_box-checked:before { + content: "\5a"; +} +.icon_circle-empty:before { + content: "\5b"; +} +.icon_circle-slelected:before { + content: "\5c"; +} +.icon_stop_alt2:before { + content: "\5d"; +} +.icon_stop:before { + content: "\5e"; +} +.icon_pause_alt2:before { + content: "\5f"; +} +.icon_pause:before { + content: "\60"; +} +.icon_menu:before { + content: "\61"; +} +.icon_menu-square_alt2:before { + content: "\62"; +} +.icon_menu-circle_alt2:before { + content: "\63"; +} +.icon_ul:before { + content: "\64"; +} +.icon_ol:before { + content: "\65"; +} +.icon_adjust-horiz:before { + content: "\66"; +} +.icon_adjust-vert:before { + content: "\67"; +} +.icon_document_alt:before { + content: "\68"; +} +.icon_documents_alt:before { + content: "\69"; +} +.icon_pencil:before { + content: "\6a"; +} +.icon_pencil-edit_alt:before { + content: "\6b"; +} +.icon_pencil-edit:before { + content: "\6c"; +} +.icon_folder-alt:before { + content: "\6d"; +} +.icon_folder-open_alt:before { + content: "\6e"; +} +.icon_folder-add_alt:before { + content: "\6f"; +} +.icon_info_alt:before { + content: "\70"; +} +.icon_error-oct_alt:before { + content: "\71"; +} +.icon_error-circle_alt:before { + content: "\72"; +} +.icon_error-triangle_alt:before { + content: "\73"; +} +.icon_question_alt2:before { + content: "\74"; +} +.icon_question:before { + content: "\75"; +} +.icon_comment_alt:before { + content: "\76"; +} +.icon_chat_alt:before { + content: "\77"; +} +.icon_vol-mute_alt:before { + content: "\78"; +} +.icon_volume-low_alt:before { + content: "\79"; +} +.icon_volume-high_alt:before { + content: "\7a"; +} +.icon_quotations:before { + content: "\7b"; +} +.icon_quotations_alt2:before { + content: "\7c"; +} +.icon_clock_alt:before { + content: "\7d"; +} +.icon_lock_alt:before { + content: "\7e"; +} +.icon_lock-open_alt:before { + content: "\e000"; +} +.icon_key_alt:before { + content: "\e001"; +} +.icon_cloud_alt:before { + content: "\e002"; +} +.icon_cloud-upload_alt:before { + content: "\e003"; +} +.icon_cloud-download_alt:before { + content: "\e004"; +} +.icon_image:before { + content: "\e005"; +} +.icon_images:before { + content: "\e006"; +} +.icon_lightbulb_alt:before { + content: "\e007"; +} +.icon_gift_alt:before { + content: "\e008"; +} +.icon_house_alt:before { + content: "\e009"; +} +.icon_genius:before { + content: "\e00a"; +} +.icon_mobile:before { + content: "\e00b"; +} +.icon_tablet:before { + content: "\e00c"; +} +.icon_laptop:before { + content: "\e00d"; +} +.icon_desktop:before { + content: "\e00e"; +} +.icon_camera_alt:before { + content: "\e00f"; +} +.icon_mail_alt:before { + content: "\e010"; +} +.icon_cone_alt:before { + content: "\e011"; +} +.icon_ribbon_alt:before { + content: "\e012"; +} +.icon_bag_alt:before { + content: "\e013"; +} +.icon_creditcard:before { + content: "\e014"; +} +.icon_cart_alt:before { + content: "\e015"; +} +.icon_paperclip:before { + content: "\e016"; +} +.icon_tag_alt:before { + content: "\e017"; +} +.icon_tags_alt:before { + content: "\e018"; +} +.icon_trash_alt:before { + content: "\e019"; +} +.icon_cursor_alt:before { + content: "\e01a"; +} +.icon_mic_alt:before { + content: "\e01b"; +} +.icon_compass_alt:before { + content: "\e01c"; +} +.icon_pin_alt:before { + content: "\e01d"; +} +.icon_pushpin_alt:before { + content: "\e01e"; +} +.icon_map_alt:before { + content: "\e01f"; +} +.icon_drawer_alt:before { + content: "\e020"; +} +.icon_toolbox_alt:before { + content: "\e021"; +} +.icon_book_alt:before { + content: "\e022"; +} +.icon_calendar:before { + content: "\e023"; +} +.icon_film:before { + content: "\e024"; +} +.icon_table:before { + content: "\e025"; +} +.icon_contacts_alt:before { + content: "\e026"; +} +.icon_headphones:before { + content: "\e027"; +} +.icon_lifesaver:before { + content: "\e028"; +} +.icon_piechart:before { + content: "\e029"; +} +.icon_refresh:before { + content: "\e02a"; +} +.icon_link_alt:before { + content: "\e02b"; +} +.icon_link:before { + content: "\e02c"; +} +.icon_loading:before { + content: "\e02d"; +} +.icon_blocked:before { + content: "\e02e"; +} +.icon_archive_alt:before { + content: "\e02f"; +} +.icon_heart_alt:before { + content: "\e030"; +} +.icon_star_alt:before { + content: "\e031"; +} +.icon_star-half_alt:before { + content: "\e032"; +} +.icon_star:before { + content: "\e033"; +} +.icon_star-half:before { + content: "\e034"; +} +.icon_tools:before { + content: "\e035"; +} +.icon_tool:before { + content: "\e036"; +} +.icon_cog:before { + content: "\e037"; +} +.icon_cogs:before { + content: "\e038"; +} +.arrow_up_alt:before { + content: "\e039"; +} +.arrow_down_alt:before { + content: "\e03a"; +} +.arrow_left_alt:before { + content: "\e03b"; +} +.arrow_right_alt:before { + content: "\e03c"; +} +.arrow_left-up_alt:before { + content: "\e03d"; +} +.arrow_right-up_alt:before { + content: "\e03e"; +} +.arrow_right-down_alt:before { + content: "\e03f"; +} +.arrow_left-down_alt:before { + content: "\e040"; +} +.arrow_condense_alt:before { + content: "\e041"; +} +.arrow_expand_alt3:before { + content: "\e042"; +} +.arrow_carrot_up_alt:before { + content: "\e043"; +} +.arrow_carrot-down_alt:before { + content: "\e044"; +} +.arrow_carrot-left_alt:before { + content: "\e045"; +} +.arrow_carrot-right_alt:before { + content: "\e046"; +} +.arrow_carrot-2up_alt:before { + content: "\e047"; +} +.arrow_carrot-2dwnn_alt:before { + content: "\e048"; +} +.arrow_carrot-2left_alt:before { + content: "\e049"; +} +.arrow_carrot-2right_alt:before { + content: "\e04a"; +} +.arrow_triangle-up_alt:before { + content: "\e04b"; +} +.arrow_triangle-down_alt:before { + content: "\e04c"; +} +.arrow_triangle-left_alt:before { + content: "\e04d"; +} +.arrow_triangle-right_alt:before { + content: "\e04e"; +} +.icon_minus_alt:before { + content: "\e04f"; +} +.icon_plus_alt:before { + content: "\e050"; +} +.icon_close_alt:before { + content: "\e051"; +} +.icon_check_alt:before { + content: "\e052"; +} +.icon_zoom-out:before { + content: "\e053"; +} +.icon_zoom-in:before { + content: "\e054"; +} +.icon_stop_alt:before { + content: "\e055"; +} +.icon_menu-square_alt:before { + content: "\e056"; +} +.icon_menu-circle_alt:before { + content: "\e057"; +} +.icon_document:before { + content: "\e058"; +} +.icon_documents:before { + content: "\e059"; +} +.icon_pencil_alt:before { + content: "\e05a"; +} +.icon_folder:before { + content: "\e05b"; +} +.icon_folder-open:before { + content: "\e05c"; +} +.icon_folder-add:before { + content: "\e05d"; +} +.icon_folder_upload:before { + content: "\e05e"; +} +.icon_folder_download:before { + content: "\e05f"; +} +.icon_info:before { + content: "\e060"; +} +.icon_error-circle:before { + content: "\e061"; +} +.icon_error-oct:before { + content: "\e062"; +} +.icon_error-triangle:before { + content: "\e063"; +} +.icon_question_alt:before { + content: "\e064"; +} +.icon_comment:before { + content: "\e065"; +} +.icon_chat:before { + content: "\e066"; +} +.icon_vol-mute:before { + content: "\e067"; +} +.icon_volume-low:before { + content: "\e068"; +} +.icon_volume-high:before { + content: "\e069"; +} +.icon_quotations_alt:before { + content: "\e06a"; +} +.icon_clock:before { + content: "\e06b"; +} +.icon_lock:before { + content: "\e06c"; +} +.icon_lock-open:before { + content: "\e06d"; +} +.icon_key:before { + content: "\e06e"; +} +.icon_cloud:before { + content: "\e06f"; +} +.icon_cloud-upload:before { + content: "\e070"; +} +.icon_cloud-download:before { + content: "\e071"; +} +.icon_lightbulb:before { + content: "\e072"; +} +.icon_gift:before { + content: "\e073"; +} +.icon_house:before { + content: "\e074"; +} +.icon_camera:before { + content: "\e075"; +} +.icon_mail:before { + content: "\e076"; +} +.icon_cone:before { + content: "\e077"; +} +.icon_ribbon:before { + content: "\e078"; +} +.icon_bag:before { + content: "\e079"; +} +.icon_cart:before { + content: "\e07a"; +} +.icon_tag:before { + content: "\e07b"; +} +.icon_tags:before { + content: "\e07c"; +} +.icon_trash:before { + content: "\e07d"; +} +.icon_cursor:before { + content: "\e07e"; +} +.icon_mic:before { + content: "\e07f"; +} +.icon_compass:before { + content: "\e080"; +} +.icon_pin:before { + content: "\e081"; +} +.icon_pushpin:before { + content: "\e082"; +} +.icon_map:before { + content: "\e083"; +} +.icon_drawer:before { + content: "\e084"; +} +.icon_toolbox:before { + content: "\e085"; +} +.icon_book:before { + content: "\e086"; +} +.icon_contacts:before { + content: "\e087"; +} +.icon_archive:before { + content: "\e088"; +} +.icon_heart:before { + content: "\e089"; +} +.icon_profile:before { + content: "\e08a"; +} +.icon_group:before { + content: "\e08b"; +} +.icon_grid-2x2:before { + content: "\e08c"; +} +.icon_grid-3x3:before { + content: "\e08d"; +} +.icon_music:before { + content: "\e08e"; +} +.icon_pause_alt:before { + content: "\e08f"; +} +.icon_phone:before { + content: "\e090"; +} +.icon_upload:before { + content: "\e091"; +} +.icon_download:before { + content: "\e092"; +} +.social_facebook:before { + content: "\e093"; +} +.social_twitter:before { + content: "\e094"; +} +.social_pinterest:before { + content: "\e095"; +} +.social_googleplus:before { + content: "\e096"; +} +.social_tumblr:before { + content: "\e097"; +} +.social_tumbleupon:before { + content: "\e098"; +} +.social_wordpress:before { + content: "\e099"; +} +.social_instagram:before { + content: "\e09a"; +} +.social_dribbble:before { + content: "\e09b"; +} +.social_vimeo:before { + content: "\e09c"; +} +.social_linkedin:before { + content: "\e09d"; +} +.social_rss:before { + content: "\e09e"; +} +.social_deviantart:before { + content: "\e09f"; +} +.social_share:before { + content: "\e0a0"; +} +.social_myspace:before { + content: "\e0a1"; +} +.social_skype:before { + content: "\e0a2"; +} +.social_youtube:before { + content: "\e0a3"; +} +.social_picassa:before { + content: "\e0a4"; +} +.social_googledrive:before { + content: "\e0a5"; +} +.social_flickr:before { + content: "\e0a6"; +} +.social_blogger:before { + content: "\e0a7"; +} +.social_spotify:before { + content: "\e0a8"; +} +.social_delicious:before { + content: "\e0a9"; +} +.social_facebook_circle:before { + content: "\e0aa"; +} +.social_twitter_circle:before { + content: "\e0ab"; +} +.social_pinterest_circle:before { + content: "\e0ac"; +} +.social_googleplus_circle:before { + content: "\e0ad"; +} +.social_tumblr_circle:before { + content: "\e0ae"; +} +.social_stumbleupon_circle:before { + content: "\e0af"; +} +.social_wordpress_circle:before { + content: "\e0b0"; +} +.social_instagram_circle:before { + content: "\e0b1"; +} +.social_dribbble_circle:before { + content: "\e0b2"; +} +.social_vimeo_circle:before { + content: "\e0b3"; +} +.social_linkedin_circle:before { + content: "\e0b4"; +} +.social_rss_circle:before { + content: "\e0b5"; +} +.social_deviantart_circle:before { + content: "\e0b6"; +} +.social_share_circle:before { + content: "\e0b7"; +} +.social_myspace_circle:before { + content: "\e0b8"; +} +.social_skype_circle:before { + content: "\e0b9"; +} +.social_youtube_circle:before { + content: "\e0ba"; +} +.social_picassa_circle:before { + content: "\e0bb"; +} +.social_googledrive_alt2:before { + content: "\e0bc"; +} +.social_flickr_circle:before { + content: "\e0bd"; +} +.social_blogger_circle:before { + content: "\e0be"; +} +.social_spotify_circle:before { + content: "\e0bf"; +} +.social_delicious_circle:before { + content: "\e0c0"; +} +.social_facebook_square:before { + content: "\e0c1"; +} +.social_twitter_square:before { + content: "\e0c2"; +} +.social_pinterest_square:before { + content: "\e0c3"; +} +.social_googleplus_square:before { + content: "\e0c4"; +} +.social_tumblr_square:before { + content: "\e0c5"; +} +.social_stumbleupon_square:before { + content: "\e0c6"; +} +.social_wordpress_square:before { + content: "\e0c7"; +} +.social_instagram_square:before { + content: "\e0c8"; +} +.social_dribbble_square:before { + content: "\e0c9"; +} +.social_vimeo_square:before { + content: "\e0ca"; +} +.social_linkedin_square:before { + content: "\e0cb"; +} +.social_rss_square:before { + content: "\e0cc"; +} +.social_deviantart_square:before { + content: "\e0cd"; +} +.social_share_square:before { + content: "\e0ce"; +} +.social_myspace_square:before { + content: "\e0cf"; +} +.social_skype_square:before { + content: "\e0d0"; +} +.social_youtube_square:before { + content: "\e0d1"; +} +.social_picassa_square:before { + content: "\e0d2"; +} +.social_googledrive_square:before { + content: "\e0d3"; +} +.social_flickr_square:before { + content: "\e0d4"; +} +.social_blogger_square:before { + content: "\e0d5"; +} +.social_spotify_square:before { + content: "\e0d6"; +} +.social_delicious_square:before { + content: "\e0d7"; +} +.icon_printer:before { + content: "\e103"; +} +.icon_calulator:before { + content: "\e0ee"; +} +.icon_building:before { + content: "\e0ef"; +} +.icon_floppy:before { + content: "\e0e8"; +} +.icon_drive:before { + content: "\e0ea"; +} +.icon_search-2:before { + content: "\e101"; +} +.icon_id:before { + content: "\e107"; +} +.icon_id-2:before { + content: "\e108"; +} +.icon_puzzle:before { + content: "\e102"; +} +.icon_like:before { + content: "\e106"; +} +.icon_dislike:before { + content: "\e0eb"; +} +.icon_mug:before { + content: "\e105"; +} +.icon_currency:before { + content: "\e0ed"; +} +.icon_wallet:before { + content: "\e100"; +} +.icon_pens:before { + content: "\e104"; +} +.icon_easel:before { + content: "\e0e9"; +} +.icon_flowchart:before { + content: "\e109"; +} +.icon_datareport:before { + content: "\e0ec"; +} +.icon_briefcase:before { + content: "\e0fe"; +} +.icon_shield:before { + content: "\e0f6"; +} +.icon_percent:before { + content: "\e0fb"; +} +.icon_globe:before { + content: "\e0e2"; +} +.icon_globe-2:before { + content: "\e0e3"; +} +.icon_target:before { + content: "\e0f5"; +} +.icon_hourglass:before { + content: "\e0e1"; +} +.icon_balance:before { + content: "\e0ff"; +} +.icon_rook:before { + content: "\e0f8"; +} +.icon_printer-alt:before { + content: "\e0fa"; +} +.icon_calculator_alt:before { + content: "\e0e7"; +} +.icon_building_alt:before { + content: "\e0fd"; +} +.icon_floppy_alt:before { + content: "\e0e4"; +} +.icon_drive_alt:before { + content: "\e0e5"; +} +.icon_search_alt:before { + content: "\e0f7"; +} +.icon_id_alt:before { + content: "\e0e0"; +} +.icon_id-2_alt:before { + content: "\e0fc"; +} +.icon_puzzle_alt:before { + content: "\e0f9"; +} +.icon_like_alt:before { + content: "\e0dd"; +} +.icon_dislike_alt:before { + content: "\e0f1"; +} +.icon_mug_alt:before { + content: "\e0dc"; +} +.icon_currency_alt:before { + content: "\e0f3"; +} +.icon_wallet_alt:before { + content: "\e0d8"; +} +.icon_pens_alt:before { + content: "\e0db"; +} +.icon_easel_alt:before { + content: "\e0f0"; +} +.icon_flowchart_alt:before { + content: "\e0df"; +} +.icon_datareport_alt:before { + content: "\e0f2"; +} +.icon_briefcase_alt:before { + content: "\e0f4"; +} +.icon_shield_alt:before { + content: "\e0d9"; +} +.icon_percent_alt:before { + content: "\e0da"; +} +.icon_globe_alt:before { + content: "\e0de"; +} +.icon_clipboard:before { + content: "\e0e6"; +} + + + .glyph { + float: left; + text-align: center; + padding: .75em; + margin: .4em 1.5em .75em 0; + width: 6em; +text-shadow: none; + } + .glyph_big { + font-size: 128px; + color: #59c5dc; + float: left; + margin-right: 20px; + } + + .glyph div { padding-bottom: 10px;} + + .glyph input { + font-family: consolas, monospace; + font-size: 12px; + width: 100%; + text-align: center; + border: 0; + box-shadow: 0 0 0 1px #ccc; + padding: .2em; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + } + .centered { + margin-left: auto; + margin-right: auto; + } + .glyph .fs1 { + font-size: 2em; + } + + diff --git a/src/main/webapp/css/themes/black/accordion.css b/src/main/webapp/css/themes/black/accordion.css new file mode 100644 index 0000000..b2dba52 --- /dev/null +++ b/src/main/webapp/css/themes/black/accordion.css @@ -0,0 +1,89 @@ +.accordion { + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.accordion .accordion-header { + border-width: 0 0 1px; + cursor: pointer; +} +.accordion .accordion-body { + border-width: 0 0 1px; +} +.accordion-noborder { + border-width: 0; +} +.accordion-noborder .accordion-header { + border-width: 0 0 1px; +} +.accordion-noborder .accordion-body { + border-width: 0 0 1px; +} +.accordion-collapse { + background: url('images/accordion_arrows.png') no-repeat 0 0; +} +.accordion-expand { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.accordion { + background: #666; + border-color: #000; +} +.accordion .accordion-header { + background: #3d3d3d; + filter: none; +} +.accordion .accordion-header-selected { + background: #0052A3; +} +.accordion .accordion-header-selected .panel-title { + color: #fff; +} +.accordion .panel-last > .accordion-header { + border-bottom-color: #3d3d3d; +} +.accordion .panel-last > .accordion-body { + border-bottom-color: #666; +} +.accordion .panel-last > .accordion-header-selected, +.accordion .panel-last > .accordion-header-border { + border-bottom-color: #000; +} +.accordion> .panel-hleft { + float: left; +} +.accordion> .panel-hleft>.panel-header { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft> .panel-body { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft.panel-last > .accordion-header { + border-right-color: #3d3d3d; +} +.accordion> .panel-hleft.panel-last > .accordion-body { + border-right-color: #666; +} +.accordion> .panel-hleft.panel-last > .accordion-header-selected, +.accordion> .panel-hleft.panel-last > .accordion-header-border { + border-right-color: #000; +} +.accordion> .panel-hright { + float: right; +} +.accordion> .panel-hright>.panel-header { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright> .panel-body { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright.panel-last > .accordion-header { + border-left-color: #3d3d3d; +} +.accordion> .panel-hright.panel-last > .accordion-body { + border-left-color: #666; +} +.accordion> .panel-hright.panel-last > .accordion-header-selected, +.accordion> .panel-hright.panel-last > .accordion-header-border { + border-left-color: #000; +} diff --git a/src/main/webapp/css/themes/black/calendar.css b/src/main/webapp/css/themes/black/calendar.css new file mode 100644 index 0000000..5e71d3e --- /dev/null +++ b/src/main/webapp/css/themes/black/calendar.css @@ -0,0 +1,202 @@ +.calendar { + border-width: 1px; + border-style: solid; + padding: 1px; + overflow: hidden; +} +.calendar table { + table-layout: fixed; + border-collapse: separate; + font-size: 12px; + width: 100%; + height: 100%; +} +.calendar table td, +.calendar table th { + font-size: 12px; +} +.calendar-noborder { + border: 0; +} +.calendar-header { + position: relative; + height: 22px; +} +.calendar-title { + text-align: center; + height: 22px; +} +.calendar-title span { + position: relative; + display: inline-block; + top: 2px; + padding: 0 3px; + height: 18px; + line-height: 18px; + font-size: 12px; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-prevmonth, +.calendar-nextmonth, +.calendar-prevyear, +.calendar-nextyear { + position: absolute; + top: 50%; + margin-top: -7px; + width: 14px; + height: 14px; + cursor: pointer; + font-size: 1px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-prevmonth { + left: 20px; + background: url('images/calendar_arrows.png') no-repeat -18px -2px; +} +.calendar-nextmonth { + right: 20px; + background: url('images/calendar_arrows.png') no-repeat -34px -2px; +} +.calendar-prevyear { + left: 3px; + background: url('images/calendar_arrows.png') no-repeat -1px -2px; +} +.calendar-nextyear { + right: 3px; + background: url('images/calendar_arrows.png') no-repeat -49px -2px; +} +.calendar-body { + position: relative; +} +.calendar-body th, +.calendar-body td { + text-align: center; +} +.calendar-day { + border: 0; + padding: 1px; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-other-month { + opacity: 0.3; + filter: alpha(opacity=30); +} +.calendar-disabled { + opacity: 0.6; + filter: alpha(opacity=60); + cursor: default; +} +.calendar-menu { + position: absolute; + top: 0; + left: 0; + width: 180px; + height: 150px; + padding: 5px; + font-size: 12px; + display: none; + overflow: hidden; +} +.calendar-menu-year-inner { + text-align: center; + padding-bottom: 5px; +} +.calendar-menu-year { + width: 50px; + text-align: center; + border-width: 1px; + border-style: solid; + outline-style: none; + resize: none; + margin: 0; + padding: 2px; + font-weight: bold; + font-size: 12px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-menu-prev, +.calendar-menu-next { + display: inline-block; + width: 21px; + height: 21px; + vertical-align: top; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-menu-prev { + margin-right: 10px; + background: url('images/calendar_arrows.png') no-repeat 2px 2px; +} +.calendar-menu-next { + margin-left: 10px; + background: url('images/calendar_arrows.png') no-repeat -45px 2px; +} +.calendar-menu-month { + text-align: center; + cursor: pointer; + font-weight: bold; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-body th, +.calendar-menu-month { + color: #ffffff; +} +.calendar-day { + color: #fff; +} +.calendar-sunday { + color: #CC2222; +} +.calendar-saturday { + color: #00ee00; +} +.calendar-today { + color: #0000ff; +} +.calendar-menu-year { + border-color: #000; +} +.calendar { + border-color: #000; +} +.calendar-header { + background: #3d3d3d; +} +.calendar-body, +.calendar-menu { + background: #666; +} +.calendar-body th { + background: #555; + padding: 2px 0; +} +.calendar-hover, +.calendar-nav-hover, +.calendar-menu-hover { + background-color: #777; + color: #fff; +} +.calendar-hover { + border: 1px solid #555; + padding: 0; +} +.calendar-selected { + background-color: #0052A3; + color: #fff; + border: 1px solid #00458a; + padding: 0; +} diff --git a/src/main/webapp/css/themes/black/combo.css b/src/main/webapp/css/themes/black/combo.css new file mode 100644 index 0000000..0798ce1 --- /dev/null +++ b/src/main/webapp/css/themes/black/combo.css @@ -0,0 +1,35 @@ +.combo-arrow { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.combo-arrow-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.combo-panel { + overflow: auto; +} +.combo-arrow { + background: url('images/combo_arrow.png') no-repeat center center; +} +.combo-panel { + background-color: #666; +} +.combo-arrow { + background-color: #3d3d3d; +} +.combo-arrow-hover { + background-color: #777; +} +.combo-arrow:hover { + background-color: #777; +} +.combo .textbox-icon-disabled:hover { + cursor: default; +} diff --git a/src/main/webapp/css/themes/black/combobox.css b/src/main/webapp/css/themes/black/combobox.css new file mode 100644 index 0000000..27b4096 --- /dev/null +++ b/src/main/webapp/css/themes/black/combobox.css @@ -0,0 +1,39 @@ +.combobox-item, +.combobox-group, +.combobox-stick { + font-size: 12px; + padding: 3px; +} +.combobox-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.combobox-gitem { + padding-left: 10px; +} +.combobox-group, +.combobox-stick { + font-weight: bold; +} +.combobox-stick { + position: absolute; + top: 1px; + left: 1px; + right: 1px; + background: inherit; +} +.combobox-item-hover { + background-color: #777; + color: #fff; +} +.combobox-item-selected { + background-color: #0052A3; + color: #fff; +} +.combobox-icon { + display: inline-block; + width: 16px; + height: 16px; + vertical-align: middle; + margin-right: 2px; +} diff --git a/src/main/webapp/css/themes/black/datagrid.css b/src/main/webapp/css/themes/black/datagrid.css new file mode 100644 index 0000000..3559be7 --- /dev/null +++ b/src/main/webapp/css/themes/black/datagrid.css @@ -0,0 +1,288 @@ +.datagrid .panel-body { + overflow: hidden; + position: relative; +} +.datagrid-view { + position: relative; + overflow: hidden; +} +.datagrid-view1, +.datagrid-view2 { + position: absolute; + overflow: hidden; + top: 0; +} +.datagrid-view1 { + left: 0; +} +.datagrid-view2 { + right: 0; +} +.datagrid-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: 0.3; + filter: alpha(opacity=30); + display: none; +} +.datagrid-mask-msg { + position: absolute; + top: 50%; + margin-top: -20px; + padding: 10px 5px 10px 30px; + width: auto; + height: 16px; + border-width: 2px; + border-style: solid; + display: none; +} +.datagrid-empty { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 25px; + line-height: 25px; + text-align: center; +} +.datagrid-sort-icon { + padding: 0; + display: none; +} +.datagrid-toolbar { + height: auto; + padding: 1px 2px; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #444; + border-right: 1px solid #777; + margin: 2px 1px; +} +.datagrid .datagrid-pager { + display: block; + margin: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.datagrid .datagrid-pager-top { + border-width: 0 0 1px 0; +} +.datagrid-header { + overflow: hidden; + cursor: default; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-header-inner { + float: left; + width: 10000px; +} +.datagrid-header-row, +.datagrid-row { + height: 25px; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-width: 0 1px 1px 0; + border-style: dotted; + margin: 0; + padding: 0; +} +.datagrid-cell, +.datagrid-cell-group, +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + margin: 0; + padding: 0 4px; + white-space: nowrap; + word-wrap: normal; + overflow: hidden; + height: 18px; + line-height: 18px; + font-size: 12px; +} +.datagrid-header .datagrid-cell { + height: auto; +} +.datagrid-header .datagrid-cell span { + font-size: 12px; +} +.datagrid-cell-group { + text-align: center; + text-overflow: ellipsis; +} +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + width: 30px; + text-align: center; + margin: 0; + padding: 0; +} +.datagrid-body { + margin: 0; + padding: 0; + overflow: auto; + zoom: 1; +} +.datagrid-view1 .datagrid-body-inner { + padding-bottom: 20px; +} +.datagrid-view1 .datagrid-body { + overflow: hidden; +} +.datagrid-footer { + overflow: hidden; +} +.datagrid-footer-inner { + border-width: 1px 0 0 0; + border-style: solid; + width: 10000px; + float: left; +} +.datagrid-row-editing .datagrid-cell { + height: auto; +} +.datagrid-header-check, +.datagrid-cell-check { + padding: 0; + width: 27px; + height: 18px; + font-size: 1px; + text-align: center; + overflow: hidden; +} +.datagrid-header-check input, +.datagrid-cell-check input { + margin: 0; + padding: 0; + width: 15px; + height: 18px; +} +.datagrid-resize-proxy { + position: absolute; + width: 1px; + height: 10000px; + top: 0; + cursor: e-resize; + display: none; +} +.datagrid-body .datagrid-editable { + margin: 0; + padding: 0; +} +.datagrid-body .datagrid-editable table { + width: 100%; + height: 100%; +} +.datagrid-body .datagrid-editable td { + border: 0; + margin: 0; + padding: 0; +} +.datagrid-view .datagrid-editable-input { + margin: 0; + padding: 2px 4px; + border: 1px solid #000; + font-size: 12px; + outline-style: none; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-view .validatebox-invalid { + border-color: #ffa8a8; +} +.datagrid-sort .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -64px center; +} +.datagrid-sort-desc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -16px center; +} +.datagrid-sort-asc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat 0px center; +} +.datagrid-row-collapse { + background: url('images/datagrid_icons.png') no-repeat -48px center; +} +.datagrid-row-expand { + background: url('images/datagrid_icons.png') no-repeat -32px center; +} +.datagrid-mask-msg { + background: #666 url('images/loading.gif') no-repeat scroll 5px center; +} +.datagrid-header, +.datagrid-td-rownumber { + background-color: #444; + background: -webkit-linear-gradient(top,#4c4c4c 0,#3f3f3f 100%); + background: -moz-linear-gradient(top,#4c4c4c 0,#3f3f3f 100%); + background: -o-linear-gradient(top,#4c4c4c 0,#3f3f3f 100%); + background: linear-gradient(to bottom,#4c4c4c 0,#3f3f3f 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4c4c4c,endColorstr=#3f3f3f,GradientType=0); +} +.datagrid-cell-rownumber { + color: #fff; +} +.datagrid-resize-proxy { + background: #cccccc; +} +.datagrid-mask { + background: #000; +} +.datagrid-mask-msg { + border-color: #000; +} +.datagrid-toolbar, +.datagrid-pager { + background: #555; +} +.datagrid-header, +.datagrid-toolbar, +.datagrid-pager, +.datagrid-footer-inner { + border-color: #222; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-color: #222; +} +.datagrid-htable, +.datagrid-btable, +.datagrid-ftable { + color: #fff; + border-collapse: separate; +} +.datagrid-row-alt { + background: #555; +} +.datagrid-row-over, +.datagrid-header td.datagrid-header-over { + background: #777; + color: #fff; + cursor: default; +} +.datagrid-row-selected { + background: #0052A3; + color: #fff; +} +.datagrid-row-editing .textbox, +.datagrid-row-editing .textbox-text { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} diff --git a/src/main/webapp/css/themes/black/datalist.css b/src/main/webapp/css/themes/black/datalist.css new file mode 100644 index 0000000..94dd67e --- /dev/null +++ b/src/main/webapp/css/themes/black/datalist.css @@ -0,0 +1,95 @@ +.datalist .datagrid-header { + border-width: 0; +} +.datalist .datagrid-group, +.m-list .m-list-group { + height: 25px; + line-height: 25px; + font-weight: bold; + overflow: hidden; + background-color: #444; + border-style: solid; + border-width: 0 0 1px 0; + border-color: #222; +} +.datalist .datagrid-group-expander { + display: none; +} +.datalist .datagrid-group-title { + padding: 0 4px; +} +.datalist .datagrid-btable { + width: 100%; + table-layout: fixed; +} +.datalist .datagrid-row td { + border-style: solid; + border-left-color: transparent; + border-right-color: transparent; + border-bottom-width: 0; +} +.datalist-lines .datagrid-row td { + border-bottom-width: 1px; +} +.datalist .datagrid-cell, +.m-list li { + width: auto; + height: auto; + padding: 2px 4px; + line-height: 18px; + position: relative; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link, +.m-list li>a { + display: block; + position: relative; + cursor: pointer; + color: #fff; + text-decoration: none; + overflow: hidden; + margin: -2px -4px; + padding: 2px 4px; + padding-right: 16px; + line-height: 18px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link::after, +.m-list li>a::after { + position: absolute; + display: block; + width: 8px; + height: 8px; + content: ''; + right: 6px; + top: 50%; + margin-top: -4px; + border-style: solid; + border-width: 1px 1px 0 0; + -ms-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -webkit-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); +} +.m-list { + margin: 0; + padding: 0; + list-style: none; +} +.m-list li { + border-style: solid; + border-width: 0 0 1px 0; + border-color: #222; +} +.m-list li>a:hover { + background: #777; + color: #fff; +} +.m-list .m-list-group { + padding: 0 4px; +} diff --git a/src/main/webapp/css/themes/black/datebox.css b/src/main/webapp/css/themes/black/datebox.css new file mode 100644 index 0000000..f5b6bb7 --- /dev/null +++ b/src/main/webapp/css/themes/black/datebox.css @@ -0,0 +1,36 @@ +.datebox-calendar-inner { + height: 180px; +} +.datebox-button { + padding: 0 5px; + text-align: center; +} +.datebox-button a { + line-height: 22px; + font-size: 12px; + font-weight: bold; + text-decoration: none; + opacity: 0.6; + filter: alpha(opacity=60); +} +.datebox-button a:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.datebox-current, +.datebox-close { + float: left; +} +.datebox-close { + float: right; +} +.datebox .combo-arrow { + background-image: url('images/datebox_arrow.png'); + background-position: center center; +} +.datebox-button { + background-color: #555; +} +.datebox-button a { + color: #fff; +} diff --git a/src/main/webapp/css/themes/black/dialog.css b/src/main/webapp/css/themes/black/dialog.css new file mode 100644 index 0000000..4a6f36e --- /dev/null +++ b/src/main/webapp/css/themes/black/dialog.css @@ -0,0 +1,47 @@ +.dialog-content { + overflow: auto; +} +.dialog-toolbar { + position: relative; + padding: 2px 5px; +} +.dialog-tool-separator { + float: left; + height: 24px; + border-left: 1px solid #444; + border-right: 1px solid #777; + margin: 2px 1px; +} +.dialog-button { + position: relative; + top: -1px; + padding: 5px; + text-align: right; +} +.dialog-button .l-btn { + margin-left: 5px; +} +.dialog-toolbar, +.dialog-button { + background: #555; + border-width: 1px; + border-style: solid; +} +.dialog-toolbar { + border-color: #000 #000 #222 #000; +} +.dialog-button { + border-color: #222 #000 #000 #000; +} +.window-thinborder .dialog-toolbar { + border-left: transparent; + border-right: transparent; + border-top-color: #555; +} +.window-thinborder .dialog-button { + top: 0px; + padding: 5px 8px 8px 8px; + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} diff --git a/src/main/webapp/css/themes/black/easyui.css b/src/main/webapp/css/themes/black/easyui.css new file mode 100644 index 0000000..91149e3 --- /dev/null +++ b/src/main/webapp/css/themes/black/easyui.css @@ -0,0 +1,3220 @@ +.panel { + overflow: hidden; + text-align: left; + margin: 0; + border: 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.panel-header, +.panel-body { + border-width: 1px; + border-style: solid; +} +.panel-header { + padding: 5px; + position: relative; +} +.panel-title { + background: url('images/blank.gif') no-repeat; +} +.panel-header-noborder { + border-width: 0 0 1px 0; +} +.panel-body { + overflow: auto; + border-top-width: 0; + padding: 0; +} +.panel-body-noheader { + border-top-width: 1px; +} +.panel-body-noborder { + border-width: 0px; +} +.panel-body-nobottom { + border-bottom-width: 0; +} +.panel-with-icon { + padding-left: 18px; +} +.panel-icon, +.panel-tool { + position: absolute; + top: 50%; + margin-top: -8px; + height: 16px; + overflow: hidden; +} +.panel-icon { + left: 5px; + width: 16px; +} +.panel-tool { + right: 5px; + width: auto; +} +.panel-tool a { + display: inline-block; + width: 16px; + height: 16px; + opacity: 0.6; + filter: alpha(opacity=60); + margin: 0 0 0 2px; + vertical-align: top; +} +.panel-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + background-color: #777; + -moz-border-radius: 3px 3px 3px 3px; + -webkit-border-radius: 3px 3px 3px 3px; + border-radius: 3px 3px 3px 3px; +} +.panel-loading { + padding: 11px 0px 10px 30px; +} +.panel-noscroll { + overflow: hidden; +} +.panel-fit, +.panel-fit body { + height: 100%; + margin: 0; + padding: 0; + border: 0; + overflow: hidden; +} +.panel-loading { + background: url('images/loading.gif') no-repeat 10px 10px; +} +.panel-tool-close { + background: url('images/panel_tools.png') no-repeat -16px 0px; +} +.panel-tool-min { + background: url('images/panel_tools.png') no-repeat 0px 0px; +} +.panel-tool-max { + background: url('images/panel_tools.png') no-repeat 0px -16px; +} +.panel-tool-restore { + background: url('images/panel_tools.png') no-repeat -16px -16px; +} +.panel-tool-collapse { + background: url('images/panel_tools.png') no-repeat -32px 0; +} +.panel-tool-expand { + background: url('images/panel_tools.png') no-repeat -32px -16px; +} +.panel-header, +.panel-body { + border-color: #000; +} +.panel-header { + background-color: #3d3d3d; + background: -webkit-linear-gradient(top,#454545 0,#383838 100%); + background: -moz-linear-gradient(top,#454545 0,#383838 100%); + background: -o-linear-gradient(top,#454545 0,#383838 100%); + background: linear-gradient(to bottom,#454545 0,#383838 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#383838,GradientType=0); +} +.panel-body { + background-color: #666; + color: #fff; + font-size: 12px; +} +.panel-title { + font-size: 12px; + font-weight: bold; + color: #fff; + height: 16px; + line-height: 16px; +} +.panel-footer { + border: 1px solid #000; + overflow: hidden; + background: #555; +} +.panel-footer-noborder { + border-width: 1px 0 0 0; +} +.panel-hleft, +.panel-hright { + position: relative; +} +.panel-hleft>.panel-body, +.panel-hright>.panel-body { + position: absolute; +} +.panel-hleft>.panel-header { + float: left; +} +.panel-hright>.panel-header { + float: right; +} +.panel-hleft>.panel-body { + border-top-width: 1px; + border-left-width: 0; +} +.panel-hright>.panel-body { + border-top-width: 1px; + border-right-width: 0; +} +.panel-hleft>.panel-body-nobottom { + border-bottom-width: 1px; + border-right-width: 0; +} +.panel-hright>.panel-body-nobottom { + border-bottom-width: 1px; + border-left-width: 0; +} +.panel-hleft>.panel-footer { + position: absolute; + right: 0; +} +.panel-hright>.panel-footer { + position: absolute; + left: 0; +} +.panel-hleft>.panel-header-noborder { + border-width: 0 1px 0 0; +} +.panel-hright>.panel-header-noborder { + border-width: 0 0 0 1px; +} +.panel-hleft>.panel-body-noborder { + border-width: 0; +} +.panel-hright>.panel-body-noborder { + border-width: 0; +} +.panel-hleft>.panel-body-noheader { + border-left-width: 1px; +} +.panel-hright>.panel-body-noheader { + border-right-width: 1px; +} +.panel-hleft>.panel-footer-noborder { + border-width: 0 0 0 1px; +} +.panel-hright>.panel-footer-noborder { + border-width: 0 1px 0 0; +} +.panel-hleft>.panel-header .panel-icon, +.panel-hright>.panel-header .panel-icon { + margin-top: 0; + top: 5px; +} +.panel-hleft>.panel-header .panel-title, +.panel-hright>.panel-header .panel-title { + position: absolute; + min-width: 16px; + left: 21px; + top: 5px; + bottom: auto; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.panel-hleft>.panel-header .panel-title-up, +.panel-hright>.panel-header .panel-title-up { + position: absolute; + min-width: 16px; + left: 21px; + top: auto; + bottom: 5px; + text-align: right; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 16px; +} +.panel-hleft>.panel-header .panel-with-icon.panel-title-up, +.panel-hright>.panel-header .panel-with-icon.panel-title-up { + padding-left: 0; + padding-right: 18px; +} +.panel-hleft>.panel-header .panel-tool, +.panel-hright>.panel-header .panel-tool { + top: auto; + bottom: 5px; + width: 16px; + height: auto; + left: 50%; + margin-left: -8px; + margin-top: 0; +} +.panel-hleft>.panel-header .panel-tool a, +.panel-hright>.panel-header .panel-tool a { + margin: 2px 0 0 0; +} +.accordion { + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.accordion .accordion-header { + border-width: 0 0 1px; + cursor: pointer; +} +.accordion .accordion-body { + border-width: 0 0 1px; +} +.accordion-noborder { + border-width: 0; +} +.accordion-noborder .accordion-header { + border-width: 0 0 1px; +} +.accordion-noborder .accordion-body { + border-width: 0 0 1px; +} +.accordion-collapse { + background: url('images/accordion_arrows.png') no-repeat 0 0; +} +.accordion-expand { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.accordion { + background: #666; + border-color: #000; +} +.accordion .accordion-header { + background: #3d3d3d; + filter: none; +} +.accordion .accordion-header-selected { + background: #0052A3; +} +.accordion .accordion-header-selected .panel-title { + color: #fff; +} +.accordion .panel-last > .accordion-header { + border-bottom-color: #3d3d3d; +} +.accordion .panel-last > .accordion-body { + border-bottom-color: #666; +} +.accordion .panel-last > .accordion-header-selected, +.accordion .panel-last > .accordion-header-border { + border-bottom-color: #000; +} +.accordion> .panel-hleft { + float: left; +} +.accordion> .panel-hleft>.panel-header { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft> .panel-body { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft.panel-last > .accordion-header { + border-right-color: #3d3d3d; +} +.accordion> .panel-hleft.panel-last > .accordion-body { + border-right-color: #666; +} +.accordion> .panel-hleft.panel-last > .accordion-header-selected, +.accordion> .panel-hleft.panel-last > .accordion-header-border { + border-right-color: #000; +} +.accordion> .panel-hright { + float: right; +} +.accordion> .panel-hright>.panel-header { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright> .panel-body { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright.panel-last > .accordion-header { + border-left-color: #3d3d3d; +} +.accordion> .panel-hright.panel-last > .accordion-body { + border-left-color: #666; +} +.accordion> .panel-hright.panel-last > .accordion-header-selected, +.accordion> .panel-hright.panel-last > .accordion-header-border { + border-left-color: #000; +} +.window { + overflow: hidden; + padding: 5px; + border-width: 1px; + border-style: solid; +} +.window .window-header { + background: transparent; + padding: 0px 0px 6px 0px; +} +.window .window-body { + border-width: 1px; + border-style: solid; + border-top-width: 0px; +} +.window .window-body-noheader { + border-top-width: 1px; +} +.window .panel-body-nobottom { + border-bottom-width: 0; +} +.window .window-header .panel-icon, +.window .window-header .panel-tool { + top: 50%; + margin-top: -11px; +} +.window .window-header .panel-icon { + left: 1px; +} +.window .window-header .panel-tool { + right: 1px; +} +.window .window-header .panel-with-icon { + padding-left: 18px; +} +.window-proxy { + position: absolute; + overflow: hidden; +} +.window-proxy-mask { + position: absolute; + filter: alpha(opacity=5); + opacity: 0.05; +} +.window-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + filter: alpha(opacity=40); + opacity: 0.40; + font-size: 1px; + overflow: hidden; +} +.window, +.window-shadow { + position: absolute; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.window-shadow { + background: #777; + -moz-box-shadow: 2px 2px 3px #787878; + -webkit-box-shadow: 2px 2px 3px #787878; + box-shadow: 2px 2px 3px #787878; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.window, +.window .window-body { + border-color: #000; +} +.window { + background-color: #3d3d3d; + background: -webkit-linear-gradient(top,#454545 0,#383838 20%); + background: -moz-linear-gradient(top,#454545 0,#383838 20%); + background: -o-linear-gradient(top,#454545 0,#383838 20%); + background: linear-gradient(to bottom,#454545 0,#383838 20%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#383838,GradientType=0); +} +.window-proxy { + border: 1px dashed #000; +} +.window-proxy-mask, +.window-mask { + background: #000; +} +.window .panel-footer { + border: 1px solid #000; + position: relative; + top: -1px; +} +.window-thinborder { + padding: 0; +} +.window-thinborder .window-header { + padding: 5px 5px 6px 5px; +} +.window-thinborder .window-body { + border-width: 0px; +} +.window-thinborder .window-header .panel-icon, +.window-thinborder .window-header .panel-tool { + margin-top: -9px; + margin-left: 5px; + margin-right: 5px; +} +.window-noborder { + border: 0; +} +.window.panel-hleft .window-header { + padding: 0 6px 0 0; +} +.window.panel-hright .window-header { + padding: 0 0 0 6px; +} +.window.panel-hleft>.panel-header .panel-title { + top: auto; + left: 16px; +} +.window.panel-hright>.panel-header .panel-title { + top: auto; + right: 16px; +} +.window.panel-hleft>.panel-header .panel-title-up, +.window.panel-hright>.panel-header .panel-title-up { + bottom: 0; +} +.window.panel-hleft .window-body { + border-width: 1px 1px 1px 0; +} +.window.panel-hright .window-body { + border-width: 1px 0 1px 1px; +} +.window.panel-hleft .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: 0; +} +.window.panel-hright .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: auto; + right: 1px; +} +.window.panel-hleft .window-header .panel-tool, +.window.panel-hright .window-header .panel-tool { + margin-top: 0; + top: auto; + bottom: 1px; + right: auto; + margin-right: 0; + left: 50%; + margin-left: -11px; +} +.window.panel-hright .window-header .panel-tool { + left: auto; + right: 1px; +} +.window-thinborder.panel-hleft .window-header { + padding: 5px 6px 5px 5px; +} +.window-thinborder.panel-hright .window-header { + padding: 5px 5px 5px 6px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title { + left: 21px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title-up, +.window-thinborder.panel-hright>.panel-header .panel-title-up { + bottom: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-icon, +.window-thinborder.panel-hright .window-header .panel-icon { + margin-top: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-tool, +.window-thinborder.panel-hright .window-header .panel-tool { + left: 16px; + bottom: 5px; +} +.dialog-content { + overflow: auto; +} +.dialog-toolbar { + position: relative; + padding: 2px 5px; +} +.dialog-tool-separator { + float: left; + height: 24px; + border-left: 1px solid #444; + border-right: 1px solid #777; + margin: 2px 1px; +} +.dialog-button { + position: relative; + top: -1px; + padding: 5px; + text-align: right; +} +.dialog-button .l-btn { + margin-left: 5px; +} +.dialog-toolbar, +.dialog-button { + background: #555; + border-width: 1px; + border-style: solid; +} +.dialog-toolbar { + border-color: #000 #000 #222 #000; +} +.dialog-button { + border-color: #222 #000 #000 #000; +} +.window-thinborder .dialog-toolbar { + border-left: transparent; + border-right: transparent; + border-top-color: #555; +} +.window-thinborder .dialog-button { + top: 0px; + padding: 5px 8px 8px 8px; + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} +.l-btn { + text-decoration: none; + display: inline-block; + overflow: hidden; + margin: 0; + padding: 0; + cursor: pointer; + outline: none; + text-align: center; + vertical-align: middle; + line-height: normal; +} +.l-btn-plain { + border-width: 0; + padding: 1px; +} +.l-btn-left { + display: inline-block; + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + vertical-align: top; +} +.l-btn-text { + display: inline-block; + vertical-align: top; + width: auto; + line-height: 24px; + font-size: 12px; + padding: 0; + margin: 0 4px; +} +.l-btn-icon { + display: inline-block; + width: 16px; + height: 16px; + line-height: 16px; + position: absolute; + top: 50%; + margin-top: -8px; + font-size: 1px; +} +.l-btn span span .l-btn-empty { + display: inline-block; + margin: 0; + width: 16px; + height: 24px; + font-size: 1px; + vertical-align: top; +} +.l-btn span .l-btn-icon-left { + padding: 0 0 0 20px; + background-position: left center; +} +.l-btn span .l-btn-icon-right { + padding: 0 20px 0 0; + background-position: right center; +} +.l-btn-icon-left .l-btn-text { + margin: 0 4px 0 24px; +} +.l-btn-icon-left .l-btn-icon { + left: 4px; +} +.l-btn-icon-right .l-btn-text { + margin: 0 24px 0 4px; +} +.l-btn-icon-right .l-btn-icon { + right: 4px; +} +.l-btn-icon-top .l-btn-text { + margin: 20px 4px 0 4px; +} +.l-btn-icon-top .l-btn-icon { + top: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-icon-bottom .l-btn-text { + margin: 0 4px 20px 4px; +} +.l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-left .l-btn-empty { + margin: 0 4px; + width: 16px; +} +.l-btn-plain:hover { + padding: 0; +} +.l-btn-focus { + outline: #0000FF dotted thin; +} +.l-btn-large .l-btn-text { + line-height: 40px; +} +.l-btn-large .l-btn-icon { + width: 32px; + height: 32px; + line-height: 32px; + margin-top: -16px; +} +.l-btn-large .l-btn-icon-left .l-btn-text { + margin-left: 40px; +} +.l-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.l-btn-large .l-btn-icon-top .l-btn-text { + margin-top: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-top .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-left .l-btn-empty { + margin: 0 4px; + width: 32px; +} +.l-btn { + color: #fff; + background: #777; + background-repeat: repeat-x; + border: 1px solid #555; + background: -webkit-linear-gradient(top,#919191 0,#6a6a6a 100%); + background: -moz-linear-gradient(top,#919191 0,#6a6a6a 100%); + background: -o-linear-gradient(top,#919191 0,#6a6a6a 100%); + background: linear-gradient(to bottom,#919191 0,#6a6a6a 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#919191,endColorstr=#6a6a6a,GradientType=0); + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.l-btn:hover { + background: #777; + color: #fff; + border: 1px solid #555; + filter: none; +} +.l-btn-plain { + background: transparent; + border-width: 0; + filter: none; +} +.l-btn-outline { + border-width: 1px; + border-color: #555; + padding: 0; +} +.l-btn-plain:hover { + background: #777; + color: #fff; + border: 1px solid #555; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.l-btn-disabled, +.l-btn-disabled:hover { + opacity: 0.5; + cursor: default; + background: #777; + color: #fff; + background: -webkit-linear-gradient(top,#919191 0,#6a6a6a 100%); + background: -moz-linear-gradient(top,#919191 0,#6a6a6a 100%); + background: -o-linear-gradient(top,#919191 0,#6a6a6a 100%); + background: linear-gradient(to bottom,#919191 0,#6a6a6a 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#919191,endColorstr=#6a6a6a,GradientType=0); +} +.l-btn-disabled .l-btn-text, +.l-btn-disabled .l-btn-icon { + filter: alpha(opacity=50); +} +.l-btn-plain-disabled, +.l-btn-plain-disabled:hover { + background: transparent; + filter: alpha(opacity=50); +} +.l-btn-selected, +.l-btn-selected:hover { + background: #000; + filter: none; +} +.l-btn-plain-selected, +.l-btn-plain-selected:hover { + background: #000; +} +.textbox { + position: relative; + border: 1px solid #000; + background-color: #fff; + vertical-align: middle; + display: inline-block; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.textbox .textbox-text { + font-size: 12px; + border: 0; + margin: 0; + padding: 4px; + white-space: normal; + vertical-align: top; + outline-style: none; + resize: none; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.textbox .textbox-text::-ms-clear, +.textbox .textbox-text::-ms-reveal { + display: none; +} +.textbox textarea.textbox-text { + white-space: pre-wrap; +} +.textbox .textbox-prompt { + font-size: 12px; + color: #aaa; +} +.textbox .textbox-bgicon { + background-position: 3px center; + padding-left: 21px; +} +.textbox .textbox-button, +.textbox .textbox-button:hover { + position: absolute; + top: 0; + padding: 0; + vertical-align: top; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.textbox .textbox-button-right, +.textbox .textbox-button-right:hover { + right: 0; + border-width: 0 0 0 1px; +} +.textbox .textbox-button-left, +.textbox .textbox-button-left:hover { + left: 0; + border-width: 0 1px 0 0; +} +.textbox .textbox-button-top, +.textbox .textbox-button-top:hover { + left: 0; + border-width: 0 0 1px 0; +} +.textbox .textbox-button-bottom, +.textbox .textbox-button-bottom:hover { + top: auto; + bottom: 0; + left: 0; + border-width: 1px 0 0 0; +} +.textbox-addon { + position: absolute; + top: 0; +} +.textbox-label { + display: inline-block; + width: 80px; + height: 22px; + line-height: 22px; + vertical-align: middle; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + margin: 0; + padding-right: 5px; +} +.textbox-label-after { + padding-left: 5px; + padding-right: 0; +} +.textbox-label-top { + display: block; + width: auto; + padding: 0; +} +.textbox-disabled, +.textbox-label-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-icon { + display: inline-block; + width: 18px; + height: 20px; + overflow: hidden; + vertical-align: top; + background-position: center center; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); + text-decoration: none; + outline-style: none; +} +.textbox-icon-disabled, +.textbox-icon-readonly { + cursor: default; +} +.textbox-icon:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.textbox-icon-disabled:hover { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-focused { + border-color: #000000; + -moz-box-shadow: 0 0 3px 0 #000; + -webkit-box-shadow: 0 0 3px 0 #000; + box-shadow: 0 0 3px 0 #000; +} +.textbox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; +} +.passwordbox-open { + background: url('images/passwordbox_open.png') no-repeat center center; +} +.passwordbox-close { + background: url('images/passwordbox_close.png') no-repeat center center; +} +.filebox .textbox-value { + vertical-align: top; + position: absolute; + top: 0; + left: -5000px; +} +.filebox-label { + display: inline-block; + position: absolute; + width: 100%; + height: 100%; + cursor: pointer; + left: 0; + top: 0; + z-index: 10; + background: url('images/blank.gif') no-repeat; +} +.l-btn-disabled .filebox-label { + cursor: default; +} +.combo-arrow { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.combo-arrow-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.combo-panel { + overflow: auto; +} +.combo-arrow { + background: url('images/combo_arrow.png') no-repeat center center; +} +.combo-panel { + background-color: #666; +} +.combo-arrow { + background-color: #3d3d3d; +} +.combo-arrow-hover { + background-color: #777; +} +.combo-arrow:hover { + background-color: #777; +} +.combo .textbox-icon-disabled:hover { + cursor: default; +} +.combobox-item, +.combobox-group, +.combobox-stick { + font-size: 12px; + padding: 3px; +} +.combobox-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.combobox-gitem { + padding-left: 10px; +} +.combobox-group, +.combobox-stick { + font-weight: bold; +} +.combobox-stick { + position: absolute; + top: 1px; + left: 1px; + right: 1px; + background: inherit; +} +.combobox-item-hover { + background-color: #777; + color: #fff; +} +.combobox-item-selected { + background-color: #0052A3; + color: #fff; +} +.combobox-icon { + display: inline-block; + width: 16px; + height: 16px; + vertical-align: middle; + margin-right: 2px; +} +.tagbox { + cursor: text; +} +.tagbox .textbox-text { + float: left; +} +.tagbox-label { + position: relative; + display: block; + margin: 4px 0 0 4px; + padding: 0 20px 0 4px; + float: left; + vertical-align: top; + text-decoration: none; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + background: #777; + color: #fff; +} +.tagbox-remove { + background: url('images/tagbox_icons.png') no-repeat -16px center; + position: absolute; + display: block; + width: 16px; + height: 16px; + right: 2px; + top: 50%; + margin-top: -8px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tagbox-remove:hover { + opacity: 1; + filter: alpha(opacity=100); +} +.textbox-disabled .tagbox-label { + cursor: default; +} +.textbox-disabled .tagbox-remove:hover { + cursor: default; + opacity: 0.6; + filter: alpha(opacity=60); +} +.layout { + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + z-index: 0; +} +.layout-panel { + position: absolute; + overflow: hidden; +} +.layout-body { + min-width: 1px; + min-height: 1px; +} +.layout-panel-east, +.layout-panel-west { + z-index: 2; +} +.layout-panel-north, +.layout-panel-south { + z-index: 3; +} +.layout-expand { + position: absolute; + padding: 0px; + font-size: 1px; + cursor: pointer; + z-index: 1; +} +.layout-expand .panel-header, +.layout-expand .panel-body { + background: transparent; + filter: none; + overflow: hidden; +} +.layout-expand .panel-header { + border-bottom-width: 0px; +} +.layout-expand .panel-body { + position: relative; +} +.layout-expand .panel-body .panel-icon { + margin-top: 0; + top: 0; + left: 50%; + margin-left: -8px; +} +.layout-expand-west .panel-header .panel-icon, +.layout-expand-east .panel-header .panel-icon { + display: none; +} +.layout-expand-title { + position: absolute; + top: 0; + left: 21px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.layout-expand-title-up { + position: absolute; + top: 0; + left: 0; + text-align: right; + padding-left: 5px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 0; +} +.layout-expand-with-icon { + top: 18px; +} +.layout-expand .panel-body-noheader .layout-expand-title, +.layout-expand .panel-body-noheader .panel-icon { + top: 5px; +} +.layout-expand .panel-body-noheader .layout-expand-with-icon { + top: 23px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + position: absolute; + font-size: 1px; + display: none; + z-index: 5; +} +.layout-split-proxy-h { + width: 5px; + cursor: e-resize; +} +.layout-split-proxy-v { + height: 5px; + cursor: n-resize; +} +.layout-mask { + position: absolute; + background: #fafafa; + filter: alpha(opacity=10); + opacity: 0.10; + z-index: 4; +} +.layout-button-up { + background: url('images/layout_arrows.png') no-repeat -16px -16px; +} +.layout-button-down { + background: url('images/layout_arrows.png') no-repeat -16px 0; +} +.layout-button-left { + background: url('images/layout_arrows.png') no-repeat 0 0; +} +.layout-button-right { + background: url('images/layout_arrows.png') no-repeat 0 -16px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + background-color: #cccccc; +} +.layout-split-north { + border-bottom: 5px solid #444; +} +.layout-split-south { + border-top: 5px solid #444; +} +.layout-split-east { + border-left: 5px solid #444; +} +.layout-split-west { + border-right: 5px solid #444; +} +.layout-expand { + background-color: #3d3d3d; +} +.layout-expand-over { + background-color: #3d3d3d; +} +.tabs-container { + overflow: hidden; +} +.tabs-header { + border-width: 1px; + border-style: solid; + border-bottom-width: 0; + position: relative; + padding: 0; + padding-top: 2px; + overflow: hidden; +} +.tabs-scroller-left, +.tabs-scroller-right { + position: absolute; + top: auto; + bottom: 0; + width: 18px; + font-size: 1px; + display: none; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.tabs-scroller-left { + left: 0; +} +.tabs-scroller-right { + right: 0; +} +.tabs-tool { + position: absolute; + bottom: 0; + padding: 1px; + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.tabs-header-plain .tabs-tool { + padding: 0 1px; +} +.tabs-wrap { + position: relative; + left: 0; + overflow: hidden; + width: 100%; + margin: 0; + padding: 0; +} +.tabs-scrolling { + margin-left: 18px; + margin-right: 18px; +} +.tabs-disabled { + opacity: 0.3; + filter: alpha(opacity=30); +} +.tabs { + list-style-type: none; + height: 26px; + margin: 0px; + padding: 0px; + padding-left: 4px; + width: 50000px; + border-style: solid; + border-width: 0 0 1px 0; +} +.tabs li { + float: left; + display: inline-block; + margin: 0 4px -1px 0; + padding: 0; + position: relative; + border: 0; +} +.tabs li a.tabs-inner { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0 10px; + height: 25px; + line-height: 25px; + text-align: center; + white-space: nowrap; + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 0 0; + -webkit-border-radius: 5px 5px 0 0; + border-radius: 5px 5px 0 0; +} +.tabs li.tabs-selected a.tabs-inner { + font-weight: bold; + outline: none; +} +.tabs li.tabs-selected a:hover.tabs-inner { + cursor: default; + pointer: default; +} +.tabs li a.tabs-close, +.tabs-p-tool { + position: absolute; + font-size: 1px; + display: block; + height: 12px; + padding: 0; + top: 50%; + margin-top: -6px; + overflow: hidden; +} +.tabs li a.tabs-close { + width: 12px; + right: 5px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs-p-tool { + right: 16px; +} +.tabs-p-tool a { + display: inline-block; + font-size: 1px; + width: 12px; + height: 12px; + margin: 0; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs li a:hover.tabs-close, +.tabs-p-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + cursor: hand; + cursor: pointer; +} +.tabs-with-icon { + padding-left: 18px; +} +.tabs-icon { + position: absolute; + width: 16px; + height: 16px; + left: 10px; + top: 50%; + margin-top: -8px; +} +.tabs-title { + font-size: 12px; +} +.tabs-closable { + padding-right: 8px; +} +.tabs-panels { + margin: 0px; + padding: 0px; + border-width: 1px; + border-style: solid; + border-top-width: 0; + overflow: hidden; +} +.tabs-header-bottom { + border-width: 0 1px 1px 1px; + padding: 0 0 2px 0; +} +.tabs-header-bottom .tabs { + border-width: 1px 0 0 0; +} +.tabs-header-bottom .tabs li { + margin: -1px 4px 0 0; +} +.tabs-header-bottom .tabs li a.tabs-inner { + -moz-border-radius: 0 0 5px 5px; + -webkit-border-radius: 0 0 5px 5px; + border-radius: 0 0 5px 5px; +} +.tabs-header-bottom .tabs-tool { + top: 0; +} +.tabs-header-bottom .tabs-scroller-left, +.tabs-header-bottom .tabs-scroller-right { + top: 0; + bottom: auto; +} +.tabs-panels-top { + border-width: 1px 1px 0 1px; +} +.tabs-header-left { + float: left; + border-width: 1px 0 1px 1px; + padding: 0; +} +.tabs-header-right { + float: right; + border-width: 1px 1px 1px 0; + padding: 0; +} +.tabs-header-left .tabs-wrap, +.tabs-header-right .tabs-wrap { + height: 100%; +} +.tabs-header-left .tabs { + height: 100%; + padding: 4px 0 0 2px; + border-width: 0 1px 0 0; +} +.tabs-header-right .tabs { + height: 100%; + padding: 4px 2px 0 0; + border-width: 0 0 0 1px; +} +.tabs-header-left .tabs li, +.tabs-header-right .tabs li { + display: block; + width: 100%; + position: relative; +} +.tabs-header-left .tabs li { + left: auto; + right: 0; + margin: 0 -1px 4px 0; + float: right; +} +.tabs-header-right .tabs li { + left: 0; + right: auto; + margin: 0 0 4px -1px; + float: left; +} +.tabs-justified li a.tabs-inner { + padding-left: 0; + padding-right: 0; +} +.tabs-header-left .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.tabs-header-right .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 0 5px 5px 0; + -webkit-border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; +} +.tabs-panels-right { + float: right; + border-width: 1px 1px 1px 0; +} +.tabs-panels-left { + float: left; + border-width: 1px 0 1px 1px; +} +.tabs-header-noborder, +.tabs-panels-noborder { + border: 0px; +} +.tabs-header-plain { + border: 0px; + background: transparent; +} +.tabs-pill { + padding-bottom: 3px; +} +.tabs-header-bottom .tabs-pill { + padding-top: 3px; + padding-bottom: 0; +} +.tabs-header-left .tabs-pill { + padding-right: 3px; +} +.tabs-header-right .tabs-pill { + padding-left: 3px; +} +.tabs-header .tabs-pill li a.tabs-inner { + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.tabs-header-narrow, +.tabs-header-narrow .tabs-narrow { + padding: 0; +} +.tabs-narrow li, +.tabs-header-bottom .tabs-narrow li { + margin-left: 0; + margin-right: -1px; +} +.tabs-narrow li.tabs-last, +.tabs-header-bottom .tabs-narrow li.tabs-last { + margin-right: 0; +} +.tabs-header-left .tabs-narrow, +.tabs-header-right .tabs-narrow { + padding-top: 0; +} +.tabs-header-left .tabs-narrow li { + margin-bottom: -1px; + margin-right: -1px; +} +.tabs-header-left .tabs-narrow li.tabs-last, +.tabs-header-right .tabs-narrow li.tabs-last { + margin-bottom: 0; +} +.tabs-header-right .tabs-narrow li { + margin-bottom: -1px; + margin-left: -1px; +} +.tabs-scroller-left { + background: #3d3d3d url('images/tabs_icons.png') no-repeat 1px center; +} +.tabs-scroller-right { + background: #3d3d3d url('images/tabs_icons.png') no-repeat -15px center; +} +.tabs li a.tabs-close { + background: url('images/tabs_icons.png') no-repeat -34px center; +} +.tabs li a.tabs-inner:hover { + background: #777; + color: #fff; + filter: none; +} +.tabs li.tabs-selected a.tabs-inner { + background-color: #666; + color: #fff; + background: -webkit-linear-gradient(top,#454545 0,#666 100%); + background: -moz-linear-gradient(top,#454545 0,#666 100%); + background: -o-linear-gradient(top,#454545 0,#666 100%); + background: linear-gradient(to bottom,#454545 0,#666 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#666,GradientType=0); +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(top,#666 0,#454545 100%); + background: -moz-linear-gradient(top,#666 0,#454545 100%); + background: -o-linear-gradient(top,#666 0,#454545 100%); + background: linear-gradient(to bottom,#666 0,#454545 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#666,endColorstr=#454545,GradientType=0); +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(left,#454545 0,#666 100%); + background: -moz-linear-gradient(left,#454545 0,#666 100%); + background: -o-linear-gradient(left,#454545 0,#666 100%); + background: linear-gradient(to right,#454545 0,#666 100%); + background-repeat: repeat-y; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#666,GradientType=1); +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(left,#666 0,#454545 100%); + background: -moz-linear-gradient(left,#666 0,#454545 100%); + background: -o-linear-gradient(left,#666 0,#454545 100%); + background: linear-gradient(to right,#666 0,#454545 100%); + background-repeat: repeat-y; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#666,endColorstr=#454545,GradientType=1); +} +.tabs li a.tabs-inner { + color: #fff; + background-color: #3d3d3d; + background: -webkit-linear-gradient(top,#454545 0,#383838 100%); + background: -moz-linear-gradient(top,#454545 0,#383838 100%); + background: -o-linear-gradient(top,#454545 0,#383838 100%); + background: linear-gradient(to bottom,#454545 0,#383838 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#383838,GradientType=0); +} +.tabs-header, +.tabs-tool { + background-color: #3d3d3d; +} +.tabs-header-plain { + background: transparent; +} +.tabs-header, +.tabs-scroller-left, +.tabs-scroller-right, +.tabs-tool, +.tabs, +.tabs-panels, +.tabs li a.tabs-inner, +.tabs li.tabs-selected a.tabs-inner, +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, +.tabs-header-left .tabs li.tabs-selected a.tabs-inner, +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-color: #000; +} +.tabs-p-tool a:hover, +.tabs li a:hover.tabs-close, +.tabs-scroller-over { + background-color: #777; +} +.tabs li.tabs-selected a.tabs-inner { + border-bottom: 1px solid #666; +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + border-top: 1px solid #666; +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + border-right: 1px solid #666; +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-left: 1px solid #666; +} +.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { + background: #0052A3; + color: #fff; + filter: none; + border-color: #000; +} +.datagrid .panel-body { + overflow: hidden; + position: relative; +} +.datagrid-view { + position: relative; + overflow: hidden; +} +.datagrid-view1, +.datagrid-view2 { + position: absolute; + overflow: hidden; + top: 0; +} +.datagrid-view1 { + left: 0; +} +.datagrid-view2 { + right: 0; +} +.datagrid-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: 0.3; + filter: alpha(opacity=30); + display: none; +} +.datagrid-mask-msg { + position: absolute; + top: 50%; + margin-top: -20px; + padding: 10px 5px 10px 30px; + width: auto; + height: 16px; + border-width: 2px; + border-style: solid; + display: none; +} +.datagrid-empty { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 25px; + line-height: 25px; + text-align: center; +} +.datagrid-sort-icon { + padding: 0; + display: none; +} +.datagrid-toolbar { + height: auto; + padding: 1px 2px; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #444; + border-right: 1px solid #777; + margin: 2px 1px; +} +.datagrid .datagrid-pager { + display: block; + margin: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.datagrid .datagrid-pager-top { + border-width: 0 0 1px 0; +} +.datagrid-header { + overflow: hidden; + cursor: default; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-header-inner { + float: left; + width: 10000px; +} +.datagrid-header-row, +.datagrid-row { + height: 25px; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-width: 0 1px 1px 0; + border-style: dotted; + margin: 0; + padding: 0; +} +.datagrid-cell, +.datagrid-cell-group, +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + margin: 0; + padding: 0 4px; + white-space: nowrap; + word-wrap: normal; + overflow: hidden; + height: 18px; + line-height: 18px; + font-size: 12px; +} +.datagrid-header .datagrid-cell { + height: auto; +} +.datagrid-header .datagrid-cell span { + font-size: 12px; +} +.datagrid-cell-group { + text-align: center; + text-overflow: ellipsis; +} +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + width: 30px; + text-align: center; + margin: 0; + padding: 0; +} +.datagrid-body { + margin: 0; + padding: 0; + overflow: auto; + zoom: 1; +} +.datagrid-view1 .datagrid-body-inner { + padding-bottom: 20px; +} +.datagrid-view1 .datagrid-body { + overflow: hidden; +} +.datagrid-footer { + overflow: hidden; +} +.datagrid-footer-inner { + border-width: 1px 0 0 0; + border-style: solid; + width: 10000px; + float: left; +} +.datagrid-row-editing .datagrid-cell { + height: auto; +} +.datagrid-header-check, +.datagrid-cell-check { + padding: 0; + width: 27px; + height: 18px; + font-size: 1px; + text-align: center; + overflow: hidden; +} +.datagrid-header-check input, +.datagrid-cell-check input { + margin: 0; + padding: 0; + width: 15px; + height: 18px; +} +.datagrid-resize-proxy { + position: absolute; + width: 1px; + height: 10000px; + top: 0; + cursor: e-resize; + display: none; +} +.datagrid-body .datagrid-editable { + margin: 0; + padding: 0; +} +.datagrid-body .datagrid-editable table { + width: 100%; + height: 100%; +} +.datagrid-body .datagrid-editable td { + border: 0; + margin: 0; + padding: 0; +} +.datagrid-view .datagrid-editable-input { + margin: 0; + padding: 2px 4px; + border: 1px solid #000; + font-size: 12px; + outline-style: none; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-view .validatebox-invalid { + border-color: #ffa8a8; +} +.datagrid-sort .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -64px center; +} +.datagrid-sort-desc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -16px center; +} +.datagrid-sort-asc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat 0px center; +} +.datagrid-row-collapse { + background: url('images/datagrid_icons.png') no-repeat -48px center; +} +.datagrid-row-expand { + background: url('images/datagrid_icons.png') no-repeat -32px center; +} +.datagrid-mask-msg { + background: #666 url('images/loading.gif') no-repeat scroll 5px center; +} +.datagrid-header, +.datagrid-td-rownumber { + background-color: #444; + background: -webkit-linear-gradient(top,#4c4c4c 0,#3f3f3f 100%); + background: -moz-linear-gradient(top,#4c4c4c 0,#3f3f3f 100%); + background: -o-linear-gradient(top,#4c4c4c 0,#3f3f3f 100%); + background: linear-gradient(to bottom,#4c4c4c 0,#3f3f3f 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4c4c4c,endColorstr=#3f3f3f,GradientType=0); +} +.datagrid-cell-rownumber { + color: #fff; +} +.datagrid-resize-proxy { + background: #cccccc; +} +.datagrid-mask { + background: #000; +} +.datagrid-mask-msg { + border-color: #000; +} +.datagrid-toolbar, +.datagrid-pager { + background: #555; +} +.datagrid-header, +.datagrid-toolbar, +.datagrid-pager, +.datagrid-footer-inner { + border-color: #222; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-color: #222; +} +.datagrid-htable, +.datagrid-btable, +.datagrid-ftable { + color: #fff; + border-collapse: separate; +} +.datagrid-row-alt { + background: #555; +} +.datagrid-row-over, +.datagrid-header td.datagrid-header-over { + background: #777; + color: #fff; + cursor: default; +} +.datagrid-row-selected { + background: #0052A3; + color: #fff; +} +.datagrid-row-editing .textbox, +.datagrid-row-editing .textbox-text { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.propertygrid .datagrid-view1 .datagrid-body td { + padding-bottom: 1px; + border-width: 0 1px 0 0; +} +.propertygrid .datagrid-group { + height: 21px; + overflow: hidden; + border-width: 0 0 1px 0; + border-style: solid; +} +.propertygrid .datagrid-group span { + font-weight: bold; +} +.propertygrid .datagrid-view1 .datagrid-body td { + border-color: #222; +} +.propertygrid .datagrid-view1 .datagrid-group { + border-color: #3d3d3d; +} +.propertygrid .datagrid-view2 .datagrid-group { + border-color: #222; +} +.propertygrid .datagrid-group, +.propertygrid .datagrid-view1 .datagrid-body, +.propertygrid .datagrid-view1 .datagrid-row-over, +.propertygrid .datagrid-view1 .datagrid-row-selected { + background: #3d3d3d; +} +.datalist .datagrid-header { + border-width: 0; +} +.datalist .datagrid-group, +.m-list .m-list-group { + height: 25px; + line-height: 25px; + font-weight: bold; + overflow: hidden; + background-color: #444; + border-style: solid; + border-width: 0 0 1px 0; + border-color: #222; +} +.datalist .datagrid-group-expander { + display: none; +} +.datalist .datagrid-group-title { + padding: 0 4px; +} +.datalist .datagrid-btable { + width: 100%; + table-layout: fixed; +} +.datalist .datagrid-row td { + border-style: solid; + border-left-color: transparent; + border-right-color: transparent; + border-bottom-width: 0; +} +.datalist-lines .datagrid-row td { + border-bottom-width: 1px; +} +.datalist .datagrid-cell, +.m-list li { + width: auto; + height: auto; + padding: 2px 4px; + line-height: 18px; + position: relative; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link, +.m-list li>a { + display: block; + position: relative; + cursor: pointer; + color: #fff; + text-decoration: none; + overflow: hidden; + margin: -2px -4px; + padding: 2px 4px; + padding-right: 16px; + line-height: 18px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link::after, +.m-list li>a::after { + position: absolute; + display: block; + width: 8px; + height: 8px; + content: ''; + right: 6px; + top: 50%; + margin-top: -4px; + border-style: solid; + border-width: 1px 1px 0 0; + -ms-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -webkit-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); +} +.m-list { + margin: 0; + padding: 0; + list-style: none; +} +.m-list li { + border-style: solid; + border-width: 0 0 1px 0; + border-color: #222; +} +.m-list li>a:hover { + background: #777; + color: #fff; +} +.m-list .m-list-group { + padding: 0 4px; +} +.pagination { + zoom: 1; +} +.pagination table { + float: left; + height: 30px; +} +.pagination td { + border: 0; +} +.pagination-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #444; + border-right: 1px solid #777; + margin: 3px 1px; +} +.pagination .pagination-num { + border-width: 1px; + border-style: solid; + margin: 0 2px; + padding: 2px; + width: 2em; + height: auto; +} +.pagination-page-list { + margin: 0px 6px; + padding: 1px 2px; + width: auto; + height: auto; + border-width: 1px; + border-style: solid; +} +.pagination-info { + float: right; + margin: 0 6px; + padding: 0; + height: 30px; + line-height: 30px; + font-size: 12px; +} +.pagination span { + font-size: 12px; +} +.pagination-link .l-btn-text { + width: 24px; + text-align: center; + margin: 0; +} +.pagination-first { + background: url('images/pagination_icons.png') no-repeat 0 center; +} +.pagination-prev { + background: url('images/pagination_icons.png') no-repeat -16px center; +} +.pagination-next { + background: url('images/pagination_icons.png') no-repeat -32px center; +} +.pagination-last { + background: url('images/pagination_icons.png') no-repeat -48px center; +} +.pagination-load { + background: url('images/pagination_icons.png') no-repeat -64px center; +} +.pagination-loading { + background: url('images/loading.gif') no-repeat center center; +} +.pagination-page-list, +.pagination .pagination-num { + border-color: #000; +} +.calendar { + border-width: 1px; + border-style: solid; + padding: 1px; + overflow: hidden; +} +.calendar table { + table-layout: fixed; + border-collapse: separate; + font-size: 12px; + width: 100%; + height: 100%; +} +.calendar table td, +.calendar table th { + font-size: 12px; +} +.calendar-noborder { + border: 0; +} +.calendar-header { + position: relative; + height: 22px; +} +.calendar-title { + text-align: center; + height: 22px; +} +.calendar-title span { + position: relative; + display: inline-block; + top: 2px; + padding: 0 3px; + height: 18px; + line-height: 18px; + font-size: 12px; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-prevmonth, +.calendar-nextmonth, +.calendar-prevyear, +.calendar-nextyear { + position: absolute; + top: 50%; + margin-top: -7px; + width: 14px; + height: 14px; + cursor: pointer; + font-size: 1px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-prevmonth { + left: 20px; + background: url('images/calendar_arrows.png') no-repeat -18px -2px; +} +.calendar-nextmonth { + right: 20px; + background: url('images/calendar_arrows.png') no-repeat -34px -2px; +} +.calendar-prevyear { + left: 3px; + background: url('images/calendar_arrows.png') no-repeat -1px -2px; +} +.calendar-nextyear { + right: 3px; + background: url('images/calendar_arrows.png') no-repeat -49px -2px; +} +.calendar-body { + position: relative; +} +.calendar-body th, +.calendar-body td { + text-align: center; +} +.calendar-day { + border: 0; + padding: 1px; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-other-month { + opacity: 0.3; + filter: alpha(opacity=30); +} +.calendar-disabled { + opacity: 0.6; + filter: alpha(opacity=60); + cursor: default; +} +.calendar-menu { + position: absolute; + top: 0; + left: 0; + width: 180px; + height: 150px; + padding: 5px; + font-size: 12px; + display: none; + overflow: hidden; +} +.calendar-menu-year-inner { + text-align: center; + padding-bottom: 5px; +} +.calendar-menu-year { + width: 50px; + text-align: center; + border-width: 1px; + border-style: solid; + outline-style: none; + resize: none; + margin: 0; + padding: 2px; + font-weight: bold; + font-size: 12px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-menu-prev, +.calendar-menu-next { + display: inline-block; + width: 21px; + height: 21px; + vertical-align: top; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-menu-prev { + margin-right: 10px; + background: url('images/calendar_arrows.png') no-repeat 2px 2px; +} +.calendar-menu-next { + margin-left: 10px; + background: url('images/calendar_arrows.png') no-repeat -45px 2px; +} +.calendar-menu-month { + text-align: center; + cursor: pointer; + font-weight: bold; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-body th, +.calendar-menu-month { + color: #ffffff; +} +.calendar-day { + color: #fff; +} +.calendar-sunday { + color: #CC2222; +} +.calendar-saturday { + color: #00ee00; +} +.calendar-today { + color: #0000ff; +} +.calendar-menu-year { + border-color: #000; +} +.calendar { + border-color: #000; +} +.calendar-header { + background: #3d3d3d; +} +.calendar-body, +.calendar-menu { + background: #666; +} +.calendar-body th { + background: #555; + padding: 2px 0; +} +.calendar-hover, +.calendar-nav-hover, +.calendar-menu-hover { + background-color: #777; + color: #fff; +} +.calendar-hover { + border: 1px solid #555; + padding: 0; +} +.calendar-selected { + background-color: #0052A3; + color: #fff; + border: 1px solid #00458a; + padding: 0; +} +.datebox-calendar-inner { + height: 180px; +} +.datebox-button { + padding: 0 5px; + text-align: center; +} +.datebox-button a { + line-height: 22px; + font-size: 12px; + font-weight: bold; + text-decoration: none; + opacity: 0.6; + filter: alpha(opacity=60); +} +.datebox-button a:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.datebox-current, +.datebox-close { + float: left; +} +.datebox-close { + float: right; +} +.datebox .combo-arrow { + background-image: url('images/datebox_arrow.png'); + background-position: center center; +} +.datebox-button { + background-color: #555; +} +.datebox-button a { + color: #fff; +} +.spinner-arrow { + background-color: #3d3d3d; + display: inline-block; + overflow: hidden; + vertical-align: top; + margin: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + width: 18px; +} +.spinner-arrow-up, +.spinner-arrow-down { + opacity: 0.6; + filter: alpha(opacity=60); + display: block; + font-size: 1px; + width: 18px; + height: 10px; + width: 100%; + height: 50%; + color: #fff; + outline-style: none; +} +.spinner-arrow-hover { + background-color: #777; + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-arrow-up:hover, +.spinner-arrow-down:hover { + opacity: 1.0; + filter: alpha(opacity=100); + background-color: #777; +} +.textbox-icon-disabled .spinner-arrow-up:hover, +.textbox-icon-disabled .spinner-arrow-down:hover { + opacity: 0.6; + filter: alpha(opacity=60); + background-color: #3d3d3d; + cursor: default; +} +.spinner .textbox-icon-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-arrow-up { + background: url('images/spinner_arrows.png') no-repeat 1px center; +} +.spinner-arrow-down { + background: url('images/spinner_arrows.png') no-repeat -15px center; +} +.spinner-button-up { + background: url('images/spinner_arrows.png') no-repeat -32px center; +} +.spinner-button-down { + background: url('images/spinner_arrows.png') no-repeat -48px center; +} +.progressbar { + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + overflow: hidden; + position: relative; +} +.progressbar-text { + text-align: center; + position: absolute; +} +.progressbar-value { + position: relative; + overflow: hidden; + width: 0; + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.progressbar { + border-color: #000; +} +.progressbar-text { + color: #fff; + font-size: 12px; +} +.progressbar-value .progressbar-text { + background-color: #0052A3; + color: #fff; +} +.searchbox-button { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.searchbox-button-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.searchbox .l-btn-plain { + border: 0; + padding: 0; + vertical-align: top; + opacity: 0.6; + filter: alpha(opacity=60); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .l-btn-plain:hover { + border: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox a.m-btn-plain-active { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .m-btn-active { + border-width: 0 1px 0 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .textbox-button-right { + border-width: 0 0 0 1px; +} +.searchbox .textbox-button-left { + border-width: 0 1px 0 0; +} +.searchbox-button { + background: url('images/searchbox_button.png') no-repeat center center; +} +.searchbox .l-btn-plain { + background: #3d3d3d; +} +.searchbox .l-btn-plain-disabled, +.searchbox .l-btn-plain-disabled:hover { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-h { + height: 22px; +} +.slider-v { + width: 22px; +} +.slider-inner { + position: relative; + height: 6px; + top: 7px; + border-width: 1px; + border-style: solid; + border-radius: 5px; +} +.slider-handle { + position: absolute; + display: block; + outline: none; + width: 20px; + height: 20px; + top: 50%; + margin-top: -10px; + margin-left: -10px; +} +.slider-tip { + position: absolute; + display: inline-block; + line-height: 12px; + font-size: 12px; + white-space: nowrap; + top: -22px; +} +.slider-rule { + position: relative; + top: 15px; +} +.slider-rule span { + position: absolute; + display: inline-block; + font-size: 0; + height: 5px; + border-width: 0 0 0 1px; + border-style: solid; +} +.slider-rulelabel { + position: relative; + top: 20px; +} +.slider-rulelabel span { + position: absolute; + display: inline-block; + font-size: 12px; +} +.slider-v .slider-inner { + width: 6px; + left: 7px; + top: 0; + float: left; +} +.slider-v .slider-handle { + left: 50%; + margin-top: -10px; +} +.slider-v .slider-tip { + left: -10px; + margin-top: -6px; +} +.slider-v .slider-rule { + float: left; + top: 0; + left: 16px; +} +.slider-v .slider-rule span { + width: 5px; + height: 'auto'; + border-left: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.slider-v .slider-rulelabel { + float: left; + top: 0; + left: 23px; +} +.slider-handle { + background: url('images/slider_handle.png') no-repeat; +} +.slider-inner { + border-color: #000; + background: #3d3d3d; +} +.slider-rule span { + border-color: #000; +} +.slider-rulelabel span { + color: #fff; +} +.menu { + position: absolute; + margin: 0; + padding: 2px; + border-width: 1px; + border-style: solid; + overflow: hidden; +} +.menu-inline { + position: relative; +} +.menu-item { + position: relative; + margin: 0; + padding: 0; + overflow: hidden; + white-space: nowrap; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.menu-text { + height: 20px; + line-height: 20px; + float: left; + padding-left: 28px; +} +.menu-icon { + position: absolute; + width: 16px; + height: 16px; + left: 2px; + top: 50%; + margin-top: -8px; +} +.menu-rightarrow { + position: absolute; + width: 16px; + height: 16px; + right: 0; + top: 50%; + margin-top: -8px; +} +.menu-line { + position: absolute; + left: 26px; + top: 0; + height: 2000px; + font-size: 1px; +} +.menu-sep { + margin: 3px 0px 3px 25px; + font-size: 1px; +} +.menu-noline .menu-line { + display: none; +} +.menu-noline .menu-sep { + margin-left: 0; + margin-right: 0; +} +.menu-active { + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.menu-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); + cursor: default; +} +.menu-text, +.menu-text span { + font-size: 12px; +} +.menu-shadow { + position: absolute; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + background: #777; + -moz-box-shadow: 2px 2px 3px #787878; + -webkit-box-shadow: 2px 2px 3px #787878; + box-shadow: 2px 2px 3px #787878; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.menu-rightarrow { + background: url('images/menu_arrows.png') no-repeat -32px center; +} +.menu-line { + border-left: 1px solid #444; + border-right: 1px solid #777; +} +.menu-sep { + border-top: 1px solid #444; + border-bottom: 1px solid #777; +} +.menu { + background-color: #666; + border-color: #444; + color: #fff; +} +.menu-content { + background: #666; +} +.menu-item { + border-color: transparent; + _border-color: #666; +} +.menu-active { + border-color: #555; + color: #fff; + background: #777; +} +.menu-active-disabled { + border-color: transparent; + background: transparent; + color: #fff; +} +.m-btn-downarrow, +.s-btn-downarrow { + display: inline-block; + position: absolute; + width: 16px; + height: 16px; + font-size: 1px; + right: 0; + top: 50%; + margin-top: -8px; +} +.m-btn-active, +.s-btn-active { + background: #777; + color: #fff; + border: 1px solid #555; + filter: none; +} +.m-btn-plain-active, +.s-btn-plain-active { + background: transparent; + padding: 0; + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.m-btn .l-btn-left .l-btn-text { + margin-right: 20px; +} +.m-btn .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.m-btn .l-btn-icon-right .l-btn-icon { + right: 20px; +} +.m-btn .l-btn-icon-top .l-btn-text { + margin-right: 4px; + margin-bottom: 14px; +} +.m-btn .l-btn-icon-bottom .l-btn-text { + margin-right: 4px; + margin-bottom: 34px; +} +.m-btn .l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 20px; +} +.m-btn .l-btn-icon-top .m-btn-downarrow, +.m-btn .l-btn-icon-bottom .m-btn-downarrow { + top: auto; + bottom: 0px; + left: 50%; + margin-left: -8px; +} +.m-btn-line { + display: inline-block; + position: absolute; + font-size: 1px; + display: none; +} +.m-btn .l-btn-left .m-btn-line { + right: 0; + width: 16px; + height: 500px; + border-style: solid; + border-color: #cccccc; + border-width: 0 0 0 1px; +} +.m-btn .l-btn-icon-top .m-btn-line, +.m-btn .l-btn-icon-bottom .m-btn-line { + left: 0; + bottom: 0; + width: 500px; + height: 16px; + border-width: 1px 0 0 0; +} +.m-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 56px; +} +.m-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 50px; +} +.m-btn-downarrow, +.s-btn-downarrow { + background: url('images/menu_arrows.png') no-repeat 0 center; +} +.m-btn-plain-active, +.s-btn-plain-active { + border-color: #555; + background-color: #777; + color: #fff; +} +.s-btn:hover .m-btn-line, +.s-btn-active .m-btn-line, +.s-btn-plain-active .m-btn-line { + display: inline-block; +} +.l-btn:hover .s-btn-downarrow, +.s-btn-active .s-btn-downarrow, +.s-btn-plain-active .s-btn-downarrow { + border-style: solid; + border-color: #cccccc; + border-width: 0 0 0 1px; +} +.messager-body { + padding: 10px 10px 30px 10px; + overflow: auto; +} +.messager-button { + text-align: center; + padding: 5px; +} +.messager-button .l-btn { + width: 70px; +} +.messager-icon { + float: left; + width: 32px; + height: 32px; + margin: 0 10px 10px 0; +} +.messager-error { + background: url('images/messager_icons.png') no-repeat scroll -64px 0; +} +.messager-info { + background: url('images/messager_icons.png') no-repeat scroll 0 0; +} +.messager-question { + background: url('images/messager_icons.png') no-repeat scroll -32px 0; +} +.messager-warning { + background: url('images/messager_icons.png') no-repeat scroll -96px 0; +} +.messager-progress { + padding: 10px; +} +.messager-p-msg { + margin-bottom: 5px; +} +.messager-body .messager-input { + width: 100%; + padding: 4px 0; + outline-style: none; + border: 1px solid #000; +} +.window-thinborder .messager-button { + padding-bottom: 8px; +} +.tree { + margin: 0; + padding: 0; + list-style-type: none; +} +.tree li { + white-space: nowrap; +} +.tree li ul { + list-style-type: none; + margin: 0; + padding: 0; +} +.tree-node { + height: 18px; + white-space: nowrap; + cursor: pointer; +} +.tree-hit { + cursor: pointer; +} +.tree-expanded, +.tree-collapsed, +.tree-folder, +.tree-file, +.tree-checkbox, +.tree-indent { + display: inline-block; + width: 16px; + height: 18px; + vertical-align: top; + overflow: hidden; +} +.tree-expanded { + background: url('images/tree_icons.png') no-repeat -18px 0px; +} +.tree-expanded-hover { + background: url('images/tree_icons.png') no-repeat -50px 0px; +} +.tree-collapsed { + background: url('images/tree_icons.png') no-repeat 0px 0px; +} +.tree-collapsed-hover { + background: url('images/tree_icons.png') no-repeat -32px 0px; +} +.tree-lines .tree-expanded, +.tree-lines .tree-root-first .tree-expanded { + background: url('images/tree_icons.png') no-repeat -144px 0; +} +.tree-lines .tree-collapsed, +.tree-lines .tree-root-first .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -128px 0; +} +.tree-lines .tree-node-last .tree-expanded, +.tree-lines .tree-root-one .tree-expanded { + background: url('images/tree_icons.png') no-repeat -80px 0; +} +.tree-lines .tree-node-last .tree-collapsed, +.tree-lines .tree-root-one .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -64px 0; +} +.tree-line { + background: url('images/tree_icons.png') no-repeat -176px 0; +} +.tree-join { + background: url('images/tree_icons.png') no-repeat -192px 0; +} +.tree-joinbottom { + background: url('images/tree_icons.png') no-repeat -160px 0; +} +.tree-folder { + background: url('images/tree_icons.png') no-repeat -208px 0; +} +.tree-folder-open { + background: url('images/tree_icons.png') no-repeat -224px 0; +} +.tree-file { + background: url('images/tree_icons.png') no-repeat -240px 0; +} +.tree-loading { + background: url('images/loading.gif') no-repeat center center; +} +.tree-checkbox0 { + background: url('images/tree_icons.png') no-repeat -208px -18px; +} +.tree-checkbox1 { + background: url('images/tree_icons.png') no-repeat -224px -18px; +} +.tree-checkbox2 { + background: url('images/tree_icons.png') no-repeat -240px -18px; +} +.tree-title { + font-size: 12px; + display: inline-block; + text-decoration: none; + vertical-align: top; + white-space: nowrap; + padding: 0 2px; + height: 18px; + line-height: 18px; +} +.tree-node-proxy { + font-size: 12px; + line-height: 20px; + padding: 0 2px 0 20px; + border-width: 1px; + border-style: solid; + z-index: 9900000; +} +.tree-dnd-icon { + display: inline-block; + position: absolute; + width: 16px; + height: 18px; + left: 2px; + top: 50%; + margin-top: -9px; +} +.tree-dnd-yes { + background: url('images/tree_icons.png') no-repeat -256px 0; +} +.tree-dnd-no { + background: url('images/tree_icons.png') no-repeat -256px -18px; +} +.tree-node-top { + border-top: 1px dotted red; +} +.tree-node-bottom { + border-bottom: 1px dotted red; +} +.tree-node-append .tree-title { + border: 1px dotted red; +} +.tree-editor { + border: 1px solid #000; + font-size: 12px; + line-height: 16px; + padding: 0 4px; + margin: 0; + width: 80px; + outline-style: none; + vertical-align: top; + position: absolute; + top: 0; +} +.tree-node-proxy { + background-color: #666; + color: #fff; + border-color: #000; +} +.tree-node-hover { + background: #777; + color: #fff; +} +.tree-node-selected { + background: #0052A3; + color: #fff; +} +.tree-node-hidden { + display: none; +} +.validatebox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; + color: #000; +} +.tooltip { + position: absolute; + display: none; + z-index: 9900000; + outline: none; + opacity: 1; + filter: alpha(opacity=100); + padding: 5px; + border-width: 1px; + border-style: solid; + border-radius: 5px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.tooltip-content { + font-size: 12px; +} +.tooltip-arrow-outer, +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + line-height: 0; + font-size: 0; + border-style: solid; + border-width: 6px; + border-color: transparent; + _border-color: tomato; + _filter: chroma(color=tomato); +} +.tooltip-arrow { + display: none \9; +} +.tooltip-right .tooltip-arrow-outer { + left: 0; + top: 50%; + margin: -6px 0 0 -13px; +} +.tooltip-right .tooltip-arrow { + left: 0; + top: 50%; + margin: -6px 0 0 -12px; +} +.tooltip-left .tooltip-arrow-outer { + right: 0; + top: 50%; + margin: -6px -13px 0 0; +} +.tooltip-left .tooltip-arrow { + right: 0; + top: 50%; + margin: -6px -12px 0 0; +} +.tooltip-top .tooltip-arrow-outer { + bottom: 0; + left: 50%; + margin: 0 0 -13px -6px; +} +.tooltip-top .tooltip-arrow { + bottom: 0; + left: 50%; + margin: 0 0 -12px -6px; +} +.tooltip-bottom .tooltip-arrow-outer { + top: 0; + left: 50%; + margin: -13px 0 0 -6px; +} +.tooltip-bottom .tooltip-arrow { + top: 0; + left: 50%; + margin: -12px 0 0 -6px; +} +.tooltip { + background-color: #666; + border-color: #000; + color: #fff; +} +.tooltip-right .tooltip-arrow-outer { + border-right-color: #000; +} +.tooltip-right .tooltip-arrow { + border-right-color: #666; +} +.tooltip-left .tooltip-arrow-outer { + border-left-color: #000; +} +.tooltip-left .tooltip-arrow { + border-left-color: #666; +} +.tooltip-top .tooltip-arrow-outer { + border-top-color: #000; +} +.tooltip-top .tooltip-arrow { + border-top-color: #666; +} +.tooltip-bottom .tooltip-arrow-outer { + border-bottom-color: #000; +} +.tooltip-bottom .tooltip-arrow { + border-bottom-color: #666; +} +.switchbutton { + text-decoration: none; + display: inline-block; + overflow: hidden; + vertical-align: middle; + margin: 0; + padding: 0; + cursor: pointer; + background: #555; + border: 1px solid #555; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.switchbutton-inner { + display: inline-block; + overflow: hidden; + position: relative; + top: -1px; + left: -1px; +} +.switchbutton-on, +.switchbutton-off, +.switchbutton-handle { + display: inline-block; + text-align: center; + height: 100%; + float: left; + font-size: 12px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.switchbutton-on { + background: #0052A3; + color: #fff; +} +.switchbutton-off { + background-color: #666; + color: #fff; +} +.switchbutton-on, +.switchbutton-reversed .switchbutton-off { + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.switchbutton-off, +.switchbutton-reversed .switchbutton-on { + -moz-border-radius: 0 5px 5px 0; + -webkit-border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; +} +.switchbutton-handle { + position: absolute; + top: 0; + left: 50%; + background-color: #666; + color: #fff; + border: 1px solid #555; + -moz-box-shadow: 0 0 3px 0 #555; + -webkit-box-shadow: 0 0 3px 0 #555; + box-shadow: 0 0 3px 0 #555; +} +.switchbutton-value { + position: absolute; + top: 0; + left: -5000px; +} +.switchbutton-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.switchbutton-disabled, +.switchbutton-readonly { + cursor: default; +} diff --git a/src/main/webapp/css/themes/black/filebox.css b/src/main/webapp/css/themes/black/filebox.css new file mode 100644 index 0000000..c6bac66 --- /dev/null +++ b/src/main/webapp/css/themes/black/filebox.css @@ -0,0 +1,20 @@ +.filebox .textbox-value { + vertical-align: top; + position: absolute; + top: 0; + left: -5000px; +} +.filebox-label { + display: inline-block; + position: absolute; + width: 100%; + height: 100%; + cursor: pointer; + left: 0; + top: 0; + z-index: 10; + background: url('images/blank.gif') no-repeat; +} +.l-btn-disabled .filebox-label { + cursor: default; +} diff --git a/src/main/webapp/css/themes/black/images/accordion_arrows.png b/src/main/webapp/css/themes/black/images/accordion_arrows.png new file mode 100644 index 0000000..45fd44a Binary files /dev/null and b/src/main/webapp/css/themes/black/images/accordion_arrows.png differ diff --git a/src/main/webapp/css/themes/black/images/blank.gif b/src/main/webapp/css/themes/black/images/blank.gif new file mode 100644 index 0000000..1d11fa9 Binary files /dev/null and b/src/main/webapp/css/themes/black/images/blank.gif differ diff --git a/src/main/webapp/css/themes/black/images/calendar_arrows.png b/src/main/webapp/css/themes/black/images/calendar_arrows.png new file mode 100644 index 0000000..430c4ad Binary files /dev/null and b/src/main/webapp/css/themes/black/images/calendar_arrows.png differ diff --git a/src/main/webapp/css/themes/black/images/combo_arrow.png b/src/main/webapp/css/themes/black/images/combo_arrow.png new file mode 100644 index 0000000..ac58921 Binary files /dev/null and b/src/main/webapp/css/themes/black/images/combo_arrow.png differ diff --git a/src/main/webapp/css/themes/black/images/datagrid_icons.png b/src/main/webapp/css/themes/black/images/datagrid_icons.png new file mode 100644 index 0000000..7f19b93 Binary files /dev/null and b/src/main/webapp/css/themes/black/images/datagrid_icons.png differ diff --git a/src/main/webapp/css/themes/black/images/datebox_arrow.png b/src/main/webapp/css/themes/black/images/datebox_arrow.png new file mode 100644 index 0000000..783c833 Binary files /dev/null and b/src/main/webapp/css/themes/black/images/datebox_arrow.png differ diff --git a/src/main/webapp/css/themes/black/images/layout_arrows.png b/src/main/webapp/css/themes/black/images/layout_arrows.png new file mode 100644 index 0000000..19c611f Binary files /dev/null and b/src/main/webapp/css/themes/black/images/layout_arrows.png differ diff --git a/src/main/webapp/css/themes/black/images/linkbutton_bg.png b/src/main/webapp/css/themes/black/images/linkbutton_bg.png new file mode 100644 index 0000000..fc66bd2 Binary files /dev/null and b/src/main/webapp/css/themes/black/images/linkbutton_bg.png differ diff --git a/src/main/webapp/css/themes/black/images/loading.gif b/src/main/webapp/css/themes/black/images/loading.gif new file mode 100644 index 0000000..68f01d0 Binary files /dev/null and b/src/main/webapp/css/themes/black/images/loading.gif differ diff --git a/src/main/webapp/css/themes/black/images/menu_arrows.png b/src/main/webapp/css/themes/black/images/menu_arrows.png new file mode 100644 index 0000000..2a98494 Binary files /dev/null and b/src/main/webapp/css/themes/black/images/menu_arrows.png differ diff --git a/src/main/webapp/css/themes/black/images/messager_icons.png b/src/main/webapp/css/themes/black/images/messager_icons.png new file mode 100644 index 0000000..62c18c1 Binary files /dev/null and b/src/main/webapp/css/themes/black/images/messager_icons.png differ diff --git a/src/main/webapp/css/themes/black/images/pagination_icons.png b/src/main/webapp/css/themes/black/images/pagination_icons.png new file mode 100644 index 0000000..b3315fa Binary files /dev/null and b/src/main/webapp/css/themes/black/images/pagination_icons.png differ diff --git a/src/main/webapp/css/themes/black/images/panel_tools.png b/src/main/webapp/css/themes/black/images/panel_tools.png new file mode 100644 index 0000000..f97761e Binary files /dev/null and b/src/main/webapp/css/themes/black/images/panel_tools.png differ diff --git a/src/main/webapp/css/themes/black/images/passwordbox_close.png b/src/main/webapp/css/themes/black/images/passwordbox_close.png new file mode 100644 index 0000000..276b579 Binary files /dev/null and b/src/main/webapp/css/themes/black/images/passwordbox_close.png differ diff --git a/src/main/webapp/css/themes/black/images/passwordbox_open.png b/src/main/webapp/css/themes/black/images/passwordbox_open.png new file mode 100644 index 0000000..0f25d53 Binary files /dev/null and b/src/main/webapp/css/themes/black/images/passwordbox_open.png differ diff --git a/src/main/webapp/css/themes/black/images/searchbox_button.png b/src/main/webapp/css/themes/black/images/searchbox_button.png new file mode 100644 index 0000000..6dd1931 Binary files /dev/null and b/src/main/webapp/css/themes/black/images/searchbox_button.png differ diff --git a/src/main/webapp/css/themes/black/images/slider_handle.png b/src/main/webapp/css/themes/black/images/slider_handle.png new file mode 100644 index 0000000..b9802ba Binary files /dev/null and b/src/main/webapp/css/themes/black/images/slider_handle.png differ diff --git a/src/main/webapp/css/themes/black/images/spinner_arrows.png b/src/main/webapp/css/themes/black/images/spinner_arrows.png new file mode 100644 index 0000000..349d7d9 Binary files /dev/null and b/src/main/webapp/css/themes/black/images/spinner_arrows.png differ diff --git a/src/main/webapp/css/themes/black/images/tabs_icons.png b/src/main/webapp/css/themes/black/images/tabs_icons.png new file mode 100644 index 0000000..732b123 Binary files /dev/null and b/src/main/webapp/css/themes/black/images/tabs_icons.png differ diff --git a/src/main/webapp/css/themes/black/images/tagbox_icons.png b/src/main/webapp/css/themes/black/images/tagbox_icons.png new file mode 100644 index 0000000..faddd10 Binary files /dev/null and b/src/main/webapp/css/themes/black/images/tagbox_icons.png differ diff --git a/src/main/webapp/css/themes/black/images/tree_icons.png b/src/main/webapp/css/themes/black/images/tree_icons.png new file mode 100644 index 0000000..2b4fd20 Binary files /dev/null and b/src/main/webapp/css/themes/black/images/tree_icons.png differ diff --git a/src/main/webapp/css/themes/black/images/validatebox_warning.png b/src/main/webapp/css/themes/black/images/validatebox_warning.png new file mode 100644 index 0000000..2b3d4f0 Binary files /dev/null and b/src/main/webapp/css/themes/black/images/validatebox_warning.png differ diff --git a/src/main/webapp/css/themes/black/layout.css b/src/main/webapp/css/themes/black/layout.css new file mode 100644 index 0000000..d1f9184 --- /dev/null +++ b/src/main/webapp/css/themes/black/layout.css @@ -0,0 +1,150 @@ +.layout { + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + z-index: 0; +} +.layout-panel { + position: absolute; + overflow: hidden; +} +.layout-body { + min-width: 1px; + min-height: 1px; +} +.layout-panel-east, +.layout-panel-west { + z-index: 2; +} +.layout-panel-north, +.layout-panel-south { + z-index: 3; +} +.layout-expand { + position: absolute; + padding: 0px; + font-size: 1px; + cursor: pointer; + z-index: 1; +} +.layout-expand .panel-header, +.layout-expand .panel-body { + background: transparent; + filter: none; + overflow: hidden; +} +.layout-expand .panel-header { + border-bottom-width: 0px; +} +.layout-expand .panel-body { + position: relative; +} +.layout-expand .panel-body .panel-icon { + margin-top: 0; + top: 0; + left: 50%; + margin-left: -8px; +} +.layout-expand-west .panel-header .panel-icon, +.layout-expand-east .panel-header .panel-icon { + display: none; +} +.layout-expand-title { + position: absolute; + top: 0; + left: 21px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.layout-expand-title-up { + position: absolute; + top: 0; + left: 0; + text-align: right; + padding-left: 5px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 0; +} +.layout-expand-with-icon { + top: 18px; +} +.layout-expand .panel-body-noheader .layout-expand-title, +.layout-expand .panel-body-noheader .panel-icon { + top: 5px; +} +.layout-expand .panel-body-noheader .layout-expand-with-icon { + top: 23px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + position: absolute; + font-size: 1px; + display: none; + z-index: 5; +} +.layout-split-proxy-h { + width: 5px; + cursor: e-resize; +} +.layout-split-proxy-v { + height: 5px; + cursor: n-resize; +} +.layout-mask { + position: absolute; + background: #fafafa; + filter: alpha(opacity=10); + opacity: 0.10; + z-index: 4; +} +.layout-button-up { + background: url('images/layout_arrows.png') no-repeat -16px -16px; +} +.layout-button-down { + background: url('images/layout_arrows.png') no-repeat -16px 0; +} +.layout-button-left { + background: url('images/layout_arrows.png') no-repeat 0 0; +} +.layout-button-right { + background: url('images/layout_arrows.png') no-repeat 0 -16px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + background-color: #cccccc; +} +.layout-split-north { + border-bottom: 5px solid #444; +} +.layout-split-south { + border-top: 5px solid #444; +} +.layout-split-east { + border-left: 5px solid #444; +} +.layout-split-west { + border-right: 5px solid #444; +} +.layout-expand { + background-color: #3d3d3d; +} +.layout-expand-over { + background-color: #3d3d3d; +} diff --git a/src/main/webapp/css/themes/black/linkbutton.css b/src/main/webapp/css/themes/black/linkbutton.css new file mode 100644 index 0000000..18a7f0e --- /dev/null +++ b/src/main/webapp/css/themes/black/linkbutton.css @@ -0,0 +1,203 @@ +.l-btn { + text-decoration: none; + display: inline-block; + overflow: hidden; + margin: 0; + padding: 0; + cursor: pointer; + outline: none; + text-align: center; + vertical-align: middle; + line-height: normal; +} +.l-btn-plain { + border-width: 0; + padding: 1px; +} +.l-btn-left { + display: inline-block; + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + vertical-align: top; +} +.l-btn-text { + display: inline-block; + vertical-align: top; + width: auto; + line-height: 24px; + font-size: 12px; + padding: 0; + margin: 0 4px; +} +.l-btn-icon { + display: inline-block; + width: 16px; + height: 16px; + line-height: 16px; + position: absolute; + top: 50%; + margin-top: -8px; + font-size: 1px; +} +.l-btn span span .l-btn-empty { + display: inline-block; + margin: 0; + width: 16px; + height: 24px; + font-size: 1px; + vertical-align: top; +} +.l-btn span .l-btn-icon-left { + padding: 0 0 0 20px; + background-position: left center; +} +.l-btn span .l-btn-icon-right { + padding: 0 20px 0 0; + background-position: right center; +} +.l-btn-icon-left .l-btn-text { + margin: 0 4px 0 24px; +} +.l-btn-icon-left .l-btn-icon { + left: 4px; +} +.l-btn-icon-right .l-btn-text { + margin: 0 24px 0 4px; +} +.l-btn-icon-right .l-btn-icon { + right: 4px; +} +.l-btn-icon-top .l-btn-text { + margin: 20px 4px 0 4px; +} +.l-btn-icon-top .l-btn-icon { + top: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-icon-bottom .l-btn-text { + margin: 0 4px 20px 4px; +} +.l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-left .l-btn-empty { + margin: 0 4px; + width: 16px; +} +.l-btn-plain:hover { + padding: 0; +} +.l-btn-focus { + outline: #0000FF dotted thin; +} +.l-btn-large .l-btn-text { + line-height: 40px; +} +.l-btn-large .l-btn-icon { + width: 32px; + height: 32px; + line-height: 32px; + margin-top: -16px; +} +.l-btn-large .l-btn-icon-left .l-btn-text { + margin-left: 40px; +} +.l-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.l-btn-large .l-btn-icon-top .l-btn-text { + margin-top: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-top .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-left .l-btn-empty { + margin: 0 4px; + width: 32px; +} +.l-btn { + color: #fff; + background: #777; + background-repeat: repeat-x; + border: 1px solid #555; + background: -webkit-linear-gradient(top,#919191 0,#6a6a6a 100%); + background: -moz-linear-gradient(top,#919191 0,#6a6a6a 100%); + background: -o-linear-gradient(top,#919191 0,#6a6a6a 100%); + background: linear-gradient(to bottom,#919191 0,#6a6a6a 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#919191,endColorstr=#6a6a6a,GradientType=0); + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.l-btn:hover { + background: #777; + color: #fff; + border: 1px solid #555; + filter: none; +} +.l-btn-plain { + background: transparent; + border-width: 0; + filter: none; +} +.l-btn-outline { + border-width: 1px; + border-color: #555; + padding: 0; +} +.l-btn-plain:hover { + background: #777; + color: #fff; + border: 1px solid #555; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.l-btn-disabled, +.l-btn-disabled:hover { + opacity: 0.5; + cursor: default; + background: #777; + color: #fff; + background: -webkit-linear-gradient(top,#919191 0,#6a6a6a 100%); + background: -moz-linear-gradient(top,#919191 0,#6a6a6a 100%); + background: -o-linear-gradient(top,#919191 0,#6a6a6a 100%); + background: linear-gradient(to bottom,#919191 0,#6a6a6a 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#919191,endColorstr=#6a6a6a,GradientType=0); +} +.l-btn-disabled .l-btn-text, +.l-btn-disabled .l-btn-icon { + filter: alpha(opacity=50); +} +.l-btn-plain-disabled, +.l-btn-plain-disabled:hover { + background: transparent; + filter: alpha(opacity=50); +} +.l-btn-selected, +.l-btn-selected:hover { + background: #000; + filter: none; +} +.l-btn-plain-selected, +.l-btn-plain-selected:hover { + background: #000; +} diff --git a/src/main/webapp/css/themes/black/menu.css b/src/main/webapp/css/themes/black/menu.css new file mode 100644 index 0000000..430d0d8 --- /dev/null +++ b/src/main/webapp/css/themes/black/menu.css @@ -0,0 +1,119 @@ +.menu { + position: absolute; + margin: 0; + padding: 2px; + border-width: 1px; + border-style: solid; + overflow: hidden; +} +.menu-inline { + position: relative; +} +.menu-item { + position: relative; + margin: 0; + padding: 0; + overflow: hidden; + white-space: nowrap; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.menu-text { + height: 20px; + line-height: 20px; + float: left; + padding-left: 28px; +} +.menu-icon { + position: absolute; + width: 16px; + height: 16px; + left: 2px; + top: 50%; + margin-top: -8px; +} +.menu-rightarrow { + position: absolute; + width: 16px; + height: 16px; + right: 0; + top: 50%; + margin-top: -8px; +} +.menu-line { + position: absolute; + left: 26px; + top: 0; + height: 2000px; + font-size: 1px; +} +.menu-sep { + margin: 3px 0px 3px 25px; + font-size: 1px; +} +.menu-noline .menu-line { + display: none; +} +.menu-noline .menu-sep { + margin-left: 0; + margin-right: 0; +} +.menu-active { + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.menu-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); + cursor: default; +} +.menu-text, +.menu-text span { + font-size: 12px; +} +.menu-shadow { + position: absolute; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + background: #777; + -moz-box-shadow: 2px 2px 3px #787878; + -webkit-box-shadow: 2px 2px 3px #787878; + box-shadow: 2px 2px 3px #787878; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.menu-rightarrow { + background: url('images/menu_arrows.png') no-repeat -32px center; +} +.menu-line { + border-left: 1px solid #444; + border-right: 1px solid #777; +} +.menu-sep { + border-top: 1px solid #444; + border-bottom: 1px solid #777; +} +.menu { + background-color: #666; + border-color: #444; + color: #fff; +} +.menu-content { + background: #666; +} +.menu-item { + border-color: transparent; + _border-color: #666; +} +.menu-active { + border-color: #555; + color: #fff; + background: #777; +} +.menu-active-disabled { + border-color: transparent; + background: transparent; + color: #fff; +} diff --git a/src/main/webapp/css/themes/black/menubutton.css b/src/main/webapp/css/themes/black/menubutton.css new file mode 100644 index 0000000..55a2b5e --- /dev/null +++ b/src/main/webapp/css/themes/black/menubutton.css @@ -0,0 +1,94 @@ +.m-btn-downarrow, +.s-btn-downarrow { + display: inline-block; + position: absolute; + width: 16px; + height: 16px; + font-size: 1px; + right: 0; + top: 50%; + margin-top: -8px; +} +.m-btn-active, +.s-btn-active { + background: #777; + color: #fff; + border: 1px solid #555; + filter: none; +} +.m-btn-plain-active, +.s-btn-plain-active { + background: transparent; + padding: 0; + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.m-btn .l-btn-left .l-btn-text { + margin-right: 20px; +} +.m-btn .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.m-btn .l-btn-icon-right .l-btn-icon { + right: 20px; +} +.m-btn .l-btn-icon-top .l-btn-text { + margin-right: 4px; + margin-bottom: 14px; +} +.m-btn .l-btn-icon-bottom .l-btn-text { + margin-right: 4px; + margin-bottom: 34px; +} +.m-btn .l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 20px; +} +.m-btn .l-btn-icon-top .m-btn-downarrow, +.m-btn .l-btn-icon-bottom .m-btn-downarrow { + top: auto; + bottom: 0px; + left: 50%; + margin-left: -8px; +} +.m-btn-line { + display: inline-block; + position: absolute; + font-size: 1px; + display: none; +} +.m-btn .l-btn-left .m-btn-line { + right: 0; + width: 16px; + height: 500px; + border-style: solid; + border-color: #cccccc; + border-width: 0 0 0 1px; +} +.m-btn .l-btn-icon-top .m-btn-line, +.m-btn .l-btn-icon-bottom .m-btn-line { + left: 0; + bottom: 0; + width: 500px; + height: 16px; + border-width: 1px 0 0 0; +} +.m-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 56px; +} +.m-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 50px; +} +.m-btn-downarrow, +.s-btn-downarrow { + background: url('images/menu_arrows.png') no-repeat 0 center; +} +.m-btn-plain-active, +.s-btn-plain-active { + border-color: #555; + background-color: #777; + color: #fff; +} diff --git a/src/main/webapp/css/themes/black/messager.css b/src/main/webapp/css/themes/black/messager.css new file mode 100644 index 0000000..ca6438b --- /dev/null +++ b/src/main/webapp/css/themes/black/messager.css @@ -0,0 +1,44 @@ +.messager-body { + padding: 10px 10px 30px 10px; + overflow: auto; +} +.messager-button { + text-align: center; + padding: 5px; +} +.messager-button .l-btn { + width: 70px; +} +.messager-icon { + float: left; + width: 32px; + height: 32px; + margin: 0 10px 10px 0; +} +.messager-error { + background: url('images/messager_icons.png') no-repeat scroll -64px 0; +} +.messager-info { + background: url('images/messager_icons.png') no-repeat scroll 0 0; +} +.messager-question { + background: url('images/messager_icons.png') no-repeat scroll -32px 0; +} +.messager-warning { + background: url('images/messager_icons.png') no-repeat scroll -96px 0; +} +.messager-progress { + padding: 10px; +} +.messager-p-msg { + margin-bottom: 5px; +} +.messager-body .messager-input { + width: 100%; + padding: 4px 0; + outline-style: none; + border: 1px solid #000; +} +.window-thinborder .messager-button { + padding-bottom: 8px; +} diff --git a/src/main/webapp/css/themes/black/numberbox.css b/src/main/webapp/css/themes/black/numberbox.css new file mode 100644 index 0000000..e69de29 diff --git a/src/main/webapp/css/themes/black/pagination.css b/src/main/webapp/css/themes/black/pagination.css new file mode 100644 index 0000000..9e506a4 --- /dev/null +++ b/src/main/webapp/css/themes/black/pagination.css @@ -0,0 +1,71 @@ +.pagination { + zoom: 1; +} +.pagination table { + float: left; + height: 30px; +} +.pagination td { + border: 0; +} +.pagination-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #444; + border-right: 1px solid #777; + margin: 3px 1px; +} +.pagination .pagination-num { + border-width: 1px; + border-style: solid; + margin: 0 2px; + padding: 2px; + width: 2em; + height: auto; +} +.pagination-page-list { + margin: 0px 6px; + padding: 1px 2px; + width: auto; + height: auto; + border-width: 1px; + border-style: solid; +} +.pagination-info { + float: right; + margin: 0 6px; + padding: 0; + height: 30px; + line-height: 30px; + font-size: 12px; +} +.pagination span { + font-size: 12px; +} +.pagination-link .l-btn-text { + width: 24px; + text-align: center; + margin: 0; +} +.pagination-first { + background: url('images/pagination_icons.png') no-repeat 0 center; +} +.pagination-prev { + background: url('images/pagination_icons.png') no-repeat -16px center; +} +.pagination-next { + background: url('images/pagination_icons.png') no-repeat -32px center; +} +.pagination-last { + background: url('images/pagination_icons.png') no-repeat -48px center; +} +.pagination-load { + background: url('images/pagination_icons.png') no-repeat -64px center; +} +.pagination-loading { + background: url('images/loading.gif') no-repeat center center; +} +.pagination-page-list, +.pagination .pagination-num { + border-color: #000; +} diff --git a/src/main/webapp/css/themes/black/panel.css b/src/main/webapp/css/themes/black/panel.css new file mode 100644 index 0000000..a300aac --- /dev/null +++ b/src/main/webapp/css/themes/black/panel.css @@ -0,0 +1,265 @@ +.panel { + overflow: hidden; + text-align: left; + margin: 0; + border: 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.panel-header, +.panel-body { + border-width: 1px; + border-style: solid; +} +.panel-header { + padding: 5px; + position: relative; +} +.panel-title { + background: url('images/blank.gif') no-repeat; +} +.panel-header-noborder { + border-width: 0 0 1px 0; +} +.panel-body { + overflow: auto; + border-top-width: 0; + padding: 0; +} +.panel-body-noheader { + border-top-width: 1px; +} +.panel-body-noborder { + border-width: 0px; +} +.panel-body-nobottom { + border-bottom-width: 0; +} +.panel-with-icon { + padding-left: 18px; +} +.panel-icon, +.panel-tool { + position: absolute; + top: 50%; + margin-top: -8px; + height: 16px; + overflow: hidden; +} +.panel-icon { + left: 5px; + width: 16px; +} +.panel-tool { + right: 5px; + width: auto; +} +.panel-tool a { + display: inline-block; + width: 16px; + height: 16px; + opacity: 0.6; + filter: alpha(opacity=60); + margin: 0 0 0 2px; + vertical-align: top; +} +.panel-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + background-color: #777; + -moz-border-radius: 3px 3px 3px 3px; + -webkit-border-radius: 3px 3px 3px 3px; + border-radius: 3px 3px 3px 3px; +} +.panel-loading { + padding: 11px 0px 10px 30px; +} +.panel-noscroll { + overflow: hidden; +} +.panel-fit, +.panel-fit body { + height: 100%; + margin: 0; + padding: 0; + border: 0; + overflow: hidden; +} +.panel-loading { + background: url('images/loading.gif') no-repeat 10px 10px; +} +.panel-tool-close { + background: url('images/panel_tools.png') no-repeat -16px 0px; +} +.panel-tool-min { + background: url('images/panel_tools.png') no-repeat 0px 0px; +} +.panel-tool-max { + background: url('images/panel_tools.png') no-repeat 0px -16px; +} +.panel-tool-restore { + background: url('images/panel_tools.png') no-repeat -16px -16px; +} +.panel-tool-collapse { + background: url('images/panel_tools.png') no-repeat -32px 0; +} +.panel-tool-expand { + background: url('images/panel_tools.png') no-repeat -32px -16px; +} +.panel-header, +.panel-body { + border-color: #000; +} +.panel-header { + background-color: #3d3d3d; + background: -webkit-linear-gradient(top,#454545 0,#383838 100%); + background: -moz-linear-gradient(top,#454545 0,#383838 100%); + background: -o-linear-gradient(top,#454545 0,#383838 100%); + background: linear-gradient(to bottom,#454545 0,#383838 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#383838,GradientType=0); +} +.panel-body { + background-color: #666; + color: #fff; + font-size: 12px; +} +.panel-title { + font-size: 12px; + font-weight: bold; + color: #fff; + height: 16px; + line-height: 16px; +} +.panel-footer { + border: 1px solid #000; + overflow: hidden; + background: #555; +} +.panel-footer-noborder { + border-width: 1px 0 0 0; +} +.panel-hleft, +.panel-hright { + position: relative; +} +.panel-hleft>.panel-body, +.panel-hright>.panel-body { + position: absolute; +} +.panel-hleft>.panel-header { + float: left; +} +.panel-hright>.panel-header { + float: right; +} +.panel-hleft>.panel-body { + border-top-width: 1px; + border-left-width: 0; +} +.panel-hright>.panel-body { + border-top-width: 1px; + border-right-width: 0; +} +.panel-hleft>.panel-body-nobottom { + border-bottom-width: 1px; + border-right-width: 0; +} +.panel-hright>.panel-body-nobottom { + border-bottom-width: 1px; + border-left-width: 0; +} +.panel-hleft>.panel-footer { + position: absolute; + right: 0; +} +.panel-hright>.panel-footer { + position: absolute; + left: 0; +} +.panel-hleft>.panel-header-noborder { + border-width: 0 1px 0 0; +} +.panel-hright>.panel-header-noborder { + border-width: 0 0 0 1px; +} +.panel-hleft>.panel-body-noborder { + border-width: 0; +} +.panel-hright>.panel-body-noborder { + border-width: 0; +} +.panel-hleft>.panel-body-noheader { + border-left-width: 1px; +} +.panel-hright>.panel-body-noheader { + border-right-width: 1px; +} +.panel-hleft>.panel-footer-noborder { + border-width: 0 0 0 1px; +} +.panel-hright>.panel-footer-noborder { + border-width: 0 1px 0 0; +} +.panel-hleft>.panel-header .panel-icon, +.panel-hright>.panel-header .panel-icon { + margin-top: 0; + top: 5px; +} +.panel-hleft>.panel-header .panel-title, +.panel-hright>.panel-header .panel-title { + position: absolute; + min-width: 16px; + left: 21px; + top: 5px; + bottom: auto; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.panel-hleft>.panel-header .panel-title-up, +.panel-hright>.panel-header .panel-title-up { + position: absolute; + min-width: 16px; + left: 21px; + top: auto; + bottom: 5px; + text-align: right; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 16px; +} +.panel-hleft>.panel-header .panel-with-icon.panel-title-up, +.panel-hright>.panel-header .panel-with-icon.panel-title-up { + padding-left: 0; + padding-right: 18px; +} +.panel-hleft>.panel-header .panel-tool, +.panel-hright>.panel-header .panel-tool { + top: auto; + bottom: 5px; + width: 16px; + height: auto; + left: 50%; + margin-left: -8px; + margin-top: 0; +} +.panel-hleft>.panel-header .panel-tool a, +.panel-hright>.panel-header .panel-tool a { + margin: 2px 0 0 0; +} diff --git a/src/main/webapp/css/themes/black/passwordbox.css b/src/main/webapp/css/themes/black/passwordbox.css new file mode 100644 index 0000000..92c9ce5 --- /dev/null +++ b/src/main/webapp/css/themes/black/passwordbox.css @@ -0,0 +1,6 @@ +.passwordbox-open { + background: url('images/passwordbox_open.png') no-repeat center center; +} +.passwordbox-close { + background: url('images/passwordbox_close.png') no-repeat center center; +} diff --git a/src/main/webapp/css/themes/black/progressbar.css b/src/main/webapp/css/themes/black/progressbar.css new file mode 100644 index 0000000..79fcf62 --- /dev/null +++ b/src/main/webapp/css/themes/black/progressbar.css @@ -0,0 +1,32 @@ +.progressbar { + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + overflow: hidden; + position: relative; +} +.progressbar-text { + text-align: center; + position: absolute; +} +.progressbar-value { + position: relative; + overflow: hidden; + width: 0; + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.progressbar { + border-color: #000; +} +.progressbar-text { + color: #fff; + font-size: 12px; +} +.progressbar-value .progressbar-text { + background-color: #0052A3; + color: #fff; +} diff --git a/src/main/webapp/css/themes/black/propertygrid.css b/src/main/webapp/css/themes/black/propertygrid.css new file mode 100644 index 0000000..d71ce7c --- /dev/null +++ b/src/main/webapp/css/themes/black/propertygrid.css @@ -0,0 +1,28 @@ +.propertygrid .datagrid-view1 .datagrid-body td { + padding-bottom: 1px; + border-width: 0 1px 0 0; +} +.propertygrid .datagrid-group { + height: 21px; + overflow: hidden; + border-width: 0 0 1px 0; + border-style: solid; +} +.propertygrid .datagrid-group span { + font-weight: bold; +} +.propertygrid .datagrid-view1 .datagrid-body td { + border-color: #222; +} +.propertygrid .datagrid-view1 .datagrid-group { + border-color: #3d3d3d; +} +.propertygrid .datagrid-view2 .datagrid-group { + border-color: #222; +} +.propertygrid .datagrid-group, +.propertygrid .datagrid-view1 .datagrid-body, +.propertygrid .datagrid-view1 .datagrid-row-over, +.propertygrid .datagrid-view1 .datagrid-row-selected { + background: #3d3d3d; +} diff --git a/src/main/webapp/css/themes/black/searchbox.css b/src/main/webapp/css/themes/black/searchbox.css new file mode 100644 index 0000000..01f6697 --- /dev/null +++ b/src/main/webapp/css/themes/black/searchbox.css @@ -0,0 +1,61 @@ +.searchbox-button { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.searchbox-button-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.searchbox .l-btn-plain { + border: 0; + padding: 0; + vertical-align: top; + opacity: 0.6; + filter: alpha(opacity=60); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .l-btn-plain:hover { + border: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox a.m-btn-plain-active { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .m-btn-active { + border-width: 0 1px 0 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .textbox-button-right { + border-width: 0 0 0 1px; +} +.searchbox .textbox-button-left { + border-width: 0 1px 0 0; +} +.searchbox-button { + background: url('images/searchbox_button.png') no-repeat center center; +} +.searchbox .l-btn-plain { + background: #3d3d3d; +} +.searchbox .l-btn-plain-disabled, +.searchbox .l-btn-plain-disabled:hover { + opacity: 0.5; + filter: alpha(opacity=50); +} diff --git a/src/main/webapp/css/themes/black/slider.css b/src/main/webapp/css/themes/black/slider.css new file mode 100644 index 0000000..cd66bf5 --- /dev/null +++ b/src/main/webapp/css/themes/black/slider.css @@ -0,0 +1,101 @@ +.slider-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-h { + height: 22px; +} +.slider-v { + width: 22px; +} +.slider-inner { + position: relative; + height: 6px; + top: 7px; + border-width: 1px; + border-style: solid; + border-radius: 5px; +} +.slider-handle { + position: absolute; + display: block; + outline: none; + width: 20px; + height: 20px; + top: 50%; + margin-top: -10px; + margin-left: -10px; +} +.slider-tip { + position: absolute; + display: inline-block; + line-height: 12px; + font-size: 12px; + white-space: nowrap; + top: -22px; +} +.slider-rule { + position: relative; + top: 15px; +} +.slider-rule span { + position: absolute; + display: inline-block; + font-size: 0; + height: 5px; + border-width: 0 0 0 1px; + border-style: solid; +} +.slider-rulelabel { + position: relative; + top: 20px; +} +.slider-rulelabel span { + position: absolute; + display: inline-block; + font-size: 12px; +} +.slider-v .slider-inner { + width: 6px; + left: 7px; + top: 0; + float: left; +} +.slider-v .slider-handle { + left: 50%; + margin-top: -10px; +} +.slider-v .slider-tip { + left: -10px; + margin-top: -6px; +} +.slider-v .slider-rule { + float: left; + top: 0; + left: 16px; +} +.slider-v .slider-rule span { + width: 5px; + height: 'auto'; + border-left: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.slider-v .slider-rulelabel { + float: left; + top: 0; + left: 23px; +} +.slider-handle { + background: url('images/slider_handle.png') no-repeat; +} +.slider-inner { + border-color: #000; + background: #3d3d3d; +} +.slider-rule span { + border-color: #000; +} +.slider-rulelabel span { + color: #fff; +} diff --git a/src/main/webapp/css/themes/black/spinner.css b/src/main/webapp/css/themes/black/spinner.css new file mode 100644 index 0000000..6686ca0 --- /dev/null +++ b/src/main/webapp/css/themes/black/spinner.css @@ -0,0 +1,58 @@ +.spinner-arrow { + background-color: #3d3d3d; + display: inline-block; + overflow: hidden; + vertical-align: top; + margin: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + width: 18px; +} +.spinner-arrow-up, +.spinner-arrow-down { + opacity: 0.6; + filter: alpha(opacity=60); + display: block; + font-size: 1px; + width: 18px; + height: 10px; + width: 100%; + height: 50%; + color: #fff; + outline-style: none; +} +.spinner-arrow-hover { + background-color: #777; + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-arrow-up:hover, +.spinner-arrow-down:hover { + opacity: 1.0; + filter: alpha(opacity=100); + background-color: #777; +} +.textbox-icon-disabled .spinner-arrow-up:hover, +.textbox-icon-disabled .spinner-arrow-down:hover { + opacity: 0.6; + filter: alpha(opacity=60); + background-color: #3d3d3d; + cursor: default; +} +.spinner .textbox-icon-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-arrow-up { + background: url('images/spinner_arrows.png') no-repeat 1px center; +} +.spinner-arrow-down { + background: url('images/spinner_arrows.png') no-repeat -15px center; +} +.spinner-button-up { + background: url('images/spinner_arrows.png') no-repeat -32px center; +} +.spinner-button-down { + background: url('images/spinner_arrows.png') no-repeat -48px center; +} diff --git a/src/main/webapp/css/themes/black/splitbutton.css b/src/main/webapp/css/themes/black/splitbutton.css new file mode 100644 index 0000000..b42e396 --- /dev/null +++ b/src/main/webapp/css/themes/black/splitbutton.css @@ -0,0 +1,12 @@ +.s-btn:hover .m-btn-line, +.s-btn-active .m-btn-line, +.s-btn-plain-active .m-btn-line { + display: inline-block; +} +.l-btn:hover .s-btn-downarrow, +.s-btn-active .s-btn-downarrow, +.s-btn-plain-active .s-btn-downarrow { + border-style: solid; + border-color: #cccccc; + border-width: 0 0 0 1px; +} diff --git a/src/main/webapp/css/themes/black/switchbutton.css b/src/main/webapp/css/themes/black/switchbutton.css new file mode 100644 index 0000000..b1b5714 --- /dev/null +++ b/src/main/webapp/css/themes/black/switchbutton.css @@ -0,0 +1,77 @@ +.switchbutton { + text-decoration: none; + display: inline-block; + overflow: hidden; + vertical-align: middle; + margin: 0; + padding: 0; + cursor: pointer; + background: #555; + border: 1px solid #555; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.switchbutton-inner { + display: inline-block; + overflow: hidden; + position: relative; + top: -1px; + left: -1px; +} +.switchbutton-on, +.switchbutton-off, +.switchbutton-handle { + display: inline-block; + text-align: center; + height: 100%; + float: left; + font-size: 12px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.switchbutton-on { + background: #0052A3; + color: #fff; +} +.switchbutton-off { + background-color: #666; + color: #fff; +} +.switchbutton-on, +.switchbutton-reversed .switchbutton-off { + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.switchbutton-off, +.switchbutton-reversed .switchbutton-on { + -moz-border-radius: 0 5px 5px 0; + -webkit-border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; +} +.switchbutton-handle { + position: absolute; + top: 0; + left: 50%; + background-color: #666; + color: #fff; + border: 1px solid #555; + -moz-box-shadow: 0 0 3px 0 #555; + -webkit-box-shadow: 0 0 3px 0 #555; + box-shadow: 0 0 3px 0 #555; +} +.switchbutton-value { + position: absolute; + top: 0; + left: -5000px; +} +.switchbutton-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.switchbutton-disabled, +.switchbutton-readonly { + cursor: default; +} diff --git a/src/main/webapp/css/themes/black/tabs.css b/src/main/webapp/css/themes/black/tabs.css new file mode 100644 index 0000000..4ab73de --- /dev/null +++ b/src/main/webapp/css/themes/black/tabs.css @@ -0,0 +1,413 @@ +.tabs-container { + overflow: hidden; +} +.tabs-header { + border-width: 1px; + border-style: solid; + border-bottom-width: 0; + position: relative; + padding: 0; + padding-top: 2px; + overflow: hidden; +} +.tabs-scroller-left, +.tabs-scroller-right { + position: absolute; + top: auto; + bottom: 0; + width: 18px; + font-size: 1px; + display: none; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.tabs-scroller-left { + left: 0; +} +.tabs-scroller-right { + right: 0; +} +.tabs-tool { + position: absolute; + bottom: 0; + padding: 1px; + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.tabs-header-plain .tabs-tool { + padding: 0 1px; +} +.tabs-wrap { + position: relative; + left: 0; + overflow: hidden; + width: 100%; + margin: 0; + padding: 0; +} +.tabs-scrolling { + margin-left: 18px; + margin-right: 18px; +} +.tabs-disabled { + opacity: 0.3; + filter: alpha(opacity=30); +} +.tabs { + list-style-type: none; + height: 26px; + margin: 0px; + padding: 0px; + padding-left: 4px; + width: 50000px; + border-style: solid; + border-width: 0 0 1px 0; +} +.tabs li { + float: left; + display: inline-block; + margin: 0 4px -1px 0; + padding: 0; + position: relative; + border: 0; +} +.tabs li a.tabs-inner { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0 10px; + height: 25px; + line-height: 25px; + text-align: center; + white-space: nowrap; + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 0 0; + -webkit-border-radius: 5px 5px 0 0; + border-radius: 5px 5px 0 0; +} +.tabs li.tabs-selected a.tabs-inner { + font-weight: bold; + outline: none; +} +.tabs li.tabs-selected a:hover.tabs-inner { + cursor: default; + pointer: default; +} +.tabs li a.tabs-close, +.tabs-p-tool { + position: absolute; + font-size: 1px; + display: block; + height: 12px; + padding: 0; + top: 50%; + margin-top: -6px; + overflow: hidden; +} +.tabs li a.tabs-close { + width: 12px; + right: 5px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs-p-tool { + right: 16px; +} +.tabs-p-tool a { + display: inline-block; + font-size: 1px; + width: 12px; + height: 12px; + margin: 0; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs li a:hover.tabs-close, +.tabs-p-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + cursor: hand; + cursor: pointer; +} +.tabs-with-icon { + padding-left: 18px; +} +.tabs-icon { + position: absolute; + width: 16px; + height: 16px; + left: 10px; + top: 50%; + margin-top: -8px; +} +.tabs-title { + font-size: 12px; +} +.tabs-closable { + padding-right: 8px; +} +.tabs-panels { + margin: 0px; + padding: 0px; + border-width: 1px; + border-style: solid; + border-top-width: 0; + overflow: hidden; +} +.tabs-header-bottom { + border-width: 0 1px 1px 1px; + padding: 0 0 2px 0; +} +.tabs-header-bottom .tabs { + border-width: 1px 0 0 0; +} +.tabs-header-bottom .tabs li { + margin: -1px 4px 0 0; +} +.tabs-header-bottom .tabs li a.tabs-inner { + -moz-border-radius: 0 0 5px 5px; + -webkit-border-radius: 0 0 5px 5px; + border-radius: 0 0 5px 5px; +} +.tabs-header-bottom .tabs-tool { + top: 0; +} +.tabs-header-bottom .tabs-scroller-left, +.tabs-header-bottom .tabs-scroller-right { + top: 0; + bottom: auto; +} +.tabs-panels-top { + border-width: 1px 1px 0 1px; +} +.tabs-header-left { + float: left; + border-width: 1px 0 1px 1px; + padding: 0; +} +.tabs-header-right { + float: right; + border-width: 1px 1px 1px 0; + padding: 0; +} +.tabs-header-left .tabs-wrap, +.tabs-header-right .tabs-wrap { + height: 100%; +} +.tabs-header-left .tabs { + height: 100%; + padding: 4px 0 0 2px; + border-width: 0 1px 0 0; +} +.tabs-header-right .tabs { + height: 100%; + padding: 4px 2px 0 0; + border-width: 0 0 0 1px; +} +.tabs-header-left .tabs li, +.tabs-header-right .tabs li { + display: block; + width: 100%; + position: relative; +} +.tabs-header-left .tabs li { + left: auto; + right: 0; + margin: 0 -1px 4px 0; + float: right; +} +.tabs-header-right .tabs li { + left: 0; + right: auto; + margin: 0 0 4px -1px; + float: left; +} +.tabs-justified li a.tabs-inner { + padding-left: 0; + padding-right: 0; +} +.tabs-header-left .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.tabs-header-right .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 0 5px 5px 0; + -webkit-border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; +} +.tabs-panels-right { + float: right; + border-width: 1px 1px 1px 0; +} +.tabs-panels-left { + float: left; + border-width: 1px 0 1px 1px; +} +.tabs-header-noborder, +.tabs-panels-noborder { + border: 0px; +} +.tabs-header-plain { + border: 0px; + background: transparent; +} +.tabs-pill { + padding-bottom: 3px; +} +.tabs-header-bottom .tabs-pill { + padding-top: 3px; + padding-bottom: 0; +} +.tabs-header-left .tabs-pill { + padding-right: 3px; +} +.tabs-header-right .tabs-pill { + padding-left: 3px; +} +.tabs-header .tabs-pill li a.tabs-inner { + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.tabs-header-narrow, +.tabs-header-narrow .tabs-narrow { + padding: 0; +} +.tabs-narrow li, +.tabs-header-bottom .tabs-narrow li { + margin-left: 0; + margin-right: -1px; +} +.tabs-narrow li.tabs-last, +.tabs-header-bottom .tabs-narrow li.tabs-last { + margin-right: 0; +} +.tabs-header-left .tabs-narrow, +.tabs-header-right .tabs-narrow { + padding-top: 0; +} +.tabs-header-left .tabs-narrow li { + margin-bottom: -1px; + margin-right: -1px; +} +.tabs-header-left .tabs-narrow li.tabs-last, +.tabs-header-right .tabs-narrow li.tabs-last { + margin-bottom: 0; +} +.tabs-header-right .tabs-narrow li { + margin-bottom: -1px; + margin-left: -1px; +} +.tabs-scroller-left { + background: #3d3d3d url('images/tabs_icons.png') no-repeat 1px center; +} +.tabs-scroller-right { + background: #3d3d3d url('images/tabs_icons.png') no-repeat -15px center; +} +.tabs li a.tabs-close { + background: url('images/tabs_icons.png') no-repeat -34px center; +} +.tabs li a.tabs-inner:hover { + background: #777; + color: #fff; + filter: none; +} +.tabs li.tabs-selected a.tabs-inner { + background-color: #666; + color: #fff; + background: -webkit-linear-gradient(top,#454545 0,#666 100%); + background: -moz-linear-gradient(top,#454545 0,#666 100%); + background: -o-linear-gradient(top,#454545 0,#666 100%); + background: linear-gradient(to bottom,#454545 0,#666 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#666,GradientType=0); +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(top,#666 0,#454545 100%); + background: -moz-linear-gradient(top,#666 0,#454545 100%); + background: -o-linear-gradient(top,#666 0,#454545 100%); + background: linear-gradient(to bottom,#666 0,#454545 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#666,endColorstr=#454545,GradientType=0); +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(left,#454545 0,#666 100%); + background: -moz-linear-gradient(left,#454545 0,#666 100%); + background: -o-linear-gradient(left,#454545 0,#666 100%); + background: linear-gradient(to right,#454545 0,#666 100%); + background-repeat: repeat-y; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#666,GradientType=1); +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(left,#666 0,#454545 100%); + background: -moz-linear-gradient(left,#666 0,#454545 100%); + background: -o-linear-gradient(left,#666 0,#454545 100%); + background: linear-gradient(to right,#666 0,#454545 100%); + background-repeat: repeat-y; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#666,endColorstr=#454545,GradientType=1); +} +.tabs li a.tabs-inner { + color: #fff; + background-color: #3d3d3d; + background: -webkit-linear-gradient(top,#454545 0,#383838 100%); + background: -moz-linear-gradient(top,#454545 0,#383838 100%); + background: -o-linear-gradient(top,#454545 0,#383838 100%); + background: linear-gradient(to bottom,#454545 0,#383838 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#383838,GradientType=0); +} +.tabs-header, +.tabs-tool { + background-color: #3d3d3d; +} +.tabs-header-plain { + background: transparent; +} +.tabs-header, +.tabs-scroller-left, +.tabs-scroller-right, +.tabs-tool, +.tabs, +.tabs-panels, +.tabs li a.tabs-inner, +.tabs li.tabs-selected a.tabs-inner, +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, +.tabs-header-left .tabs li.tabs-selected a.tabs-inner, +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-color: #000; +} +.tabs-p-tool a:hover, +.tabs li a:hover.tabs-close, +.tabs-scroller-over { + background-color: #777; +} +.tabs li.tabs-selected a.tabs-inner { + border-bottom: 1px solid #666; +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + border-top: 1px solid #666; +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + border-right: 1px solid #666; +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-left: 1px solid #666; +} +.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { + background: #0052A3; + color: #fff; + filter: none; + border-color: #000; +} diff --git a/src/main/webapp/css/themes/black/tagbox.css b/src/main/webapp/css/themes/black/tagbox.css new file mode 100644 index 0000000..e08ec87 --- /dev/null +++ b/src/main/webapp/css/themes/black/tagbox.css @@ -0,0 +1,44 @@ +.tagbox { + cursor: text; +} +.tagbox .textbox-text { + float: left; +} +.tagbox-label { + position: relative; + display: block; + margin: 4px 0 0 4px; + padding: 0 20px 0 4px; + float: left; + vertical-align: top; + text-decoration: none; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + background: #777; + color: #fff; +} +.tagbox-remove { + background: url('images/tagbox_icons.png') no-repeat -16px center; + position: absolute; + display: block; + width: 16px; + height: 16px; + right: 2px; + top: 50%; + margin-top: -8px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tagbox-remove:hover { + opacity: 1; + filter: alpha(opacity=100); +} +.textbox-disabled .tagbox-label { + cursor: default; +} +.textbox-disabled .tagbox-remove:hover { + cursor: default; + opacity: 0.6; + filter: alpha(opacity=60); +} diff --git a/src/main/webapp/css/themes/black/textbox.css b/src/main/webapp/css/themes/black/textbox.css new file mode 100644 index 0000000..f93ad88 --- /dev/null +++ b/src/main/webapp/css/themes/black/textbox.css @@ -0,0 +1,139 @@ +.textbox { + position: relative; + border: 1px solid #000; + background-color: #fff; + vertical-align: middle; + display: inline-block; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.textbox .textbox-text { + font-size: 12px; + border: 0; + margin: 0; + padding: 4px; + white-space: normal; + vertical-align: top; + outline-style: none; + resize: none; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.textbox .textbox-text::-ms-clear, +.textbox .textbox-text::-ms-reveal { + display: none; +} +.textbox textarea.textbox-text { + white-space: pre-wrap; +} +.textbox .textbox-prompt { + font-size: 12px; + color: #aaa; +} +.textbox .textbox-bgicon { + background-position: 3px center; + padding-left: 21px; +} +.textbox .textbox-button, +.textbox .textbox-button:hover { + position: absolute; + top: 0; + padding: 0; + vertical-align: top; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.textbox .textbox-button-right, +.textbox .textbox-button-right:hover { + right: 0; + border-width: 0 0 0 1px; +} +.textbox .textbox-button-left, +.textbox .textbox-button-left:hover { + left: 0; + border-width: 0 1px 0 0; +} +.textbox .textbox-button-top, +.textbox .textbox-button-top:hover { + left: 0; + border-width: 0 0 1px 0; +} +.textbox .textbox-button-bottom, +.textbox .textbox-button-bottom:hover { + top: auto; + bottom: 0; + left: 0; + border-width: 1px 0 0 0; +} +.textbox-addon { + position: absolute; + top: 0; +} +.textbox-label { + display: inline-block; + width: 80px; + height: 22px; + line-height: 22px; + vertical-align: middle; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + margin: 0; + padding-right: 5px; +} +.textbox-label-after { + padding-left: 5px; + padding-right: 0; +} +.textbox-label-top { + display: block; + width: auto; + padding: 0; +} +.textbox-disabled, +.textbox-label-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-icon { + display: inline-block; + width: 18px; + height: 20px; + overflow: hidden; + vertical-align: top; + background-position: center center; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); + text-decoration: none; + outline-style: none; +} +.textbox-icon-disabled, +.textbox-icon-readonly { + cursor: default; +} +.textbox-icon:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.textbox-icon-disabled:hover { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-focused { + border-color: #000000; + -moz-box-shadow: 0 0 3px 0 #000; + -webkit-box-shadow: 0 0 3px 0 #000; + box-shadow: 0 0 3px 0 #000; +} +.textbox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; +} diff --git a/src/main/webapp/css/themes/black/tooltip.css b/src/main/webapp/css/themes/black/tooltip.css new file mode 100644 index 0000000..391fd95 --- /dev/null +++ b/src/main/webapp/css/themes/black/tooltip.css @@ -0,0 +1,103 @@ +.tooltip { + position: absolute; + display: none; + z-index: 9900000; + outline: none; + opacity: 1; + filter: alpha(opacity=100); + padding: 5px; + border-width: 1px; + border-style: solid; + border-radius: 5px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.tooltip-content { + font-size: 12px; +} +.tooltip-arrow-outer, +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + line-height: 0; + font-size: 0; + border-style: solid; + border-width: 6px; + border-color: transparent; + _border-color: tomato; + _filter: chroma(color=tomato); +} +.tooltip-arrow { + display: none \9; +} +.tooltip-right .tooltip-arrow-outer { + left: 0; + top: 50%; + margin: -6px 0 0 -13px; +} +.tooltip-right .tooltip-arrow { + left: 0; + top: 50%; + margin: -6px 0 0 -12px; +} +.tooltip-left .tooltip-arrow-outer { + right: 0; + top: 50%; + margin: -6px -13px 0 0; +} +.tooltip-left .tooltip-arrow { + right: 0; + top: 50%; + margin: -6px -12px 0 0; +} +.tooltip-top .tooltip-arrow-outer { + bottom: 0; + left: 50%; + margin: 0 0 -13px -6px; +} +.tooltip-top .tooltip-arrow { + bottom: 0; + left: 50%; + margin: 0 0 -12px -6px; +} +.tooltip-bottom .tooltip-arrow-outer { + top: 0; + left: 50%; + margin: -13px 0 0 -6px; +} +.tooltip-bottom .tooltip-arrow { + top: 0; + left: 50%; + margin: -12px 0 0 -6px; +} +.tooltip { + background-color: #666; + border-color: #000; + color: #fff; +} +.tooltip-right .tooltip-arrow-outer { + border-right-color: #000; +} +.tooltip-right .tooltip-arrow { + border-right-color: #666; +} +.tooltip-left .tooltip-arrow-outer { + border-left-color: #000; +} +.tooltip-left .tooltip-arrow { + border-left-color: #666; +} +.tooltip-top .tooltip-arrow-outer { + border-top-color: #000; +} +.tooltip-top .tooltip-arrow { + border-top-color: #666; +} +.tooltip-bottom .tooltip-arrow-outer { + border-bottom-color: #000; +} +.tooltip-bottom .tooltip-arrow { + border-bottom-color: #666; +} diff --git a/src/main/webapp/css/themes/black/tree.css b/src/main/webapp/css/themes/black/tree.css new file mode 100644 index 0000000..88dfe0b --- /dev/null +++ b/src/main/webapp/css/themes/black/tree.css @@ -0,0 +1,161 @@ +.tree { + margin: 0; + padding: 0; + list-style-type: none; +} +.tree li { + white-space: nowrap; +} +.tree li ul { + list-style-type: none; + margin: 0; + padding: 0; +} +.tree-node { + height: 18px; + white-space: nowrap; + cursor: pointer; +} +.tree-hit { + cursor: pointer; +} +.tree-expanded, +.tree-collapsed, +.tree-folder, +.tree-file, +.tree-checkbox, +.tree-indent { + display: inline-block; + width: 16px; + height: 18px; + vertical-align: top; + overflow: hidden; +} +.tree-expanded { + background: url('images/tree_icons.png') no-repeat -18px 0px; +} +.tree-expanded-hover { + background: url('images/tree_icons.png') no-repeat -50px 0px; +} +.tree-collapsed { + background: url('images/tree_icons.png') no-repeat 0px 0px; +} +.tree-collapsed-hover { + background: url('images/tree_icons.png') no-repeat -32px 0px; +} +.tree-lines .tree-expanded, +.tree-lines .tree-root-first .tree-expanded { + background: url('images/tree_icons.png') no-repeat -144px 0; +} +.tree-lines .tree-collapsed, +.tree-lines .tree-root-first .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -128px 0; +} +.tree-lines .tree-node-last .tree-expanded, +.tree-lines .tree-root-one .tree-expanded { + background: url('images/tree_icons.png') no-repeat -80px 0; +} +.tree-lines .tree-node-last .tree-collapsed, +.tree-lines .tree-root-one .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -64px 0; +} +.tree-line { + background: url('images/tree_icons.png') no-repeat -176px 0; +} +.tree-join { + background: url('images/tree_icons.png') no-repeat -192px 0; +} +.tree-joinbottom { + background: url('images/tree_icons.png') no-repeat -160px 0; +} +.tree-folder { + background: url('images/tree_icons.png') no-repeat -208px 0; +} +.tree-folder-open { + background: url('images/tree_icons.png') no-repeat -224px 0; +} +.tree-file { + background: url('images/tree_icons.png') no-repeat -240px 0; +} +.tree-loading { + background: url('images/loading.gif') no-repeat center center; +} +.tree-checkbox0 { + background: url('images/tree_icons.png') no-repeat -208px -18px; +} +.tree-checkbox1 { + background: url('images/tree_icons.png') no-repeat -224px -18px; +} +.tree-checkbox2 { + background: url('images/tree_icons.png') no-repeat -240px -18px; +} +.tree-title { + font-size: 12px; + display: inline-block; + text-decoration: none; + vertical-align: top; + white-space: nowrap; + padding: 0 2px; + height: 18px; + line-height: 18px; +} +.tree-node-proxy { + font-size: 12px; + line-height: 20px; + padding: 0 2px 0 20px; + border-width: 1px; + border-style: solid; + z-index: 9900000; +} +.tree-dnd-icon { + display: inline-block; + position: absolute; + width: 16px; + height: 18px; + left: 2px; + top: 50%; + margin-top: -9px; +} +.tree-dnd-yes { + background: url('images/tree_icons.png') no-repeat -256px 0; +} +.tree-dnd-no { + background: url('images/tree_icons.png') no-repeat -256px -18px; +} +.tree-node-top { + border-top: 1px dotted red; +} +.tree-node-bottom { + border-bottom: 1px dotted red; +} +.tree-node-append .tree-title { + border: 1px dotted red; +} +.tree-editor { + border: 1px solid #000; + font-size: 12px; + line-height: 16px; + padding: 0 4px; + margin: 0; + width: 80px; + outline-style: none; + vertical-align: top; + position: absolute; + top: 0; +} +.tree-node-proxy { + background-color: #666; + color: #fff; + border-color: #000; +} +.tree-node-hover { + background: #777; + color: #fff; +} +.tree-node-selected { + background: #0052A3; + color: #fff; +} +.tree-node-hidden { + display: none; +} diff --git a/src/main/webapp/css/themes/black/validatebox.css b/src/main/webapp/css/themes/black/validatebox.css new file mode 100644 index 0000000..1fc3ad6 --- /dev/null +++ b/src/main/webapp/css/themes/black/validatebox.css @@ -0,0 +1,5 @@ +.validatebox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; + color: #000; +} diff --git a/src/main/webapp/css/themes/black/window.css b/src/main/webapp/css/themes/black/window.css new file mode 100644 index 0000000..37de72d --- /dev/null +++ b/src/main/webapp/css/themes/black/window.css @@ -0,0 +1,183 @@ +.window { + overflow: hidden; + padding: 5px; + border-width: 1px; + border-style: solid; +} +.window .window-header { + background: transparent; + padding: 0px 0px 6px 0px; +} +.window .window-body { + border-width: 1px; + border-style: solid; + border-top-width: 0px; +} +.window .window-body-noheader { + border-top-width: 1px; +} +.window .panel-body-nobottom { + border-bottom-width: 0; +} +.window .window-header .panel-icon, +.window .window-header .panel-tool { + top: 50%; + margin-top: -11px; +} +.window .window-header .panel-icon { + left: 1px; +} +.window .window-header .panel-tool { + right: 1px; +} +.window .window-header .panel-with-icon { + padding-left: 18px; +} +.window-proxy { + position: absolute; + overflow: hidden; +} +.window-proxy-mask { + position: absolute; + filter: alpha(opacity=5); + opacity: 0.05; +} +.window-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + filter: alpha(opacity=40); + opacity: 0.40; + font-size: 1px; + overflow: hidden; +} +.window, +.window-shadow { + position: absolute; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.window-shadow { + background: #777; + -moz-box-shadow: 2px 2px 3px #787878; + -webkit-box-shadow: 2px 2px 3px #787878; + box-shadow: 2px 2px 3px #787878; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.window, +.window .window-body { + border-color: #000; +} +.window { + background-color: #3d3d3d; + background: -webkit-linear-gradient(top,#454545 0,#383838 20%); + background: -moz-linear-gradient(top,#454545 0,#383838 20%); + background: -o-linear-gradient(top,#454545 0,#383838 20%); + background: linear-gradient(to bottom,#454545 0,#383838 20%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#383838,GradientType=0); +} +.window-proxy { + border: 1px dashed #000; +} +.window-proxy-mask, +.window-mask { + background: #000; +} +.window .panel-footer { + border: 1px solid #000; + position: relative; + top: -1px; +} +.window-thinborder { + padding: 0; +} +.window-thinborder .window-header { + padding: 5px 5px 6px 5px; +} +.window-thinborder .window-body { + border-width: 0px; +} +.window-thinborder .window-header .panel-icon, +.window-thinborder .window-header .panel-tool { + margin-top: -9px; + margin-left: 5px; + margin-right: 5px; +} +.window-noborder { + border: 0; +} +.window.panel-hleft .window-header { + padding: 0 6px 0 0; +} +.window.panel-hright .window-header { + padding: 0 0 0 6px; +} +.window.panel-hleft>.panel-header .panel-title { + top: auto; + left: 16px; +} +.window.panel-hright>.panel-header .panel-title { + top: auto; + right: 16px; +} +.window.panel-hleft>.panel-header .panel-title-up, +.window.panel-hright>.panel-header .panel-title-up { + bottom: 0; +} +.window.panel-hleft .window-body { + border-width: 1px 1px 1px 0; +} +.window.panel-hright .window-body { + border-width: 1px 0 1px 1px; +} +.window.panel-hleft .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: 0; +} +.window.panel-hright .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: auto; + right: 1px; +} +.window.panel-hleft .window-header .panel-tool, +.window.panel-hright .window-header .panel-tool { + margin-top: 0; + top: auto; + bottom: 1px; + right: auto; + margin-right: 0; + left: 50%; + margin-left: -11px; +} +.window.panel-hright .window-header .panel-tool { + left: auto; + right: 1px; +} +.window-thinborder.panel-hleft .window-header { + padding: 5px 6px 5px 5px; +} +.window-thinborder.panel-hright .window-header { + padding: 5px 5px 5px 6px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title { + left: 21px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title-up, +.window-thinborder.panel-hright>.panel-header .panel-title-up { + bottom: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-icon, +.window-thinborder.panel-hright .window-header .panel-icon { + margin-top: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-tool, +.window-thinborder.panel-hright .window-header .panel-tool { + left: 16px; + bottom: 5px; +} diff --git a/src/main/webapp/css/themes/bootstrap/accordion.css b/src/main/webapp/css/themes/bootstrap/accordion.css new file mode 100644 index 0000000..9d268c0 --- /dev/null +++ b/src/main/webapp/css/themes/bootstrap/accordion.css @@ -0,0 +1,89 @@ +.accordion { + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.accordion .accordion-header { + border-width: 0 0 1px; + cursor: pointer; +} +.accordion .accordion-body { + border-width: 0 0 1px; +} +.accordion-noborder { + border-width: 0; +} +.accordion-noborder .accordion-header { + border-width: 0 0 1px; +} +.accordion-noborder .accordion-body { + border-width: 0 0 1px; +} +.accordion-collapse { + background: url('images/accordion_arrows.png') no-repeat 0 0; +} +.accordion-expand { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.accordion { + background: #ffffff; + border-color: #D4D4D4; +} +.accordion .accordion-header { + background: #F2F2F2; + filter: none; +} +.accordion .accordion-header-selected { + background: #0081c2; +} +.accordion .accordion-header-selected .panel-title { + color: #fff; +} +.accordion .panel-last > .accordion-header { + border-bottom-color: #F2F2F2; +} +.accordion .panel-last > .accordion-body { + border-bottom-color: #ffffff; +} +.accordion .panel-last > .accordion-header-selected, +.accordion .panel-last > .accordion-header-border { + border-bottom-color: #D4D4D4; +} +.accordion> .panel-hleft { + float: left; +} +.accordion> .panel-hleft>.panel-header { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft> .panel-body { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft.panel-last > .accordion-header { + border-right-color: #F2F2F2; +} +.accordion> .panel-hleft.panel-last > .accordion-body { + border-right-color: #ffffff; +} +.accordion> .panel-hleft.panel-last > .accordion-header-selected, +.accordion> .panel-hleft.panel-last > .accordion-header-border { + border-right-color: #D4D4D4; +} +.accordion> .panel-hright { + float: right; +} +.accordion> .panel-hright>.panel-header { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright> .panel-body { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright.panel-last > .accordion-header { + border-left-color: #F2F2F2; +} +.accordion> .panel-hright.panel-last > .accordion-body { + border-left-color: #ffffff; +} +.accordion> .panel-hright.panel-last > .accordion-header-selected, +.accordion> .panel-hright.panel-last > .accordion-header-border { + border-left-color: #D4D4D4; +} diff --git a/src/main/webapp/css/themes/bootstrap/calendar.css b/src/main/webapp/css/themes/bootstrap/calendar.css new file mode 100644 index 0000000..ae1a8ac --- /dev/null +++ b/src/main/webapp/css/themes/bootstrap/calendar.css @@ -0,0 +1,202 @@ +.calendar { + border-width: 1px; + border-style: solid; + padding: 1px; + overflow: hidden; +} +.calendar table { + table-layout: fixed; + border-collapse: separate; + font-size: 12px; + width: 100%; + height: 100%; +} +.calendar table td, +.calendar table th { + font-size: 12px; +} +.calendar-noborder { + border: 0; +} +.calendar-header { + position: relative; + height: 22px; +} +.calendar-title { + text-align: center; + height: 22px; +} +.calendar-title span { + position: relative; + display: inline-block; + top: 2px; + padding: 0 3px; + height: 18px; + line-height: 18px; + font-size: 12px; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-prevmonth, +.calendar-nextmonth, +.calendar-prevyear, +.calendar-nextyear { + position: absolute; + top: 50%; + margin-top: -7px; + width: 14px; + height: 14px; + cursor: pointer; + font-size: 1px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-prevmonth { + left: 20px; + background: url('images/calendar_arrows.png') no-repeat -18px -2px; +} +.calendar-nextmonth { + right: 20px; + background: url('images/calendar_arrows.png') no-repeat -34px -2px; +} +.calendar-prevyear { + left: 3px; + background: url('images/calendar_arrows.png') no-repeat -1px -2px; +} +.calendar-nextyear { + right: 3px; + background: url('images/calendar_arrows.png') no-repeat -49px -2px; +} +.calendar-body { + position: relative; +} +.calendar-body th, +.calendar-body td { + text-align: center; +} +.calendar-day { + border: 0; + padding: 1px; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-other-month { + opacity: 0.3; + filter: alpha(opacity=30); +} +.calendar-disabled { + opacity: 0.6; + filter: alpha(opacity=60); + cursor: default; +} +.calendar-menu { + position: absolute; + top: 0; + left: 0; + width: 180px; + height: 150px; + padding: 5px; + font-size: 12px; + display: none; + overflow: hidden; +} +.calendar-menu-year-inner { + text-align: center; + padding-bottom: 5px; +} +.calendar-menu-year { + width: 50px; + text-align: center; + border-width: 1px; + border-style: solid; + outline-style: none; + resize: none; + margin: 0; + padding: 2px; + font-weight: bold; + font-size: 12px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-menu-prev, +.calendar-menu-next { + display: inline-block; + width: 21px; + height: 21px; + vertical-align: top; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-menu-prev { + margin-right: 10px; + background: url('images/calendar_arrows.png') no-repeat 2px 2px; +} +.calendar-menu-next { + margin-left: 10px; + background: url('images/calendar_arrows.png') no-repeat -45px 2px; +} +.calendar-menu-month { + text-align: center; + cursor: pointer; + font-weight: bold; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-body th, +.calendar-menu-month { + color: #808080; +} +.calendar-day { + color: #333; +} +.calendar-sunday { + color: #CC2222; +} +.calendar-saturday { + color: #00ee00; +} +.calendar-today { + color: #0000ff; +} +.calendar-menu-year { + border-color: #D4D4D4; +} +.calendar { + border-color: #D4D4D4; +} +.calendar-header { + background: #F2F2F2; +} +.calendar-body, +.calendar-menu { + background: #ffffff; +} +.calendar-body th { + background: #F5F5F5; + padding: 2px 0; +} +.calendar-hover, +.calendar-nav-hover, +.calendar-menu-hover { + background-color: #e6e6e6; + color: #00438a; +} +.calendar-hover { + border: 1px solid #ddd; + padding: 0; +} +.calendar-selected { + background-color: #0081c2; + color: #fff; + border: 1px solid #0070a9; + padding: 0; +} diff --git a/src/main/webapp/css/themes/bootstrap/combo.css b/src/main/webapp/css/themes/bootstrap/combo.css new file mode 100644 index 0000000..fc9030d --- /dev/null +++ b/src/main/webapp/css/themes/bootstrap/combo.css @@ -0,0 +1,35 @@ +.combo-arrow { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.combo-arrow-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.combo-panel { + overflow: auto; +} +.combo-arrow { + background: url('images/combo_arrow.png') no-repeat center center; +} +.combo-panel { + background-color: #ffffff; +} +.combo-arrow { + background-color: #F2F2F2; +} +.combo-arrow-hover { + background-color: #e6e6e6; +} +.combo-arrow:hover { + background-color: #e6e6e6; +} +.combo .textbox-icon-disabled:hover { + cursor: default; +} diff --git a/src/main/webapp/css/themes/bootstrap/combobox.css b/src/main/webapp/css/themes/bootstrap/combobox.css new file mode 100644 index 0000000..fe74425 --- /dev/null +++ b/src/main/webapp/css/themes/bootstrap/combobox.css @@ -0,0 +1,39 @@ +.combobox-item, +.combobox-group, +.combobox-stick { + font-size: 12px; + padding: 3px; +} +.combobox-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.combobox-gitem { + padding-left: 10px; +} +.combobox-group, +.combobox-stick { + font-weight: bold; +} +.combobox-stick { + position: absolute; + top: 1px; + left: 1px; + right: 1px; + background: inherit; +} +.combobox-item-hover { + background-color: #e6e6e6; + color: #00438a; +} +.combobox-item-selected { + background-color: #0081c2; + color: #fff; +} +.combobox-icon { + display: inline-block; + width: 16px; + height: 16px; + vertical-align: middle; + margin-right: 2px; +} diff --git a/src/main/webapp/css/themes/bootstrap/datagrid.css b/src/main/webapp/css/themes/bootstrap/datagrid.css new file mode 100644 index 0000000..806bd6a --- /dev/null +++ b/src/main/webapp/css/themes/bootstrap/datagrid.css @@ -0,0 +1,288 @@ +.datagrid .panel-body { + overflow: hidden; + position: relative; +} +.datagrid-view { + position: relative; + overflow: hidden; +} +.datagrid-view1, +.datagrid-view2 { + position: absolute; + overflow: hidden; + top: 0; +} +.datagrid-view1 { + left: 0; +} +.datagrid-view2 { + right: 0; +} +.datagrid-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: 0.3; + filter: alpha(opacity=30); + display: none; +} +.datagrid-mask-msg { + position: absolute; + top: 50%; + margin-top: -20px; + padding: 10px 5px 10px 30px; + width: auto; + height: 16px; + border-width: 2px; + border-style: solid; + display: none; +} +.datagrid-empty { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 25px; + line-height: 25px; + text-align: center; +} +.datagrid-sort-icon { + padding: 0; + display: none; +} +.datagrid-toolbar { + height: auto; + padding: 1px 2px; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ccc; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.datagrid .datagrid-pager { + display: block; + margin: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.datagrid .datagrid-pager-top { + border-width: 0 0 1px 0; +} +.datagrid-header { + overflow: hidden; + cursor: default; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-header-inner { + float: left; + width: 10000px; +} +.datagrid-header-row, +.datagrid-row { + height: 25px; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-width: 0 1px 1px 0; + border-style: dotted; + margin: 0; + padding: 0; +} +.datagrid-cell, +.datagrid-cell-group, +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + margin: 0; + padding: 0 4px; + white-space: nowrap; + word-wrap: normal; + overflow: hidden; + height: 18px; + line-height: 18px; + font-size: 12px; +} +.datagrid-header .datagrid-cell { + height: auto; +} +.datagrid-header .datagrid-cell span { + font-size: 12px; +} +.datagrid-cell-group { + text-align: center; + text-overflow: ellipsis; +} +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + width: 30px; + text-align: center; + margin: 0; + padding: 0; +} +.datagrid-body { + margin: 0; + padding: 0; + overflow: auto; + zoom: 1; +} +.datagrid-view1 .datagrid-body-inner { + padding-bottom: 20px; +} +.datagrid-view1 .datagrid-body { + overflow: hidden; +} +.datagrid-footer { + overflow: hidden; +} +.datagrid-footer-inner { + border-width: 1px 0 0 0; + border-style: solid; + width: 10000px; + float: left; +} +.datagrid-row-editing .datagrid-cell { + height: auto; +} +.datagrid-header-check, +.datagrid-cell-check { + padding: 0; + width: 27px; + height: 18px; + font-size: 1px; + text-align: center; + overflow: hidden; +} +.datagrid-header-check input, +.datagrid-cell-check input { + margin: 0; + padding: 0; + width: 15px; + height: 18px; +} +.datagrid-resize-proxy { + position: absolute; + width: 1px; + height: 10000px; + top: 0; + cursor: e-resize; + display: none; +} +.datagrid-body .datagrid-editable { + margin: 0; + padding: 0; +} +.datagrid-body .datagrid-editable table { + width: 100%; + height: 100%; +} +.datagrid-body .datagrid-editable td { + border: 0; + margin: 0; + padding: 0; +} +.datagrid-view .datagrid-editable-input { + margin: 0; + padding: 2px 4px; + border: 1px solid #D4D4D4; + font-size: 12px; + outline-style: none; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-view .validatebox-invalid { + border-color: #ffa8a8; +} +.datagrid-sort .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -64px center; +} +.datagrid-sort-desc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -16px center; +} +.datagrid-sort-asc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat 0px center; +} +.datagrid-row-collapse { + background: url('images/datagrid_icons.png') no-repeat -48px center; +} +.datagrid-row-expand { + background: url('images/datagrid_icons.png') no-repeat -32px center; +} +.datagrid-mask-msg { + background: #ffffff url('images/loading.gif') no-repeat scroll 5px center; +} +.datagrid-header, +.datagrid-td-rownumber { + background-color: #F2F2F2; + background: -webkit-linear-gradient(top,#ffffff 0,#F2F2F2 100%); + background: -moz-linear-gradient(top,#ffffff 0,#F2F2F2 100%); + background: -o-linear-gradient(top,#ffffff 0,#F2F2F2 100%); + background: linear-gradient(to bottom,#ffffff 0,#F2F2F2 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F2F2F2,GradientType=0); +} +.datagrid-cell-rownumber { + color: #333; +} +.datagrid-resize-proxy { + background: #bbb; +} +.datagrid-mask { + background: #ccc; +} +.datagrid-mask-msg { + border-color: #D4D4D4; +} +.datagrid-toolbar, +.datagrid-pager { + background: #F5F5F5; +} +.datagrid-header, +.datagrid-toolbar, +.datagrid-pager, +.datagrid-footer-inner { + border-color: #e6e6e6; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-color: #ccc; +} +.datagrid-htable, +.datagrid-btable, +.datagrid-ftable { + color: #333; + border-collapse: separate; +} +.datagrid-row-alt { + background: #F5F5F5; +} +.datagrid-row-over, +.datagrid-header td.datagrid-header-over { + background: #e6e6e6; + color: #00438a; + cursor: default; +} +.datagrid-row-selected { + background: #0081c2; + color: #fff; +} +.datagrid-row-editing .textbox, +.datagrid-row-editing .textbox-text { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} diff --git a/src/main/webapp/css/themes/bootstrap/datalist.css b/src/main/webapp/css/themes/bootstrap/datalist.css new file mode 100644 index 0000000..68e8df6 --- /dev/null +++ b/src/main/webapp/css/themes/bootstrap/datalist.css @@ -0,0 +1,95 @@ +.datalist .datagrid-header { + border-width: 0; +} +.datalist .datagrid-group, +.m-list .m-list-group { + height: 25px; + line-height: 25px; + font-weight: bold; + overflow: hidden; + background-color: #F2F2F2; + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ccc; +} +.datalist .datagrid-group-expander { + display: none; +} +.datalist .datagrid-group-title { + padding: 0 4px; +} +.datalist .datagrid-btable { + width: 100%; + table-layout: fixed; +} +.datalist .datagrid-row td { + border-style: solid; + border-left-color: transparent; + border-right-color: transparent; + border-bottom-width: 0; +} +.datalist-lines .datagrid-row td { + border-bottom-width: 1px; +} +.datalist .datagrid-cell, +.m-list li { + width: auto; + height: auto; + padding: 2px 4px; + line-height: 18px; + position: relative; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link, +.m-list li>a { + display: block; + position: relative; + cursor: pointer; + color: #333; + text-decoration: none; + overflow: hidden; + margin: -2px -4px; + padding: 2px 4px; + padding-right: 16px; + line-height: 18px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link::after, +.m-list li>a::after { + position: absolute; + display: block; + width: 8px; + height: 8px; + content: ''; + right: 6px; + top: 50%; + margin-top: -4px; + border-style: solid; + border-width: 1px 1px 0 0; + -ms-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -webkit-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); +} +.m-list { + margin: 0; + padding: 0; + list-style: none; +} +.m-list li { + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ccc; +} +.m-list li>a:hover { + background: #e6e6e6; + color: #00438a; +} +.m-list .m-list-group { + padding: 0 4px; +} diff --git a/src/main/webapp/css/themes/bootstrap/datebox.css b/src/main/webapp/css/themes/bootstrap/datebox.css new file mode 100644 index 0000000..97e20dd --- /dev/null +++ b/src/main/webapp/css/themes/bootstrap/datebox.css @@ -0,0 +1,36 @@ +.datebox-calendar-inner { + height: 180px; +} +.datebox-button { + padding: 0 5px; + text-align: center; +} +.datebox-button a { + line-height: 22px; + font-size: 12px; + font-weight: bold; + text-decoration: none; + opacity: 0.6; + filter: alpha(opacity=60); +} +.datebox-button a:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.datebox-current, +.datebox-close { + float: left; +} +.datebox-close { + float: right; +} +.datebox .combo-arrow { + background-image: url('images/datebox_arrow.png'); + background-position: center center; +} +.datebox-button { + background-color: #F5F5F5; +} +.datebox-button a { + color: #444; +} diff --git a/src/main/webapp/css/themes/bootstrap/dialog.css b/src/main/webapp/css/themes/bootstrap/dialog.css new file mode 100644 index 0000000..b44497f --- /dev/null +++ b/src/main/webapp/css/themes/bootstrap/dialog.css @@ -0,0 +1,47 @@ +.dialog-content { + overflow: auto; +} +.dialog-toolbar { + position: relative; + padding: 2px 5px; +} +.dialog-tool-separator { + float: left; + height: 24px; + border-left: 1px solid #ccc; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.dialog-button { + position: relative; + top: -1px; + padding: 5px; + text-align: right; +} +.dialog-button .l-btn { + margin-left: 5px; +} +.dialog-toolbar, +.dialog-button { + background: #F5F5F5; + border-width: 1px; + border-style: solid; +} +.dialog-toolbar { + border-color: #D4D4D4 #D4D4D4 #e6e6e6 #D4D4D4; +} +.dialog-button { + border-color: #e6e6e6 #D4D4D4 #D4D4D4 #D4D4D4; +} +.window-thinborder .dialog-toolbar { + border-left: transparent; + border-right: transparent; + border-top-color: #F5F5F5; +} +.window-thinborder .dialog-button { + top: 0px; + padding: 5px 8px 8px 8px; + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} diff --git a/src/main/webapp/css/themes/bootstrap/easyui.css b/src/main/webapp/css/themes/bootstrap/easyui.css new file mode 100644 index 0000000..1e6b255 --- /dev/null +++ b/src/main/webapp/css/themes/bootstrap/easyui.css @@ -0,0 +1,3239 @@ +.panel { + overflow: hidden; + text-align: left; + margin: 0; + border: 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.panel-header, +.panel-body { + border-width: 1px; + border-style: solid; +} +.panel-header { + padding: 5px; + position: relative; +} +.panel-title { + background: url('images/blank.gif') no-repeat; +} +.panel-header-noborder { + border-width: 0 0 1px 0; +} +.panel-body { + overflow: auto; + border-top-width: 0; + padding: 0; +} +.panel-body-noheader { + border-top-width: 1px; +} +.panel-body-noborder { + border-width: 0px; +} +.panel-body-nobottom { + border-bottom-width: 0; +} +.panel-with-icon { + padding-left: 18px; +} +.panel-icon, +.panel-tool { + position: absolute; + top: 50%; + margin-top: -8px; + height: 16px; + overflow: hidden; +} +.panel-icon { + left: 5px; + width: 16px; +} +.panel-tool { + right: 5px; + width: auto; +} +.panel-tool a { + display: inline-block; + width: 16px; + height: 16px; + opacity: 0.6; + filter: alpha(opacity=60); + margin: 0 0 0 2px; + vertical-align: top; +} +.panel-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + background-color: #e6e6e6; + -moz-border-radius: 3px 3px 3px 3px; + -webkit-border-radius: 3px 3px 3px 3px; + border-radius: 3px 3px 3px 3px; +} +.panel-loading { + padding: 11px 0px 10px 30px; +} +.panel-noscroll { + overflow: hidden; +} +.panel-fit, +.panel-fit body { + height: 100%; + margin: 0; + padding: 0; + border: 0; + overflow: hidden; +} +.panel-loading { + background: url('images/loading.gif') no-repeat 10px 10px; +} +.panel-tool-close { + background: url('images/panel_tools.png') no-repeat -16px 0px; +} +.panel-tool-min { + background: url('images/panel_tools.png') no-repeat 0px 0px; +} +.panel-tool-max { + background: url('images/panel_tools.png') no-repeat 0px -16px; +} +.panel-tool-restore { + background: url('images/panel_tools.png') no-repeat -16px -16px; +} +.panel-tool-collapse { + background: url('images/panel_tools.png') no-repeat -32px 0; +} +.panel-tool-expand { + background: url('images/panel_tools.png') no-repeat -32px -16px; +} +.panel-header, +.panel-body { + border-color: #D4D4D4; +} +.panel-header { + background-color: #F2F2F2; + background: -webkit-linear-gradient(top,#ffffff 0,#F2F2F2 100%); + background: -moz-linear-gradient(top,#ffffff 0,#F2F2F2 100%); + background: -o-linear-gradient(top,#ffffff 0,#F2F2F2 100%); + background: linear-gradient(to bottom,#ffffff 0,#F2F2F2 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F2F2F2,GradientType=0); +} +.panel-body { + background-color: #ffffff; + color: #333; + font-size: 12px; +} +.panel-title { + font-size: 12px; + font-weight: bold; + color: #777; + height: 16px; + line-height: 16px; +} +.panel-footer { + border: 1px solid #D4D4D4; + overflow: hidden; + background: #F5F5F5; +} +.panel-footer-noborder { + border-width: 1px 0 0 0; +} +.panel-hleft, +.panel-hright { + position: relative; +} +.panel-hleft>.panel-body, +.panel-hright>.panel-body { + position: absolute; +} +.panel-hleft>.panel-header { + float: left; +} +.panel-hright>.panel-header { + float: right; +} +.panel-hleft>.panel-body { + border-top-width: 1px; + border-left-width: 0; +} +.panel-hright>.panel-body { + border-top-width: 1px; + border-right-width: 0; +} +.panel-hleft>.panel-body-nobottom { + border-bottom-width: 1px; + border-right-width: 0; +} +.panel-hright>.panel-body-nobottom { + border-bottom-width: 1px; + border-left-width: 0; +} +.panel-hleft>.panel-footer { + position: absolute; + right: 0; +} +.panel-hright>.panel-footer { + position: absolute; + left: 0; +} +.panel-hleft>.panel-header-noborder { + border-width: 0 1px 0 0; +} +.panel-hright>.panel-header-noborder { + border-width: 0 0 0 1px; +} +.panel-hleft>.panel-body-noborder { + border-width: 0; +} +.panel-hright>.panel-body-noborder { + border-width: 0; +} +.panel-hleft>.panel-body-noheader { + border-left-width: 1px; +} +.panel-hright>.panel-body-noheader { + border-right-width: 1px; +} +.panel-hleft>.panel-footer-noborder { + border-width: 0 0 0 1px; +} +.panel-hright>.panel-footer-noborder { + border-width: 0 1px 0 0; +} +.panel-hleft>.panel-header .panel-icon, +.panel-hright>.panel-header .panel-icon { + margin-top: 0; + top: 5px; +} +.panel-hleft>.panel-header .panel-title, +.panel-hright>.panel-header .panel-title { + position: absolute; + min-width: 16px; + left: 21px; + top: 5px; + bottom: auto; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.panel-hleft>.panel-header .panel-title-up, +.panel-hright>.panel-header .panel-title-up { + position: absolute; + min-width: 16px; + left: 21px; + top: auto; + bottom: 5px; + text-align: right; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 16px; +} +.panel-hleft>.panel-header .panel-with-icon.panel-title-up, +.panel-hright>.panel-header .panel-with-icon.panel-title-up { + padding-left: 0; + padding-right: 18px; +} +.panel-hleft>.panel-header .panel-tool, +.panel-hright>.panel-header .panel-tool { + top: auto; + bottom: 5px; + width: 16px; + height: auto; + left: 50%; + margin-left: -8px; + margin-top: 0; +} +.panel-hleft>.panel-header .panel-tool a, +.panel-hright>.panel-header .panel-tool a { + margin: 2px 0 0 0; +} +.accordion { + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.accordion .accordion-header { + border-width: 0 0 1px; + cursor: pointer; +} +.accordion .accordion-body { + border-width: 0 0 1px; +} +.accordion-noborder { + border-width: 0; +} +.accordion-noborder .accordion-header { + border-width: 0 0 1px; +} +.accordion-noborder .accordion-body { + border-width: 0 0 1px; +} +.accordion-collapse { + background: url('images/accordion_arrows.png') no-repeat 0 0; +} +.accordion-expand { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.accordion { + background: #ffffff; + border-color: #D4D4D4; +} +.accordion .accordion-header { + background: #F2F2F2; + filter: none; +} +.accordion .accordion-header-selected { + background: #0081c2; +} +.accordion .accordion-header-selected .panel-title { + color: #fff; +} +.accordion .panel-last > .accordion-header { + border-bottom-color: #F2F2F2; +} +.accordion .panel-last > .accordion-body { + border-bottom-color: #ffffff; +} +.accordion .panel-last > .accordion-header-selected, +.accordion .panel-last > .accordion-header-border { + border-bottom-color: #D4D4D4; +} +.accordion> .panel-hleft { + float: left; +} +.accordion> .panel-hleft>.panel-header { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft> .panel-body { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft.panel-last > .accordion-header { + border-right-color: #F2F2F2; +} +.accordion> .panel-hleft.panel-last > .accordion-body { + border-right-color: #ffffff; +} +.accordion> .panel-hleft.panel-last > .accordion-header-selected, +.accordion> .panel-hleft.panel-last > .accordion-header-border { + border-right-color: #D4D4D4; +} +.accordion> .panel-hright { + float: right; +} +.accordion> .panel-hright>.panel-header { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright> .panel-body { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright.panel-last > .accordion-header { + border-left-color: #F2F2F2; +} +.accordion> .panel-hright.panel-last > .accordion-body { + border-left-color: #ffffff; +} +.accordion> .panel-hright.panel-last > .accordion-header-selected, +.accordion> .panel-hright.panel-last > .accordion-header-border { + border-left-color: #D4D4D4; +} +.window { + overflow: hidden; + padding: 5px; + border-width: 1px; + border-style: solid; +} +.window .window-header { + background: transparent; + padding: 0px 0px 6px 0px; +} +.window .window-body { + border-width: 1px; + border-style: solid; + border-top-width: 0px; +} +.window .window-body-noheader { + border-top-width: 1px; +} +.window .panel-body-nobottom { + border-bottom-width: 0; +} +.window .window-header .panel-icon, +.window .window-header .panel-tool { + top: 50%; + margin-top: -11px; +} +.window .window-header .panel-icon { + left: 1px; +} +.window .window-header .panel-tool { + right: 1px; +} +.window .window-header .panel-with-icon { + padding-left: 18px; +} +.window-proxy { + position: absolute; + overflow: hidden; +} +.window-proxy-mask { + position: absolute; + filter: alpha(opacity=5); + opacity: 0.05; +} +.window-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + filter: alpha(opacity=40); + opacity: 0.40; + font-size: 1px; + overflow: hidden; +} +.window, +.window-shadow { + position: absolute; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.window-shadow { + background: #ccc; + -moz-box-shadow: 2px 2px 3px #cccccc; + -webkit-box-shadow: 2px 2px 3px #cccccc; + box-shadow: 2px 2px 3px #cccccc; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.window, +.window .window-body { + border-color: #D4D4D4; +} +.window { + background-color: #F2F2F2; + background: -webkit-linear-gradient(top,#ffffff 0,#F2F2F2 20%); + background: -moz-linear-gradient(top,#ffffff 0,#F2F2F2 20%); + background: -o-linear-gradient(top,#ffffff 0,#F2F2F2 20%); + background: linear-gradient(to bottom,#ffffff 0,#F2F2F2 20%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F2F2F2,GradientType=0); +} +.window-proxy { + border: 1px dashed #D4D4D4; +} +.window-proxy-mask, +.window-mask { + background: #ccc; +} +.window .panel-footer { + border: 1px solid #D4D4D4; + position: relative; + top: -1px; +} +.window-thinborder { + padding: 0; +} +.window-thinborder .window-header { + padding: 5px 5px 6px 5px; +} +.window-thinborder .window-body { + border-width: 0px; +} +.window-thinborder .window-header .panel-icon, +.window-thinborder .window-header .panel-tool { + margin-top: -9px; + margin-left: 5px; + margin-right: 5px; +} +.window-noborder { + border: 0; +} +.window.panel-hleft .window-header { + padding: 0 6px 0 0; +} +.window.panel-hright .window-header { + padding: 0 0 0 6px; +} +.window.panel-hleft>.panel-header .panel-title { + top: auto; + left: 16px; +} +.window.panel-hright>.panel-header .panel-title { + top: auto; + right: 16px; +} +.window.panel-hleft>.panel-header .panel-title-up, +.window.panel-hright>.panel-header .panel-title-up { + bottom: 0; +} +.window.panel-hleft .window-body { + border-width: 1px 1px 1px 0; +} +.window.panel-hright .window-body { + border-width: 1px 0 1px 1px; +} +.window.panel-hleft .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: 0; +} +.window.panel-hright .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: auto; + right: 1px; +} +.window.panel-hleft .window-header .panel-tool, +.window.panel-hright .window-header .panel-tool { + margin-top: 0; + top: auto; + bottom: 1px; + right: auto; + margin-right: 0; + left: 50%; + margin-left: -11px; +} +.window.panel-hright .window-header .panel-tool { + left: auto; + right: 1px; +} +.window-thinborder.panel-hleft .window-header { + padding: 5px 6px 5px 5px; +} +.window-thinborder.panel-hright .window-header { + padding: 5px 5px 5px 6px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title { + left: 21px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title-up, +.window-thinborder.panel-hright>.panel-header .panel-title-up { + bottom: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-icon, +.window-thinborder.panel-hright .window-header .panel-icon { + margin-top: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-tool, +.window-thinborder.panel-hright .window-header .panel-tool { + left: 16px; + bottom: 5px; +} +.dialog-content { + overflow: auto; +} +.dialog-toolbar { + position: relative; + padding: 2px 5px; +} +.dialog-tool-separator { + float: left; + height: 24px; + border-left: 1px solid #ccc; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.dialog-button { + position: relative; + top: -1px; + padding: 5px; + text-align: right; +} +.dialog-button .l-btn { + margin-left: 5px; +} +.dialog-toolbar, +.dialog-button { + background: #F5F5F5; + border-width: 1px; + border-style: solid; +} +.dialog-toolbar { + border-color: #D4D4D4 #D4D4D4 #e6e6e6 #D4D4D4; +} +.dialog-button { + border-color: #e6e6e6 #D4D4D4 #D4D4D4 #D4D4D4; +} +.window-thinborder .dialog-toolbar { + border-left: transparent; + border-right: transparent; + border-top-color: #F5F5F5; +} +.window-thinborder .dialog-button { + top: 0px; + padding: 5px 8px 8px 8px; + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} +.l-btn { + text-decoration: none; + display: inline-block; + overflow: hidden; + margin: 0; + padding: 0; + cursor: pointer; + outline: none; + text-align: center; + vertical-align: middle; + line-height: normal; +} +.l-btn-plain { + border-width: 0; + padding: 1px; +} +.l-btn-left { + display: inline-block; + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + vertical-align: top; +} +.l-btn-text { + display: inline-block; + vertical-align: top; + width: auto; + line-height: 24px; + font-size: 12px; + padding: 0; + margin: 0 4px; +} +.l-btn-icon { + display: inline-block; + width: 16px; + height: 16px; + line-height: 16px; + position: absolute; + top: 50%; + margin-top: -8px; + font-size: 1px; +} +.l-btn span span .l-btn-empty { + display: inline-block; + margin: 0; + width: 16px; + height: 24px; + font-size: 1px; + vertical-align: top; +} +.l-btn span .l-btn-icon-left { + padding: 0 0 0 20px; + background-position: left center; +} +.l-btn span .l-btn-icon-right { + padding: 0 20px 0 0; + background-position: right center; +} +.l-btn-icon-left .l-btn-text { + margin: 0 4px 0 24px; +} +.l-btn-icon-left .l-btn-icon { + left: 4px; +} +.l-btn-icon-right .l-btn-text { + margin: 0 24px 0 4px; +} +.l-btn-icon-right .l-btn-icon { + right: 4px; +} +.l-btn-icon-top .l-btn-text { + margin: 20px 4px 0 4px; +} +.l-btn-icon-top .l-btn-icon { + top: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-icon-bottom .l-btn-text { + margin: 0 4px 20px 4px; +} +.l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-left .l-btn-empty { + margin: 0 4px; + width: 16px; +} +.l-btn-plain:hover { + padding: 0; +} +.l-btn-focus { + outline: #0000FF dotted thin; +} +.l-btn-large .l-btn-text { + line-height: 40px; +} +.l-btn-large .l-btn-icon { + width: 32px; + height: 32px; + line-height: 32px; + margin-top: -16px; +} +.l-btn-large .l-btn-icon-left .l-btn-text { + margin-left: 40px; +} +.l-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.l-btn-large .l-btn-icon-top .l-btn-text { + margin-top: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-top .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-left .l-btn-empty { + margin: 0 4px; + width: 32px; +} +.l-btn { + color: #444; + background: #f5f5f5; + background-repeat: repeat-x; + border: 1px solid #bbb; + background: -webkit-linear-gradient(top,#ffffff 0,#e6e6e6 100%); + background: -moz-linear-gradient(top,#ffffff 0,#e6e6e6 100%); + background: -o-linear-gradient(top,#ffffff 0,#e6e6e6 100%); + background: linear-gradient(to bottom,#ffffff 0,#e6e6e6 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#e6e6e6,GradientType=0); + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.l-btn:hover { + background: #e6e6e6; + color: #00438a; + border: 1px solid #ddd; + filter: none; +} +.l-btn-plain { + background: transparent; + border-width: 0; + filter: none; +} +.l-btn-outline { + border-width: 1px; + border-color: #ddd; + padding: 0; +} +.l-btn-plain:hover { + background: #e6e6e6; + color: #00438a; + border: 1px solid #ddd; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.l-btn-disabled, +.l-btn-disabled:hover { + opacity: 0.5; + cursor: default; + background: #f5f5f5; + color: #444; + background: -webkit-linear-gradient(top,#ffffff 0,#e6e6e6 100%); + background: -moz-linear-gradient(top,#ffffff 0,#e6e6e6 100%); + background: -o-linear-gradient(top,#ffffff 0,#e6e6e6 100%); + background: linear-gradient(to bottom,#ffffff 0,#e6e6e6 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#e6e6e6,GradientType=0); +} +.l-btn-disabled .l-btn-text, +.l-btn-disabled .l-btn-icon { + filter: alpha(opacity=50); +} +.l-btn-plain-disabled, +.l-btn-plain-disabled:hover { + background: transparent; + filter: alpha(opacity=50); +} +.l-btn-selected, +.l-btn-selected:hover { + background: #ddd; + filter: none; +} +.l-btn-plain-selected, +.l-btn-plain-selected:hover { + background: #ddd; +} +.textbox { + position: relative; + border: 1px solid #D4D4D4; + background-color: #fff; + vertical-align: middle; + display: inline-block; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.textbox .textbox-text { + font-size: 12px; + border: 0; + margin: 0; + padding: 4px; + white-space: normal; + vertical-align: top; + outline-style: none; + resize: none; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.textbox .textbox-text::-ms-clear, +.textbox .textbox-text::-ms-reveal { + display: none; +} +.textbox textarea.textbox-text { + white-space: pre-wrap; +} +.textbox .textbox-prompt { + font-size: 12px; + color: #aaa; +} +.textbox .textbox-bgicon { + background-position: 3px center; + padding-left: 21px; +} +.textbox .textbox-button, +.textbox .textbox-button:hover { + position: absolute; + top: 0; + padding: 0; + vertical-align: top; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.textbox .textbox-button-right, +.textbox .textbox-button-right:hover { + right: 0; + border-width: 0 0 0 1px; +} +.textbox .textbox-button-left, +.textbox .textbox-button-left:hover { + left: 0; + border-width: 0 1px 0 0; +} +.textbox .textbox-button-top, +.textbox .textbox-button-top:hover { + left: 0; + border-width: 0 0 1px 0; +} +.textbox .textbox-button-bottom, +.textbox .textbox-button-bottom:hover { + top: auto; + bottom: 0; + left: 0; + border-width: 1px 0 0 0; +} +.textbox-addon { + position: absolute; + top: 0; +} +.textbox-label { + display: inline-block; + width: 80px; + height: 22px; + line-height: 22px; + vertical-align: middle; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + margin: 0; + padding-right: 5px; +} +.textbox-label-after { + padding-left: 5px; + padding-right: 0; +} +.textbox-label-top { + display: block; + width: auto; + padding: 0; +} +.textbox-disabled, +.textbox-label-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-icon { + display: inline-block; + width: 18px; + height: 20px; + overflow: hidden; + vertical-align: top; + background-position: center center; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); + text-decoration: none; + outline-style: none; +} +.textbox-icon-disabled, +.textbox-icon-readonly { + cursor: default; +} +.textbox-icon:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.textbox-icon-disabled:hover { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-focused { + border-color: #bbbbbb; + -moz-box-shadow: 0 0 3px 0 #D4D4D4; + -webkit-box-shadow: 0 0 3px 0 #D4D4D4; + box-shadow: 0 0 3px 0 #D4D4D4; +} +.textbox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; +} +.passwordbox-open { + background: url('images/passwordbox_open.png') no-repeat center center; +} +.passwordbox-close { + background: url('images/passwordbox_close.png') no-repeat center center; +} +.filebox .textbox-value { + vertical-align: top; + position: absolute; + top: 0; + left: -5000px; +} +.filebox-label { + display: inline-block; + position: absolute; + width: 100%; + height: 100%; + cursor: pointer; + left: 0; + top: 0; + z-index: 10; + background: url('images/blank.gif') no-repeat; +} +.l-btn-disabled .filebox-label { + cursor: default; +} +.combo-arrow { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.combo-arrow-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.combo-panel { + overflow: auto; +} +.combo-arrow { + background: url('images/combo_arrow.png') no-repeat center center; +} +.combo-panel { + background-color: #ffffff; +} +.combo-arrow { + background-color: #F2F2F2; +} +.combo-arrow-hover { + background-color: #e6e6e6; +} +.combo-arrow:hover { + background-color: #e6e6e6; +} +.combo .textbox-icon-disabled:hover { + cursor: default; +} +.combobox-item, +.combobox-group, +.combobox-stick { + font-size: 12px; + padding: 3px; +} +.combobox-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.combobox-gitem { + padding-left: 10px; +} +.combobox-group, +.combobox-stick { + font-weight: bold; +} +.combobox-stick { + position: absolute; + top: 1px; + left: 1px; + right: 1px; + background: inherit; +} +.combobox-item-hover { + background-color: #e6e6e6; + color: #00438a; +} +.combobox-item-selected { + background-color: #0081c2; + color: #fff; +} +.combobox-icon { + display: inline-block; + width: 16px; + height: 16px; + vertical-align: middle; + margin-right: 2px; +} +.tagbox { + cursor: text; +} +.tagbox .textbox-text { + float: left; +} +.tagbox-label { + position: relative; + display: block; + margin: 4px 0 0 4px; + padding: 0 20px 0 4px; + float: left; + vertical-align: top; + text-decoration: none; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + background: #e6e6e6; + color: #00438a; +} +.tagbox-remove { + background: url('images/tagbox_icons.png') no-repeat -16px center; + position: absolute; + display: block; + width: 16px; + height: 16px; + right: 2px; + top: 50%; + margin-top: -8px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tagbox-remove:hover { + opacity: 1; + filter: alpha(opacity=100); +} +.textbox-disabled .tagbox-label { + cursor: default; +} +.textbox-disabled .tagbox-remove:hover { + cursor: default; + opacity: 0.6; + filter: alpha(opacity=60); +} +.layout { + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + z-index: 0; +} +.layout-panel { + position: absolute; + overflow: hidden; +} +.layout-body { + min-width: 1px; + min-height: 1px; +} +.layout-panel-east, +.layout-panel-west { + z-index: 2; +} +.layout-panel-north, +.layout-panel-south { + z-index: 3; +} +.layout-expand { + position: absolute; + padding: 0px; + font-size: 1px; + cursor: pointer; + z-index: 1; +} +.layout-expand .panel-header, +.layout-expand .panel-body { + background: transparent; + filter: none; + overflow: hidden; +} +.layout-expand .panel-header { + border-bottom-width: 0px; +} +.layout-expand .panel-body { + position: relative; +} +.layout-expand .panel-body .panel-icon { + margin-top: 0; + top: 0; + left: 50%; + margin-left: -8px; +} +.layout-expand-west .panel-header .panel-icon, +.layout-expand-east .panel-header .panel-icon { + display: none; +} +.layout-expand-title { + position: absolute; + top: 0; + left: 21px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.layout-expand-title-up { + position: absolute; + top: 0; + left: 0; + text-align: right; + padding-left: 5px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 0; +} +.layout-expand-with-icon { + top: 18px; +} +.layout-expand .panel-body-noheader .layout-expand-title, +.layout-expand .panel-body-noheader .panel-icon { + top: 5px; +} +.layout-expand .panel-body-noheader .layout-expand-with-icon { + top: 23px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + position: absolute; + font-size: 1px; + display: none; + z-index: 5; +} +.layout-split-proxy-h { + width: 5px; + cursor: e-resize; +} +.layout-split-proxy-v { + height: 5px; + cursor: n-resize; +} +.layout-mask { + position: absolute; + background: #fafafa; + filter: alpha(opacity=10); + opacity: 0.10; + z-index: 4; +} +.layout-button-up { + background: url('images/layout_arrows.png') no-repeat -16px -16px; +} +.layout-button-down { + background: url('images/layout_arrows.png') no-repeat -16px 0; +} +.layout-button-left { + background: url('images/layout_arrows.png') no-repeat 0 0; +} +.layout-button-right { + background: url('images/layout_arrows.png') no-repeat 0 -16px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + background-color: #bbb; +} +.layout-split-north { + border-bottom: 5px solid #eee; +} +.layout-split-south { + border-top: 5px solid #eee; +} +.layout-split-east { + border-left: 5px solid #eee; +} +.layout-split-west { + border-right: 5px solid #eee; +} +.layout-expand { + background-color: #F2F2F2; +} +.layout-expand-over { + background-color: #F2F2F2; +} +.tabs-container { + overflow: hidden; +} +.tabs-header { + border-width: 1px; + border-style: solid; + border-bottom-width: 0; + position: relative; + padding: 0; + padding-top: 2px; + overflow: hidden; +} +.tabs-scroller-left, +.tabs-scroller-right { + position: absolute; + top: auto; + bottom: 0; + width: 18px; + font-size: 1px; + display: none; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.tabs-scroller-left { + left: 0; +} +.tabs-scroller-right { + right: 0; +} +.tabs-tool { + position: absolute; + bottom: 0; + padding: 1px; + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.tabs-header-plain .tabs-tool { + padding: 0 1px; +} +.tabs-wrap { + position: relative; + left: 0; + overflow: hidden; + width: 100%; + margin: 0; + padding: 0; +} +.tabs-scrolling { + margin-left: 18px; + margin-right: 18px; +} +.tabs-disabled { + opacity: 0.3; + filter: alpha(opacity=30); +} +.tabs { + list-style-type: none; + height: 26px; + margin: 0px; + padding: 0px; + padding-left: 4px; + width: 50000px; + border-style: solid; + border-width: 0 0 1px 0; +} +.tabs li { + float: left; + display: inline-block; + margin: 0 4px -1px 0; + padding: 0; + position: relative; + border: 0; +} +.tabs li a.tabs-inner { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0 10px; + height: 25px; + line-height: 25px; + text-align: center; + white-space: nowrap; + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 0 0; + -webkit-border-radius: 5px 5px 0 0; + border-radius: 5px 5px 0 0; +} +.tabs li.tabs-selected a.tabs-inner { + font-weight: bold; + outline: none; +} +.tabs li.tabs-selected a:hover.tabs-inner { + cursor: default; + pointer: default; +} +.tabs li a.tabs-close, +.tabs-p-tool { + position: absolute; + font-size: 1px; + display: block; + height: 12px; + padding: 0; + top: 50%; + margin-top: -6px; + overflow: hidden; +} +.tabs li a.tabs-close { + width: 12px; + right: 5px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs-p-tool { + right: 16px; +} +.tabs-p-tool a { + display: inline-block; + font-size: 1px; + width: 12px; + height: 12px; + margin: 0; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs li a:hover.tabs-close, +.tabs-p-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + cursor: hand; + cursor: pointer; +} +.tabs-with-icon { + padding-left: 18px; +} +.tabs-icon { + position: absolute; + width: 16px; + height: 16px; + left: 10px; + top: 50%; + margin-top: -8px; +} +.tabs-title { + font-size: 12px; +} +.tabs-closable { + padding-right: 8px; +} +.tabs-panels { + margin: 0px; + padding: 0px; + border-width: 1px; + border-style: solid; + border-top-width: 0; + overflow: hidden; +} +.tabs-header-bottom { + border-width: 0 1px 1px 1px; + padding: 0 0 2px 0; +} +.tabs-header-bottom .tabs { + border-width: 1px 0 0 0; +} +.tabs-header-bottom .tabs li { + margin: -1px 4px 0 0; +} +.tabs-header-bottom .tabs li a.tabs-inner { + -moz-border-radius: 0 0 5px 5px; + -webkit-border-radius: 0 0 5px 5px; + border-radius: 0 0 5px 5px; +} +.tabs-header-bottom .tabs-tool { + top: 0; +} +.tabs-header-bottom .tabs-scroller-left, +.tabs-header-bottom .tabs-scroller-right { + top: 0; + bottom: auto; +} +.tabs-panels-top { + border-width: 1px 1px 0 1px; +} +.tabs-header-left { + float: left; + border-width: 1px 0 1px 1px; + padding: 0; +} +.tabs-header-right { + float: right; + border-width: 1px 1px 1px 0; + padding: 0; +} +.tabs-header-left .tabs-wrap, +.tabs-header-right .tabs-wrap { + height: 100%; +} +.tabs-header-left .tabs { + height: 100%; + padding: 4px 0 0 2px; + border-width: 0 1px 0 0; +} +.tabs-header-right .tabs { + height: 100%; + padding: 4px 2px 0 0; + border-width: 0 0 0 1px; +} +.tabs-header-left .tabs li, +.tabs-header-right .tabs li { + display: block; + width: 100%; + position: relative; +} +.tabs-header-left .tabs li { + left: auto; + right: 0; + margin: 0 -1px 4px 0; + float: right; +} +.tabs-header-right .tabs li { + left: 0; + right: auto; + margin: 0 0 4px -1px; + float: left; +} +.tabs-justified li a.tabs-inner { + padding-left: 0; + padding-right: 0; +} +.tabs-header-left .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.tabs-header-right .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 0 5px 5px 0; + -webkit-border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; +} +.tabs-panels-right { + float: right; + border-width: 1px 1px 1px 0; +} +.tabs-panels-left { + float: left; + border-width: 1px 0 1px 1px; +} +.tabs-header-noborder, +.tabs-panels-noborder { + border: 0px; +} +.tabs-header-plain { + border: 0px; + background: transparent; +} +.tabs-pill { + padding-bottom: 3px; +} +.tabs-header-bottom .tabs-pill { + padding-top: 3px; + padding-bottom: 0; +} +.tabs-header-left .tabs-pill { + padding-right: 3px; +} +.tabs-header-right .tabs-pill { + padding-left: 3px; +} +.tabs-header .tabs-pill li a.tabs-inner { + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.tabs-header-narrow, +.tabs-header-narrow .tabs-narrow { + padding: 0; +} +.tabs-narrow li, +.tabs-header-bottom .tabs-narrow li { + margin-left: 0; + margin-right: -1px; +} +.tabs-narrow li.tabs-last, +.tabs-header-bottom .tabs-narrow li.tabs-last { + margin-right: 0; +} +.tabs-header-left .tabs-narrow, +.tabs-header-right .tabs-narrow { + padding-top: 0; +} +.tabs-header-left .tabs-narrow li { + margin-bottom: -1px; + margin-right: -1px; +} +.tabs-header-left .tabs-narrow li.tabs-last, +.tabs-header-right .tabs-narrow li.tabs-last { + margin-bottom: 0; +} +.tabs-header-right .tabs-narrow li { + margin-bottom: -1px; + margin-left: -1px; +} +.tabs-scroller-left { + background: #F2F2F2 url('images/tabs_icons.png') no-repeat 1px center; +} +.tabs-scroller-right { + background: #F2F2F2 url('images/tabs_icons.png') no-repeat -15px center; +} +.tabs li a.tabs-close { + background: url('images/tabs_icons.png') no-repeat -34px center; +} +.tabs li a.tabs-inner:hover { + background: #e6e6e6; + color: #00438a; + filter: none; +} +.tabs li.tabs-selected a.tabs-inner { + background-color: #ffffff; + color: #777; + background: -webkit-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: -moz-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: -o-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: linear-gradient(to bottom,#ffffff 0,#ffffff 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=0); +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: -moz-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: -o-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: linear-gradient(to bottom,#ffffff 0,#ffffff 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=0); +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(left,#ffffff 0,#ffffff 100%); + background: -moz-linear-gradient(left,#ffffff 0,#ffffff 100%); + background: -o-linear-gradient(left,#ffffff 0,#ffffff 100%); + background: linear-gradient(to right,#ffffff 0,#ffffff 100%); + background-repeat: repeat-y; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=1); +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(left,#ffffff 0,#ffffff 100%); + background: -moz-linear-gradient(left,#ffffff 0,#ffffff 100%); + background: -o-linear-gradient(left,#ffffff 0,#ffffff 100%); + background: linear-gradient(to right,#ffffff 0,#ffffff 100%); + background-repeat: repeat-y; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=1); +} +.tabs li a.tabs-inner { + color: #777; + background-color: #F2F2F2; + background: -webkit-linear-gradient(top,#ffffff 0,#F2F2F2 100%); + background: -moz-linear-gradient(top,#ffffff 0,#F2F2F2 100%); + background: -o-linear-gradient(top,#ffffff 0,#F2F2F2 100%); + background: linear-gradient(to bottom,#ffffff 0,#F2F2F2 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F2F2F2,GradientType=0); +} +.tabs-header, +.tabs-tool { + background-color: #F2F2F2; +} +.tabs-header-plain { + background: transparent; +} +.tabs-header, +.tabs-scroller-left, +.tabs-scroller-right, +.tabs-tool, +.tabs, +.tabs-panels, +.tabs li a.tabs-inner, +.tabs li.tabs-selected a.tabs-inner, +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, +.tabs-header-left .tabs li.tabs-selected a.tabs-inner, +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-color: #D4D4D4; +} +.tabs-p-tool a:hover, +.tabs li a:hover.tabs-close, +.tabs-scroller-over { + background-color: #e6e6e6; +} +.tabs li.tabs-selected a.tabs-inner { + border-bottom: 1px solid #ffffff; +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + border-top: 1px solid #ffffff; +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + border-right: 1px solid #ffffff; +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-left: 1px solid #ffffff; +} +.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { + background: #0081c2; + color: #fff; + filter: none; + border-color: #D4D4D4; +} +.datagrid .panel-body { + overflow: hidden; + position: relative; +} +.datagrid-view { + position: relative; + overflow: hidden; +} +.datagrid-view1, +.datagrid-view2 { + position: absolute; + overflow: hidden; + top: 0; +} +.datagrid-view1 { + left: 0; +} +.datagrid-view2 { + right: 0; +} +.datagrid-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: 0.3; + filter: alpha(opacity=30); + display: none; +} +.datagrid-mask-msg { + position: absolute; + top: 50%; + margin-top: -20px; + padding: 10px 5px 10px 30px; + width: auto; + height: 16px; + border-width: 2px; + border-style: solid; + display: none; +} +.datagrid-empty { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 25px; + line-height: 25px; + text-align: center; +} +.datagrid-sort-icon { + padding: 0; + display: none; +} +.datagrid-toolbar { + height: auto; + padding: 1px 2px; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ccc; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.datagrid .datagrid-pager { + display: block; + margin: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.datagrid .datagrid-pager-top { + border-width: 0 0 1px 0; +} +.datagrid-header { + overflow: hidden; + cursor: default; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-header-inner { + float: left; + width: 10000px; +} +.datagrid-header-row, +.datagrid-row { + height: 25px; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-width: 0 1px 1px 0; + border-style: dotted; + margin: 0; + padding: 0; +} +.datagrid-cell, +.datagrid-cell-group, +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + margin: 0; + padding: 0 4px; + white-space: nowrap; + word-wrap: normal; + overflow: hidden; + height: 18px; + line-height: 18px; + font-size: 12px; +} +.datagrid-header .datagrid-cell { + height: auto; +} +.datagrid-header .datagrid-cell span { + font-size: 12px; +} +.datagrid-cell-group { + text-align: center; + text-overflow: ellipsis; +} +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + width: 30px; + text-align: center; + margin: 0; + padding: 0; +} +.datagrid-body { + margin: 0; + padding: 0; + overflow: auto; + zoom: 1; +} +.datagrid-view1 .datagrid-body-inner { + padding-bottom: 20px; +} +.datagrid-view1 .datagrid-body { + overflow: hidden; +} +.datagrid-footer { + overflow: hidden; +} +.datagrid-footer-inner { + border-width: 1px 0 0 0; + border-style: solid; + width: 10000px; + float: left; +} +.datagrid-row-editing .datagrid-cell { + height: auto; +} +.datagrid-header-check, +.datagrid-cell-check { + padding: 0; + width: 27px; + height: 18px; + font-size: 1px; + text-align: center; + overflow: hidden; +} +.datagrid-header-check input, +.datagrid-cell-check input { + margin: 0; + padding: 0; + width: 15px; + height: 18px; +} +.datagrid-resize-proxy { + position: absolute; + width: 1px; + height: 10000px; + top: 0; + cursor: e-resize; + display: none; +} +.datagrid-body .datagrid-editable { + margin: 0; + padding: 0; +} +.datagrid-body .datagrid-editable table { + width: 100%; + height: 100%; +} +.datagrid-body .datagrid-editable td { + border: 0; + margin: 0; + padding: 0; +} +.datagrid-view .datagrid-editable-input { + margin: 0; + padding: 2px 4px; + border: 1px solid #D4D4D4; + font-size: 12px; + outline-style: none; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-view .validatebox-invalid { + border-color: #ffa8a8; +} +.datagrid-sort .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -64px center; +} +.datagrid-sort-desc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -16px center; +} +.datagrid-sort-asc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat 0px center; +} +.datagrid-row-collapse { + background: url('images/datagrid_icons.png') no-repeat -48px center; +} +.datagrid-row-expand { + background: url('images/datagrid_icons.png') no-repeat -32px center; +} +.datagrid-mask-msg { + background: #ffffff url('images/loading.gif') no-repeat scroll 5px center; +} +.datagrid-header, +.datagrid-td-rownumber { + background-color: #F2F2F2; + background: -webkit-linear-gradient(top,#ffffff 0,#F2F2F2 100%); + background: -moz-linear-gradient(top,#ffffff 0,#F2F2F2 100%); + background: -o-linear-gradient(top,#ffffff 0,#F2F2F2 100%); + background: linear-gradient(to bottom,#ffffff 0,#F2F2F2 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F2F2F2,GradientType=0); +} +.datagrid-cell-rownumber { + color: #333; +} +.datagrid-resize-proxy { + background: #bbb; +} +.datagrid-mask { + background: #ccc; +} +.datagrid-mask-msg { + border-color: #D4D4D4; +} +.datagrid-toolbar, +.datagrid-pager { + background: #F5F5F5; +} +.datagrid-header, +.datagrid-toolbar, +.datagrid-pager, +.datagrid-footer-inner { + border-color: #e6e6e6; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-color: #ccc; +} +.datagrid-htable, +.datagrid-btable, +.datagrid-ftable { + color: #333; + border-collapse: separate; +} +.datagrid-row-alt { + background: #F5F5F5; +} +.datagrid-row-over, +.datagrid-header td.datagrid-header-over { + background: #e6e6e6; + color: #00438a; + cursor: default; +} +.datagrid-row-selected { + background: #0081c2; + color: #fff; +} +.datagrid-row-editing .textbox, +.datagrid-row-editing .textbox-text { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.propertygrid .datagrid-view1 .datagrid-body td { + padding-bottom: 1px; + border-width: 0 1px 0 0; +} +.propertygrid .datagrid-group { + height: 21px; + overflow: hidden; + border-width: 0 0 1px 0; + border-style: solid; +} +.propertygrid .datagrid-group span { + font-weight: bold; +} +.propertygrid .datagrid-view1 .datagrid-body td { + border-color: #e6e6e6; +} +.propertygrid .datagrid-view1 .datagrid-group { + border-color: #F2F2F2; +} +.propertygrid .datagrid-view2 .datagrid-group { + border-color: #e6e6e6; +} +.propertygrid .datagrid-group, +.propertygrid .datagrid-view1 .datagrid-body, +.propertygrid .datagrid-view1 .datagrid-row-over, +.propertygrid .datagrid-view1 .datagrid-row-selected { + background: #F2F2F2; +} +.datalist .datagrid-header { + border-width: 0; +} +.datalist .datagrid-group, +.m-list .m-list-group { + height: 25px; + line-height: 25px; + font-weight: bold; + overflow: hidden; + background-color: #F2F2F2; + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ccc; +} +.datalist .datagrid-group-expander { + display: none; +} +.datalist .datagrid-group-title { + padding: 0 4px; +} +.datalist .datagrid-btable { + width: 100%; + table-layout: fixed; +} +.datalist .datagrid-row td { + border-style: solid; + border-left-color: transparent; + border-right-color: transparent; + border-bottom-width: 0; +} +.datalist-lines .datagrid-row td { + border-bottom-width: 1px; +} +.datalist .datagrid-cell, +.m-list li { + width: auto; + height: auto; + padding: 2px 4px; + line-height: 18px; + position: relative; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link, +.m-list li>a { + display: block; + position: relative; + cursor: pointer; + color: #333; + text-decoration: none; + overflow: hidden; + margin: -2px -4px; + padding: 2px 4px; + padding-right: 16px; + line-height: 18px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link::after, +.m-list li>a::after { + position: absolute; + display: block; + width: 8px; + height: 8px; + content: ''; + right: 6px; + top: 50%; + margin-top: -4px; + border-style: solid; + border-width: 1px 1px 0 0; + -ms-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -webkit-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); +} +.m-list { + margin: 0; + padding: 0; + list-style: none; +} +.m-list li { + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ccc; +} +.m-list li>a:hover { + background: #e6e6e6; + color: #00438a; +} +.m-list .m-list-group { + padding: 0 4px; +} +.pagination { + zoom: 1; +} +.pagination table { + float: left; + height: 30px; +} +.pagination td { + border: 0; +} +.pagination-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ccc; + border-right: 1px solid #fff; + margin: 3px 1px; +} +.pagination .pagination-num { + border-width: 1px; + border-style: solid; + margin: 0 2px; + padding: 2px; + width: 2em; + height: auto; +} +.pagination-page-list { + margin: 0px 6px; + padding: 1px 2px; + width: auto; + height: auto; + border-width: 1px; + border-style: solid; +} +.pagination-info { + float: right; + margin: 0 6px; + padding: 0; + height: 30px; + line-height: 30px; + font-size: 12px; +} +.pagination span { + font-size: 12px; +} +.pagination-link .l-btn-text { + width: 24px; + text-align: center; + margin: 0; +} +.pagination-first { + background: url('images/pagination_icons.png') no-repeat 0 center; +} +.pagination-prev { + background: url('images/pagination_icons.png') no-repeat -16px center; +} +.pagination-next { + background: url('images/pagination_icons.png') no-repeat -32px center; +} +.pagination-last { + background: url('images/pagination_icons.png') no-repeat -48px center; +} +.pagination-load { + background: url('images/pagination_icons.png') no-repeat -64px center; +} +.pagination-loading { + background: url('images/loading.gif') no-repeat center center; +} +.pagination-page-list, +.pagination .pagination-num { + border-color: #D4D4D4; +} +.calendar { + border-width: 1px; + border-style: solid; + padding: 1px; + overflow: hidden; +} +.calendar table { + table-layout: fixed; + border-collapse: separate; + font-size: 12px; + width: 100%; + height: 100%; +} +.calendar table td, +.calendar table th { + font-size: 12px; +} +.calendar-noborder { + border: 0; +} +.calendar-header { + position: relative; + height: 22px; +} +.calendar-title { + text-align: center; + height: 22px; +} +.calendar-title span { + position: relative; + display: inline-block; + top: 2px; + padding: 0 3px; + height: 18px; + line-height: 18px; + font-size: 12px; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-prevmonth, +.calendar-nextmonth, +.calendar-prevyear, +.calendar-nextyear { + position: absolute; + top: 50%; + margin-top: -7px; + width: 14px; + height: 14px; + cursor: pointer; + font-size: 1px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-prevmonth { + left: 20px; + background: url('images/calendar_arrows.png') no-repeat -18px -2px; +} +.calendar-nextmonth { + right: 20px; + background: url('images/calendar_arrows.png') no-repeat -34px -2px; +} +.calendar-prevyear { + left: 3px; + background: url('images/calendar_arrows.png') no-repeat -1px -2px; +} +.calendar-nextyear { + right: 3px; + background: url('images/calendar_arrows.png') no-repeat -49px -2px; +} +.calendar-body { + position: relative; +} +.calendar-body th, +.calendar-body td { + text-align: center; +} +.calendar-day { + border: 0; + padding: 1px; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-other-month { + opacity: 0.3; + filter: alpha(opacity=30); +} +.calendar-disabled { + opacity: 0.6; + filter: alpha(opacity=60); + cursor: default; +} +.calendar-menu { + position: absolute; + top: 0; + left: 0; + width: 180px; + height: 150px; + padding: 5px; + font-size: 12px; + display: none; + overflow: hidden; +} +.calendar-menu-year-inner { + text-align: center; + padding-bottom: 5px; +} +.calendar-menu-year { + width: 50px; + text-align: center; + border-width: 1px; + border-style: solid; + outline-style: none; + resize: none; + margin: 0; + padding: 2px; + font-weight: bold; + font-size: 12px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-menu-prev, +.calendar-menu-next { + display: inline-block; + width: 21px; + height: 21px; + vertical-align: top; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-menu-prev { + margin-right: 10px; + background: url('images/calendar_arrows.png') no-repeat 2px 2px; +} +.calendar-menu-next { + margin-left: 10px; + background: url('images/calendar_arrows.png') no-repeat -45px 2px; +} +.calendar-menu-month { + text-align: center; + cursor: pointer; + font-weight: bold; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-body th, +.calendar-menu-month { + color: #808080; +} +.calendar-day { + color: #333; +} +.calendar-sunday { + color: #CC2222; +} +.calendar-saturday { + color: #00ee00; +} +.calendar-today { + color: #0000ff; +} +.calendar-menu-year { + border-color: #D4D4D4; +} +.calendar { + border-color: #D4D4D4; +} +.calendar-header { + background: #F2F2F2; +} +.calendar-body, +.calendar-menu { + background: #ffffff; +} +.calendar-body th { + background: #F5F5F5; + padding: 2px 0; +} +.calendar-hover, +.calendar-nav-hover, +.calendar-menu-hover { + background-color: #e6e6e6; + color: #00438a; +} +.calendar-hover { + border: 1px solid #ddd; + padding: 0; +} +.calendar-selected { + background-color: #0081c2; + color: #fff; + border: 1px solid #0070a9; + padding: 0; +} +.datebox-calendar-inner { + height: 180px; +} +.datebox-button { + padding: 0 5px; + text-align: center; +} +.datebox-button a { + line-height: 22px; + font-size: 12px; + font-weight: bold; + text-decoration: none; + opacity: 0.6; + filter: alpha(opacity=60); +} +.datebox-button a:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.datebox-current, +.datebox-close { + float: left; +} +.datebox-close { + float: right; +} +.datebox .combo-arrow { + background-image: url('images/datebox_arrow.png'); + background-position: center center; +} +.datebox-button { + background-color: #F5F5F5; +} +.datebox-button a { + color: #444; +} +.spinner-arrow { + background-color: #F2F2F2; + display: inline-block; + overflow: hidden; + vertical-align: top; + margin: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + width: 18px; +} +.spinner-arrow-up, +.spinner-arrow-down { + opacity: 0.6; + filter: alpha(opacity=60); + display: block; + font-size: 1px; + width: 18px; + height: 10px; + width: 100%; + height: 50%; + color: #444; + outline-style: none; +} +.spinner-arrow-hover { + background-color: #e6e6e6; + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-arrow-up:hover, +.spinner-arrow-down:hover { + opacity: 1.0; + filter: alpha(opacity=100); + background-color: #e6e6e6; +} +.textbox-icon-disabled .spinner-arrow-up:hover, +.textbox-icon-disabled .spinner-arrow-down:hover { + opacity: 0.6; + filter: alpha(opacity=60); + background-color: #F2F2F2; + cursor: default; +} +.spinner .textbox-icon-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-arrow-up { + background: url('images/spinner_arrows.png') no-repeat 1px center; +} +.spinner-arrow-down { + background: url('images/spinner_arrows.png') no-repeat -15px center; +} +.spinner-button-up { + background: url('images/spinner_arrows.png') no-repeat -32px center; +} +.spinner-button-down { + background: url('images/spinner_arrows.png') no-repeat -48px center; +} +.progressbar { + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + overflow: hidden; + position: relative; +} +.progressbar-text { + text-align: center; + position: absolute; +} +.progressbar-value { + position: relative; + overflow: hidden; + width: 0; + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.progressbar { + border-color: #D4D4D4; +} +.progressbar-text { + color: #333; + font-size: 12px; +} +.progressbar-value .progressbar-text { + background-color: #0081c2; + color: #fff; +} +.searchbox-button { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.searchbox-button-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.searchbox .l-btn-plain { + border: 0; + padding: 0; + vertical-align: top; + opacity: 0.6; + filter: alpha(opacity=60); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .l-btn-plain:hover { + border: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox a.m-btn-plain-active { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .m-btn-active { + border-width: 0 1px 0 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .textbox-button-right { + border-width: 0 0 0 1px; +} +.searchbox .textbox-button-left { + border-width: 0 1px 0 0; +} +.searchbox-button { + background: url('images/searchbox_button.png') no-repeat center center; +} +.searchbox .l-btn-plain { + background: #F2F2F2; +} +.searchbox .l-btn-plain-disabled, +.searchbox .l-btn-plain-disabled:hover { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-h { + height: 22px; +} +.slider-v { + width: 22px; +} +.slider-inner { + position: relative; + height: 6px; + top: 7px; + border-width: 1px; + border-style: solid; + border-radius: 5px; +} +.slider-handle { + position: absolute; + display: block; + outline: none; + width: 20px; + height: 20px; + top: 50%; + margin-top: -10px; + margin-left: -10px; +} +.slider-tip { + position: absolute; + display: inline-block; + line-height: 12px; + font-size: 12px; + white-space: nowrap; + top: -22px; +} +.slider-rule { + position: relative; + top: 15px; +} +.slider-rule span { + position: absolute; + display: inline-block; + font-size: 0; + height: 5px; + border-width: 0 0 0 1px; + border-style: solid; +} +.slider-rulelabel { + position: relative; + top: 20px; +} +.slider-rulelabel span { + position: absolute; + display: inline-block; + font-size: 12px; +} +.slider-v .slider-inner { + width: 6px; + left: 7px; + top: 0; + float: left; +} +.slider-v .slider-handle { + left: 50%; + margin-top: -10px; +} +.slider-v .slider-tip { + left: -10px; + margin-top: -6px; +} +.slider-v .slider-rule { + float: left; + top: 0; + left: 16px; +} +.slider-v .slider-rule span { + width: 5px; + height: 'auto'; + border-left: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.slider-v .slider-rulelabel { + float: left; + top: 0; + left: 23px; +} +.slider-handle { + background: url('images/slider_handle.png') no-repeat; +} +.slider-inner { + border-color: #D4D4D4; + background: #F2F2F2; +} +.slider-rule span { + border-color: #D4D4D4; +} +.slider-rulelabel span { + color: #333; +} +.menu { + position: absolute; + margin: 0; + padding: 2px; + border-width: 1px; + border-style: solid; + overflow: hidden; +} +.menu-inline { + position: relative; +} +.menu-item { + position: relative; + margin: 0; + padding: 0; + overflow: hidden; + white-space: nowrap; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.menu-text { + height: 20px; + line-height: 20px; + float: left; + padding-left: 28px; +} +.menu-icon { + position: absolute; + width: 16px; + height: 16px; + left: 2px; + top: 50%; + margin-top: -8px; +} +.menu-rightarrow { + position: absolute; + width: 16px; + height: 16px; + right: 0; + top: 50%; + margin-top: -8px; +} +.menu-line { + position: absolute; + left: 26px; + top: 0; + height: 2000px; + font-size: 1px; +} +.menu-sep { + margin: 3px 0px 3px 25px; + font-size: 1px; +} +.menu-noline .menu-line { + display: none; +} +.menu-noline .menu-sep { + margin-left: 0; + margin-right: 0; +} +.menu-active { + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.menu-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); + cursor: default; +} +.menu-text, +.menu-text span { + font-size: 12px; +} +.menu-shadow { + position: absolute; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + background: #ccc; + -moz-box-shadow: 2px 2px 3px #cccccc; + -webkit-box-shadow: 2px 2px 3px #cccccc; + box-shadow: 2px 2px 3px #cccccc; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.menu-rightarrow { + background: url('images/menu_arrows.png') no-repeat -32px center; +} +.menu-line { + border-left: 1px solid #ccc; + border-right: 1px solid #fff; +} +.menu-sep { + border-top: 1px solid #ccc; + border-bottom: 1px solid #fff; +} +.menu { + background-color: #fff; + border-color: #e6e6e6; + color: #333; +} +.menu-content { + background: #ffffff; +} +.menu-item { + border-color: transparent; + _border-color: #fff; +} +.menu-active { + border-color: #ddd; + color: #00438a; + background: #e6e6e6; +} +.menu-active-disabled { + border-color: transparent; + background: transparent; + color: #333; +} +.m-btn-downarrow, +.s-btn-downarrow { + display: inline-block; + position: absolute; + width: 16px; + height: 16px; + font-size: 1px; + right: 0; + top: 50%; + margin-top: -8px; +} +.m-btn-active, +.s-btn-active { + background: #e6e6e6; + color: #00438a; + border: 1px solid #ddd; + filter: none; +} +.m-btn-plain-active, +.s-btn-plain-active { + background: transparent; + padding: 0; + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.m-btn .l-btn-left .l-btn-text { + margin-right: 20px; +} +.m-btn .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.m-btn .l-btn-icon-right .l-btn-icon { + right: 20px; +} +.m-btn .l-btn-icon-top .l-btn-text { + margin-right: 4px; + margin-bottom: 14px; +} +.m-btn .l-btn-icon-bottom .l-btn-text { + margin-right: 4px; + margin-bottom: 34px; +} +.m-btn .l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 20px; +} +.m-btn .l-btn-icon-top .m-btn-downarrow, +.m-btn .l-btn-icon-bottom .m-btn-downarrow { + top: auto; + bottom: 0px; + left: 50%; + margin-left: -8px; +} +.m-btn-line { + display: inline-block; + position: absolute; + font-size: 1px; + display: none; +} +.m-btn .l-btn-left .m-btn-line { + right: 0; + width: 16px; + height: 500px; + border-style: solid; + border-color: #bbb; + border-width: 0 0 0 1px; +} +.m-btn .l-btn-icon-top .m-btn-line, +.m-btn .l-btn-icon-bottom .m-btn-line { + left: 0; + bottom: 0; + width: 500px; + height: 16px; + border-width: 1px 0 0 0; +} +.m-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 56px; +} +.m-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 50px; +} +.m-btn-downarrow, +.s-btn-downarrow { + background: url('images/menu_arrows.png') no-repeat 0 center; +} +.m-btn-plain-active, +.s-btn-plain-active { + border-color: #ddd; + background-color: #e6e6e6; + color: #00438a; +} +.s-btn:hover .m-btn-line, +.s-btn-active .m-btn-line, +.s-btn-plain-active .m-btn-line { + display: inline-block; +} +.l-btn:hover .s-btn-downarrow, +.s-btn-active .s-btn-downarrow, +.s-btn-plain-active .s-btn-downarrow { + border-style: solid; + border-color: #bbb; + border-width: 0 0 0 1px; +} +.messager-body { + padding: 10px 10px 30px 10px; + overflow: auto; +} +.messager-button { + text-align: center; + padding: 5px; +} +.messager-button .l-btn { + width: 70px; +} +.messager-icon { + float: left; + width: 32px; + height: 32px; + margin: 0 10px 10px 0; +} +.messager-error { + background: url('images/messager_icons.png') no-repeat scroll -64px 0; +} +.messager-info { + background: url('images/messager_icons.png') no-repeat scroll 0 0; +} +.messager-question { + background: url('images/messager_icons.png') no-repeat scroll -32px 0; +} +.messager-warning { + background: url('images/messager_icons.png') no-repeat scroll -96px 0; +} +.messager-progress { + padding: 10px; +} +.messager-p-msg { + margin-bottom: 5px; +} +.messager-body .messager-input { + width: 100%; + padding: 4px 0; + outline-style: none; + border: 1px solid #D4D4D4; +} +.window-thinborder .messager-button { + padding-bottom: 8px; +} +.tree { + margin: 0; + padding: 0; + list-style-type: none; +} +.tree li { + white-space: nowrap; +} +.tree li ul { + list-style-type: none; + margin: 0; + padding: 0; +} +.tree-node { + height: 18px; + white-space: nowrap; + cursor: pointer; +} +.tree-hit { + cursor: pointer; +} +.tree-expanded, +.tree-collapsed, +.tree-folder, +.tree-file, +.tree-checkbox, +.tree-indent { + display: inline-block; + width: 16px; + height: 18px; + vertical-align: top; + overflow: hidden; +} +.tree-expanded { + background: url('images/tree_icons.png') no-repeat -18px 0px; +} +.tree-expanded-hover { + background: url('images/tree_icons.png') no-repeat -50px 0px; +} +.tree-collapsed { + background: url('images/tree_icons.png') no-repeat 0px 0px; +} +.tree-collapsed-hover { + background: url('images/tree_icons.png') no-repeat -32px 0px; +} +.tree-lines .tree-expanded, +.tree-lines .tree-root-first .tree-expanded { + background: url('images/tree_icons.png') no-repeat -144px 0; +} +.tree-lines .tree-collapsed, +.tree-lines .tree-root-first .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -128px 0; +} +.tree-lines .tree-node-last .tree-expanded, +.tree-lines .tree-root-one .tree-expanded { + background: url('images/tree_icons.png') no-repeat -80px 0; +} +.tree-lines .tree-node-last .tree-collapsed, +.tree-lines .tree-root-one .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -64px 0; +} +.tree-line { + background: url('images/tree_icons.png') no-repeat -176px 0; +} +.tree-join { + background: url('images/tree_icons.png') no-repeat -192px 0; +} +.tree-joinbottom { + background: url('images/tree_icons.png') no-repeat -160px 0; +} +.tree-folder { + background: url('images/tree_icons.png') no-repeat -208px 0; +} +.tree-folder-open { + background: url('images/tree_icons.png') no-repeat -224px 0; +} +.tree-file { + background: url('images/tree_icons.png') no-repeat -240px 0; +} +.tree-loading { + background: url('images/loading.gif') no-repeat center center; +} +.tree-checkbox0 { + background: url('images/tree_icons.png') no-repeat -208px -18px; +} +.tree-checkbox1 { + background: url('images/tree_icons.png') no-repeat -224px -18px; +} +.tree-checkbox2 { + background: url('images/tree_icons.png') no-repeat -240px -18px; +} +.tree-title { + font-size: 12px; + display: inline-block; + text-decoration: none; + vertical-align: top; + white-space: nowrap; + padding: 0 2px; + height: 18px; + line-height: 18px; +} +.tree-node-proxy { + font-size: 12px; + line-height: 20px; + padding: 0 2px 0 20px; + border-width: 1px; + border-style: solid; + z-index: 9900000; +} +.tree-dnd-icon { + display: inline-block; + position: absolute; + width: 16px; + height: 18px; + left: 2px; + top: 50%; + margin-top: -9px; +} +.tree-dnd-yes { + background: url('images/tree_icons.png') no-repeat -256px 0; +} +.tree-dnd-no { + background: url('images/tree_icons.png') no-repeat -256px -18px; +} +.tree-node-top { + border-top: 1px dotted red; +} +.tree-node-bottom { + border-bottom: 1px dotted red; +} +.tree-node-append .tree-title { + border: 1px dotted red; +} +.tree-editor { + border: 1px solid #D4D4D4; + font-size: 12px; + line-height: 16px; + padding: 0 4px; + margin: 0; + width: 80px; + outline-style: none; + vertical-align: top; + position: absolute; + top: 0; +} +.tree-node-proxy { + background-color: #ffffff; + color: #333; + border-color: #D4D4D4; +} +.tree-node-hover { + background: #e6e6e6; + color: #00438a; +} +.tree-node-selected { + background: #0081c2; + color: #fff; +} +.tree-node-hidden { + display: none; +} +.validatebox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; + color: #000; +} +.tooltip { + position: absolute; + display: none; + z-index: 9900000; + outline: none; + opacity: 1; + filter: alpha(opacity=100); + padding: 5px; + border-width: 1px; + border-style: solid; + border-radius: 5px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.tooltip-content { + font-size: 12px; +} +.tooltip-arrow-outer, +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + line-height: 0; + font-size: 0; + border-style: solid; + border-width: 6px; + border-color: transparent; + _border-color: tomato; + _filter: chroma(color=tomato); +} +.tooltip-arrow { + display: none \9; +} +.tooltip-right .tooltip-arrow-outer { + left: 0; + top: 50%; + margin: -6px 0 0 -13px; +} +.tooltip-right .tooltip-arrow { + left: 0; + top: 50%; + margin: -6px 0 0 -12px; +} +.tooltip-left .tooltip-arrow-outer { + right: 0; + top: 50%; + margin: -6px -13px 0 0; +} +.tooltip-left .tooltip-arrow { + right: 0; + top: 50%; + margin: -6px -12px 0 0; +} +.tooltip-top .tooltip-arrow-outer { + bottom: 0; + left: 50%; + margin: 0 0 -13px -6px; +} +.tooltip-top .tooltip-arrow { + bottom: 0; + left: 50%; + margin: 0 0 -12px -6px; +} +.tooltip-bottom .tooltip-arrow-outer { + top: 0; + left: 50%; + margin: -13px 0 0 -6px; +} +.tooltip-bottom .tooltip-arrow { + top: 0; + left: 50%; + margin: -12px 0 0 -6px; +} +.tooltip { + background-color: #ffffff; + border-color: #D4D4D4; + color: #333; +} +.tooltip-right .tooltip-arrow-outer { + border-right-color: #D4D4D4; +} +.tooltip-right .tooltip-arrow { + border-right-color: #ffffff; +} +.tooltip-left .tooltip-arrow-outer { + border-left-color: #D4D4D4; +} +.tooltip-left .tooltip-arrow { + border-left-color: #ffffff; +} +.tooltip-top .tooltip-arrow-outer { + border-top-color: #D4D4D4; +} +.tooltip-top .tooltip-arrow { + border-top-color: #ffffff; +} +.tooltip-bottom .tooltip-arrow-outer { + border-bottom-color: #D4D4D4; +} +.tooltip-bottom .tooltip-arrow { + border-bottom-color: #ffffff; +} +.switchbutton { + text-decoration: none; + display: inline-block; + overflow: hidden; + vertical-align: middle; + margin: 0; + padding: 0; + cursor: pointer; + background: #bbb; + border: 1px solid #bbb; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.switchbutton-inner { + display: inline-block; + overflow: hidden; + position: relative; + top: -1px; + left: -1px; +} +.switchbutton-on, +.switchbutton-off, +.switchbutton-handle { + display: inline-block; + text-align: center; + height: 100%; + float: left; + font-size: 12px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.switchbutton-on { + background: #0081c2; + color: #fff; +} +.switchbutton-off { + background-color: #ffffff; + color: #333; +} +.switchbutton-on, +.switchbutton-reversed .switchbutton-off { + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.switchbutton-off, +.switchbutton-reversed .switchbutton-on { + -moz-border-radius: 0 5px 5px 0; + -webkit-border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; +} +.switchbutton-handle { + position: absolute; + top: 0; + left: 50%; + background-color: #ffffff; + color: #333; + border: 1px solid #bbb; + -moz-box-shadow: 0 0 3px 0 #bbb; + -webkit-box-shadow: 0 0 3px 0 #bbb; + box-shadow: 0 0 3px 0 #bbb; +} +.switchbutton-value { + position: absolute; + top: 0; + left: -5000px; +} +.switchbutton-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.switchbutton-disabled, +.switchbutton-readonly { + cursor: default; +} +.tabs-panels { + border-color: transparent; +} +.tabs li a.tabs-inner { + border-color: transparent; + background: transparent; + filter: none; + color: #0088CC; +} +.menu-active { + background-color: #0081C2; + border-color: #0081C2; + color: #fff; +} +.menu-active-disabled { + border-color: transparent; + background: transparent; + color: #333; +} diff --git a/src/main/webapp/css/themes/bootstrap/filebox.css b/src/main/webapp/css/themes/bootstrap/filebox.css new file mode 100644 index 0000000..c6bac66 --- /dev/null +++ b/src/main/webapp/css/themes/bootstrap/filebox.css @@ -0,0 +1,20 @@ +.filebox .textbox-value { + vertical-align: top; + position: absolute; + top: 0; + left: -5000px; +} +.filebox-label { + display: inline-block; + position: absolute; + width: 100%; + height: 100%; + cursor: pointer; + left: 0; + top: 0; + z-index: 10; + background: url('images/blank.gif') no-repeat; +} +.l-btn-disabled .filebox-label { + cursor: default; +} diff --git a/src/main/webapp/css/themes/bootstrap/images/accordion_arrows.png b/src/main/webapp/css/themes/bootstrap/images/accordion_arrows.png new file mode 100644 index 0000000..720835f Binary files /dev/null and b/src/main/webapp/css/themes/bootstrap/images/accordion_arrows.png differ diff --git a/src/main/webapp/css/themes/bootstrap/images/blank.gif b/src/main/webapp/css/themes/bootstrap/images/blank.gif new file mode 100644 index 0000000..1d11fa9 Binary files /dev/null and b/src/main/webapp/css/themes/bootstrap/images/blank.gif differ diff --git a/src/main/webapp/css/themes/bootstrap/images/calendar_arrows.png b/src/main/webapp/css/themes/bootstrap/images/calendar_arrows.png new file mode 100644 index 0000000..430c4ad Binary files /dev/null and b/src/main/webapp/css/themes/bootstrap/images/calendar_arrows.png differ diff --git a/src/main/webapp/css/themes/bootstrap/images/combo_arrow.png b/src/main/webapp/css/themes/bootstrap/images/combo_arrow.png new file mode 100644 index 0000000..2e59fb9 Binary files /dev/null and b/src/main/webapp/css/themes/bootstrap/images/combo_arrow.png differ diff --git a/src/main/webapp/css/themes/bootstrap/images/datagrid_icons.png b/src/main/webapp/css/themes/bootstrap/images/datagrid_icons.png new file mode 100644 index 0000000..762d0ce Binary files /dev/null and b/src/main/webapp/css/themes/bootstrap/images/datagrid_icons.png differ diff --git a/src/main/webapp/css/themes/bootstrap/images/datebox_arrow.png b/src/main/webapp/css/themes/bootstrap/images/datebox_arrow.png new file mode 100644 index 0000000..783c833 Binary files /dev/null and b/src/main/webapp/css/themes/bootstrap/images/datebox_arrow.png differ diff --git a/src/main/webapp/css/themes/bootstrap/images/layout_arrows.png b/src/main/webapp/css/themes/bootstrap/images/layout_arrows.png new file mode 100644 index 0000000..6f41654 Binary files /dev/null and b/src/main/webapp/css/themes/bootstrap/images/layout_arrows.png differ diff --git a/src/main/webapp/css/themes/bootstrap/images/linkbutton_bg.png b/src/main/webapp/css/themes/bootstrap/images/linkbutton_bg.png new file mode 100644 index 0000000..fc66bd2 Binary files /dev/null and b/src/main/webapp/css/themes/bootstrap/images/linkbutton_bg.png differ diff --git a/src/main/webapp/css/themes/bootstrap/images/loading.gif b/src/main/webapp/css/themes/bootstrap/images/loading.gif new file mode 100644 index 0000000..68f01d0 Binary files /dev/null and b/src/main/webapp/css/themes/bootstrap/images/loading.gif differ diff --git a/src/main/webapp/css/themes/bootstrap/images/menu_arrows.png b/src/main/webapp/css/themes/bootstrap/images/menu_arrows.png new file mode 100644 index 0000000..b986842 Binary files /dev/null and b/src/main/webapp/css/themes/bootstrap/images/menu_arrows.png differ diff --git a/src/main/webapp/css/themes/bootstrap/images/messager_icons.png b/src/main/webapp/css/themes/bootstrap/images/messager_icons.png new file mode 100644 index 0000000..62c18c1 Binary files /dev/null and b/src/main/webapp/css/themes/bootstrap/images/messager_icons.png differ diff --git a/src/main/webapp/css/themes/bootstrap/images/pagination_icons.png b/src/main/webapp/css/themes/bootstrap/images/pagination_icons.png new file mode 100644 index 0000000..616f0bd Binary files /dev/null and b/src/main/webapp/css/themes/bootstrap/images/pagination_icons.png differ diff --git a/src/main/webapp/css/themes/bootstrap/images/panel_tools.png b/src/main/webapp/css/themes/bootstrap/images/panel_tools.png new file mode 100644 index 0000000..fe682ef Binary files /dev/null and b/src/main/webapp/css/themes/bootstrap/images/panel_tools.png differ diff --git a/src/main/webapp/css/themes/bootstrap/images/passwordbox_close.png b/src/main/webapp/css/themes/bootstrap/images/passwordbox_close.png new file mode 100644 index 0000000..643c09d Binary files /dev/null and b/src/main/webapp/css/themes/bootstrap/images/passwordbox_close.png differ diff --git a/src/main/webapp/css/themes/bootstrap/images/passwordbox_open.png b/src/main/webapp/css/themes/bootstrap/images/passwordbox_open.png new file mode 100644 index 0000000..d328891 Binary files /dev/null and b/src/main/webapp/css/themes/bootstrap/images/passwordbox_open.png differ diff --git a/src/main/webapp/css/themes/bootstrap/images/searchbox_button.png b/src/main/webapp/css/themes/bootstrap/images/searchbox_button.png new file mode 100644 index 0000000..6dd1931 Binary files /dev/null and b/src/main/webapp/css/themes/bootstrap/images/searchbox_button.png differ diff --git a/src/main/webapp/css/themes/bootstrap/images/slider_handle.png b/src/main/webapp/css/themes/bootstrap/images/slider_handle.png new file mode 100644 index 0000000..b9802ba Binary files /dev/null and b/src/main/webapp/css/themes/bootstrap/images/slider_handle.png differ diff --git a/src/main/webapp/css/themes/bootstrap/images/spinner_arrows.png b/src/main/webapp/css/themes/bootstrap/images/spinner_arrows.png new file mode 100644 index 0000000..7c2df48 Binary files /dev/null and b/src/main/webapp/css/themes/bootstrap/images/spinner_arrows.png differ diff --git a/src/main/webapp/css/themes/bootstrap/images/tabs_icons.png b/src/main/webapp/css/themes/bootstrap/images/tabs_icons.png new file mode 100644 index 0000000..4d29966 Binary files /dev/null and b/src/main/webapp/css/themes/bootstrap/images/tabs_icons.png differ diff --git a/src/main/webapp/css/themes/bootstrap/images/tagbox_icons.png b/src/main/webapp/css/themes/bootstrap/images/tagbox_icons.png new file mode 100644 index 0000000..bd02e2d Binary files /dev/null and b/src/main/webapp/css/themes/bootstrap/images/tagbox_icons.png differ diff --git a/src/main/webapp/css/themes/bootstrap/images/tree_icons.png b/src/main/webapp/css/themes/bootstrap/images/tree_icons.png new file mode 100644 index 0000000..e9be4f3 Binary files /dev/null and b/src/main/webapp/css/themes/bootstrap/images/tree_icons.png differ diff --git a/src/main/webapp/css/themes/bootstrap/images/validatebox_warning.png b/src/main/webapp/css/themes/bootstrap/images/validatebox_warning.png new file mode 100644 index 0000000..2b3d4f0 Binary files /dev/null and b/src/main/webapp/css/themes/bootstrap/images/validatebox_warning.png differ diff --git a/src/main/webapp/css/themes/bootstrap/layout.css b/src/main/webapp/css/themes/bootstrap/layout.css new file mode 100644 index 0000000..f447246 --- /dev/null +++ b/src/main/webapp/css/themes/bootstrap/layout.css @@ -0,0 +1,150 @@ +.layout { + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + z-index: 0; +} +.layout-panel { + position: absolute; + overflow: hidden; +} +.layout-body { + min-width: 1px; + min-height: 1px; +} +.layout-panel-east, +.layout-panel-west { + z-index: 2; +} +.layout-panel-north, +.layout-panel-south { + z-index: 3; +} +.layout-expand { + position: absolute; + padding: 0px; + font-size: 1px; + cursor: pointer; + z-index: 1; +} +.layout-expand .panel-header, +.layout-expand .panel-body { + background: transparent; + filter: none; + overflow: hidden; +} +.layout-expand .panel-header { + border-bottom-width: 0px; +} +.layout-expand .panel-body { + position: relative; +} +.layout-expand .panel-body .panel-icon { + margin-top: 0; + top: 0; + left: 50%; + margin-left: -8px; +} +.layout-expand-west .panel-header .panel-icon, +.layout-expand-east .panel-header .panel-icon { + display: none; +} +.layout-expand-title { + position: absolute; + top: 0; + left: 21px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.layout-expand-title-up { + position: absolute; + top: 0; + left: 0; + text-align: right; + padding-left: 5px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 0; +} +.layout-expand-with-icon { + top: 18px; +} +.layout-expand .panel-body-noheader .layout-expand-title, +.layout-expand .panel-body-noheader .panel-icon { + top: 5px; +} +.layout-expand .panel-body-noheader .layout-expand-with-icon { + top: 23px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + position: absolute; + font-size: 1px; + display: none; + z-index: 5; +} +.layout-split-proxy-h { + width: 5px; + cursor: e-resize; +} +.layout-split-proxy-v { + height: 5px; + cursor: n-resize; +} +.layout-mask { + position: absolute; + background: #fafafa; + filter: alpha(opacity=10); + opacity: 0.10; + z-index: 4; +} +.layout-button-up { + background: url('images/layout_arrows.png') no-repeat -16px -16px; +} +.layout-button-down { + background: url('images/layout_arrows.png') no-repeat -16px 0; +} +.layout-button-left { + background: url('images/layout_arrows.png') no-repeat 0 0; +} +.layout-button-right { + background: url('images/layout_arrows.png') no-repeat 0 -16px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + background-color: #bbb; +} +.layout-split-north { + border-bottom: 5px solid #eee; +} +.layout-split-south { + border-top: 5px solid #eee; +} +.layout-split-east { + border-left: 5px solid #eee; +} +.layout-split-west { + border-right: 5px solid #eee; +} +.layout-expand { + background-color: #F2F2F2; +} +.layout-expand-over { + background-color: #F2F2F2; +} diff --git a/src/main/webapp/css/themes/bootstrap/linkbutton.css b/src/main/webapp/css/themes/bootstrap/linkbutton.css new file mode 100644 index 0000000..35ccfae --- /dev/null +++ b/src/main/webapp/css/themes/bootstrap/linkbutton.css @@ -0,0 +1,203 @@ +.l-btn { + text-decoration: none; + display: inline-block; + overflow: hidden; + margin: 0; + padding: 0; + cursor: pointer; + outline: none; + text-align: center; + vertical-align: middle; + line-height: normal; +} +.l-btn-plain { + border-width: 0; + padding: 1px; +} +.l-btn-left { + display: inline-block; + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + vertical-align: top; +} +.l-btn-text { + display: inline-block; + vertical-align: top; + width: auto; + line-height: 24px; + font-size: 12px; + padding: 0; + margin: 0 4px; +} +.l-btn-icon { + display: inline-block; + width: 16px; + height: 16px; + line-height: 16px; + position: absolute; + top: 50%; + margin-top: -8px; + font-size: 1px; +} +.l-btn span span .l-btn-empty { + display: inline-block; + margin: 0; + width: 16px; + height: 24px; + font-size: 1px; + vertical-align: top; +} +.l-btn span .l-btn-icon-left { + padding: 0 0 0 20px; + background-position: left center; +} +.l-btn span .l-btn-icon-right { + padding: 0 20px 0 0; + background-position: right center; +} +.l-btn-icon-left .l-btn-text { + margin: 0 4px 0 24px; +} +.l-btn-icon-left .l-btn-icon { + left: 4px; +} +.l-btn-icon-right .l-btn-text { + margin: 0 24px 0 4px; +} +.l-btn-icon-right .l-btn-icon { + right: 4px; +} +.l-btn-icon-top .l-btn-text { + margin: 20px 4px 0 4px; +} +.l-btn-icon-top .l-btn-icon { + top: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-icon-bottom .l-btn-text { + margin: 0 4px 20px 4px; +} +.l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-left .l-btn-empty { + margin: 0 4px; + width: 16px; +} +.l-btn-plain:hover { + padding: 0; +} +.l-btn-focus { + outline: #0000FF dotted thin; +} +.l-btn-large .l-btn-text { + line-height: 40px; +} +.l-btn-large .l-btn-icon { + width: 32px; + height: 32px; + line-height: 32px; + margin-top: -16px; +} +.l-btn-large .l-btn-icon-left .l-btn-text { + margin-left: 40px; +} +.l-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.l-btn-large .l-btn-icon-top .l-btn-text { + margin-top: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-top .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-left .l-btn-empty { + margin: 0 4px; + width: 32px; +} +.l-btn { + color: #444; + background: #f5f5f5; + background-repeat: repeat-x; + border: 1px solid #bbb; + background: -webkit-linear-gradient(top,#ffffff 0,#e6e6e6 100%); + background: -moz-linear-gradient(top,#ffffff 0,#e6e6e6 100%); + background: -o-linear-gradient(top,#ffffff 0,#e6e6e6 100%); + background: linear-gradient(to bottom,#ffffff 0,#e6e6e6 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#e6e6e6,GradientType=0); + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.l-btn:hover { + background: #e6e6e6; + color: #00438a; + border: 1px solid #ddd; + filter: none; +} +.l-btn-plain { + background: transparent; + border-width: 0; + filter: none; +} +.l-btn-outline { + border-width: 1px; + border-color: #ddd; + padding: 0; +} +.l-btn-plain:hover { + background: #e6e6e6; + color: #00438a; + border: 1px solid #ddd; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.l-btn-disabled, +.l-btn-disabled:hover { + opacity: 0.5; + cursor: default; + background: #f5f5f5; + color: #444; + background: -webkit-linear-gradient(top,#ffffff 0,#e6e6e6 100%); + background: -moz-linear-gradient(top,#ffffff 0,#e6e6e6 100%); + background: -o-linear-gradient(top,#ffffff 0,#e6e6e6 100%); + background: linear-gradient(to bottom,#ffffff 0,#e6e6e6 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#e6e6e6,GradientType=0); +} +.l-btn-disabled .l-btn-text, +.l-btn-disabled .l-btn-icon { + filter: alpha(opacity=50); +} +.l-btn-plain-disabled, +.l-btn-plain-disabled:hover { + background: transparent; + filter: alpha(opacity=50); +} +.l-btn-selected, +.l-btn-selected:hover { + background: #ddd; + filter: none; +} +.l-btn-plain-selected, +.l-btn-plain-selected:hover { + background: #ddd; +} diff --git a/src/main/webapp/css/themes/bootstrap/menu.css b/src/main/webapp/css/themes/bootstrap/menu.css new file mode 100644 index 0000000..d74908f --- /dev/null +++ b/src/main/webapp/css/themes/bootstrap/menu.css @@ -0,0 +1,119 @@ +.menu { + position: absolute; + margin: 0; + padding: 2px; + border-width: 1px; + border-style: solid; + overflow: hidden; +} +.menu-inline { + position: relative; +} +.menu-item { + position: relative; + margin: 0; + padding: 0; + overflow: hidden; + white-space: nowrap; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.menu-text { + height: 20px; + line-height: 20px; + float: left; + padding-left: 28px; +} +.menu-icon { + position: absolute; + width: 16px; + height: 16px; + left: 2px; + top: 50%; + margin-top: -8px; +} +.menu-rightarrow { + position: absolute; + width: 16px; + height: 16px; + right: 0; + top: 50%; + margin-top: -8px; +} +.menu-line { + position: absolute; + left: 26px; + top: 0; + height: 2000px; + font-size: 1px; +} +.menu-sep { + margin: 3px 0px 3px 25px; + font-size: 1px; +} +.menu-noline .menu-line { + display: none; +} +.menu-noline .menu-sep { + margin-left: 0; + margin-right: 0; +} +.menu-active { + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.menu-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); + cursor: default; +} +.menu-text, +.menu-text span { + font-size: 12px; +} +.menu-shadow { + position: absolute; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + background: #ccc; + -moz-box-shadow: 2px 2px 3px #cccccc; + -webkit-box-shadow: 2px 2px 3px #cccccc; + box-shadow: 2px 2px 3px #cccccc; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.menu-rightarrow { + background: url('images/menu_arrows.png') no-repeat -32px center; +} +.menu-line { + border-left: 1px solid #ccc; + border-right: 1px solid #fff; +} +.menu-sep { + border-top: 1px solid #ccc; + border-bottom: 1px solid #fff; +} +.menu { + background-color: #fff; + border-color: #e6e6e6; + color: #333; +} +.menu-content { + background: #ffffff; +} +.menu-item { + border-color: transparent; + _border-color: #fff; +} +.menu-active { + border-color: #ddd; + color: #00438a; + background: #e6e6e6; +} +.menu-active-disabled { + border-color: transparent; + background: transparent; + color: #333; +} diff --git a/src/main/webapp/css/themes/bootstrap/menubutton.css b/src/main/webapp/css/themes/bootstrap/menubutton.css new file mode 100644 index 0000000..89ac235 --- /dev/null +++ b/src/main/webapp/css/themes/bootstrap/menubutton.css @@ -0,0 +1,94 @@ +.m-btn-downarrow, +.s-btn-downarrow { + display: inline-block; + position: absolute; + width: 16px; + height: 16px; + font-size: 1px; + right: 0; + top: 50%; + margin-top: -8px; +} +.m-btn-active, +.s-btn-active { + background: #e6e6e6; + color: #00438a; + border: 1px solid #ddd; + filter: none; +} +.m-btn-plain-active, +.s-btn-plain-active { + background: transparent; + padding: 0; + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.m-btn .l-btn-left .l-btn-text { + margin-right: 20px; +} +.m-btn .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.m-btn .l-btn-icon-right .l-btn-icon { + right: 20px; +} +.m-btn .l-btn-icon-top .l-btn-text { + margin-right: 4px; + margin-bottom: 14px; +} +.m-btn .l-btn-icon-bottom .l-btn-text { + margin-right: 4px; + margin-bottom: 34px; +} +.m-btn .l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 20px; +} +.m-btn .l-btn-icon-top .m-btn-downarrow, +.m-btn .l-btn-icon-bottom .m-btn-downarrow { + top: auto; + bottom: 0px; + left: 50%; + margin-left: -8px; +} +.m-btn-line { + display: inline-block; + position: absolute; + font-size: 1px; + display: none; +} +.m-btn .l-btn-left .m-btn-line { + right: 0; + width: 16px; + height: 500px; + border-style: solid; + border-color: #bbb; + border-width: 0 0 0 1px; +} +.m-btn .l-btn-icon-top .m-btn-line, +.m-btn .l-btn-icon-bottom .m-btn-line { + left: 0; + bottom: 0; + width: 500px; + height: 16px; + border-width: 1px 0 0 0; +} +.m-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 56px; +} +.m-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 50px; +} +.m-btn-downarrow, +.s-btn-downarrow { + background: url('images/menu_arrows.png') no-repeat 0 center; +} +.m-btn-plain-active, +.s-btn-plain-active { + border-color: #ddd; + background-color: #e6e6e6; + color: #00438a; +} diff --git a/src/main/webapp/css/themes/bootstrap/messager.css b/src/main/webapp/css/themes/bootstrap/messager.css new file mode 100644 index 0000000..60bc491 --- /dev/null +++ b/src/main/webapp/css/themes/bootstrap/messager.css @@ -0,0 +1,44 @@ +.messager-body { + padding: 10px 10px 30px 10px; + overflow: auto; +} +.messager-button { + text-align: center; + padding: 5px; +} +.messager-button .l-btn { + width: 70px; +} +.messager-icon { + float: left; + width: 32px; + height: 32px; + margin: 0 10px 10px 0; +} +.messager-error { + background: url('images/messager_icons.png') no-repeat scroll -64px 0; +} +.messager-info { + background: url('images/messager_icons.png') no-repeat scroll 0 0; +} +.messager-question { + background: url('images/messager_icons.png') no-repeat scroll -32px 0; +} +.messager-warning { + background: url('images/messager_icons.png') no-repeat scroll -96px 0; +} +.messager-progress { + padding: 10px; +} +.messager-p-msg { + margin-bottom: 5px; +} +.messager-body .messager-input { + width: 100%; + padding: 4px 0; + outline-style: none; + border: 1px solid #D4D4D4; +} +.window-thinborder .messager-button { + padding-bottom: 8px; +} diff --git a/src/main/webapp/css/themes/bootstrap/numberbox.css b/src/main/webapp/css/themes/bootstrap/numberbox.css new file mode 100644 index 0000000..e69de29 diff --git a/src/main/webapp/css/themes/bootstrap/pagination.css b/src/main/webapp/css/themes/bootstrap/pagination.css new file mode 100644 index 0000000..e0a7c89 --- /dev/null +++ b/src/main/webapp/css/themes/bootstrap/pagination.css @@ -0,0 +1,71 @@ +.pagination { + zoom: 1; +} +.pagination table { + float: left; + height: 30px; +} +.pagination td { + border: 0; +} +.pagination-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ccc; + border-right: 1px solid #fff; + margin: 3px 1px; +} +.pagination .pagination-num { + border-width: 1px; + border-style: solid; + margin: 0 2px; + padding: 2px; + width: 2em; + height: auto; +} +.pagination-page-list { + margin: 0px 6px; + padding: 1px 2px; + width: auto; + height: auto; + border-width: 1px; + border-style: solid; +} +.pagination-info { + float: right; + margin: 0 6px; + padding: 0; + height: 30px; + line-height: 30px; + font-size: 12px; +} +.pagination span { + font-size: 12px; +} +.pagination-link .l-btn-text { + width: 24px; + text-align: center; + margin: 0; +} +.pagination-first { + background: url('images/pagination_icons.png') no-repeat 0 center; +} +.pagination-prev { + background: url('images/pagination_icons.png') no-repeat -16px center; +} +.pagination-next { + background: url('images/pagination_icons.png') no-repeat -32px center; +} +.pagination-last { + background: url('images/pagination_icons.png') no-repeat -48px center; +} +.pagination-load { + background: url('images/pagination_icons.png') no-repeat -64px center; +} +.pagination-loading { + background: url('images/loading.gif') no-repeat center center; +} +.pagination-page-list, +.pagination .pagination-num { + border-color: #D4D4D4; +} diff --git a/src/main/webapp/css/themes/bootstrap/panel.css b/src/main/webapp/css/themes/bootstrap/panel.css new file mode 100644 index 0000000..270b50f --- /dev/null +++ b/src/main/webapp/css/themes/bootstrap/panel.css @@ -0,0 +1,265 @@ +.panel { + overflow: hidden; + text-align: left; + margin: 0; + border: 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.panel-header, +.panel-body { + border-width: 1px; + border-style: solid; +} +.panel-header { + padding: 5px; + position: relative; +} +.panel-title { + background: url('images/blank.gif') no-repeat; +} +.panel-header-noborder { + border-width: 0 0 1px 0; +} +.panel-body { + overflow: auto; + border-top-width: 0; + padding: 0; +} +.panel-body-noheader { + border-top-width: 1px; +} +.panel-body-noborder { + border-width: 0px; +} +.panel-body-nobottom { + border-bottom-width: 0; +} +.panel-with-icon { + padding-left: 18px; +} +.panel-icon, +.panel-tool { + position: absolute; + top: 50%; + margin-top: -8px; + height: 16px; + overflow: hidden; +} +.panel-icon { + left: 5px; + width: 16px; +} +.panel-tool { + right: 5px; + width: auto; +} +.panel-tool a { + display: inline-block; + width: 16px; + height: 16px; + opacity: 0.6; + filter: alpha(opacity=60); + margin: 0 0 0 2px; + vertical-align: top; +} +.panel-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + background-color: #e6e6e6; + -moz-border-radius: 3px 3px 3px 3px; + -webkit-border-radius: 3px 3px 3px 3px; + border-radius: 3px 3px 3px 3px; +} +.panel-loading { + padding: 11px 0px 10px 30px; +} +.panel-noscroll { + overflow: hidden; +} +.panel-fit, +.panel-fit body { + height: 100%; + margin: 0; + padding: 0; + border: 0; + overflow: hidden; +} +.panel-loading { + background: url('images/loading.gif') no-repeat 10px 10px; +} +.panel-tool-close { + background: url('images/panel_tools.png') no-repeat -16px 0px; +} +.panel-tool-min { + background: url('images/panel_tools.png') no-repeat 0px 0px; +} +.panel-tool-max { + background: url('images/panel_tools.png') no-repeat 0px -16px; +} +.panel-tool-restore { + background: url('images/panel_tools.png') no-repeat -16px -16px; +} +.panel-tool-collapse { + background: url('images/panel_tools.png') no-repeat -32px 0; +} +.panel-tool-expand { + background: url('images/panel_tools.png') no-repeat -32px -16px; +} +.panel-header, +.panel-body { + border-color: #D4D4D4; +} +.panel-header { + background-color: #F2F2F2; + background: -webkit-linear-gradient(top,#ffffff 0,#F2F2F2 100%); + background: -moz-linear-gradient(top,#ffffff 0,#F2F2F2 100%); + background: -o-linear-gradient(top,#ffffff 0,#F2F2F2 100%); + background: linear-gradient(to bottom,#ffffff 0,#F2F2F2 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F2F2F2,GradientType=0); +} +.panel-body { + background-color: #ffffff; + color: #333; + font-size: 12px; +} +.panel-title { + font-size: 12px; + font-weight: bold; + color: #777; + height: 16px; + line-height: 16px; +} +.panel-footer { + border: 1px solid #D4D4D4; + overflow: hidden; + background: #F5F5F5; +} +.panel-footer-noborder { + border-width: 1px 0 0 0; +} +.panel-hleft, +.panel-hright { + position: relative; +} +.panel-hleft>.panel-body, +.panel-hright>.panel-body { + position: absolute; +} +.panel-hleft>.panel-header { + float: left; +} +.panel-hright>.panel-header { + float: right; +} +.panel-hleft>.panel-body { + border-top-width: 1px; + border-left-width: 0; +} +.panel-hright>.panel-body { + border-top-width: 1px; + border-right-width: 0; +} +.panel-hleft>.panel-body-nobottom { + border-bottom-width: 1px; + border-right-width: 0; +} +.panel-hright>.panel-body-nobottom { + border-bottom-width: 1px; + border-left-width: 0; +} +.panel-hleft>.panel-footer { + position: absolute; + right: 0; +} +.panel-hright>.panel-footer { + position: absolute; + left: 0; +} +.panel-hleft>.panel-header-noborder { + border-width: 0 1px 0 0; +} +.panel-hright>.panel-header-noborder { + border-width: 0 0 0 1px; +} +.panel-hleft>.panel-body-noborder { + border-width: 0; +} +.panel-hright>.panel-body-noborder { + border-width: 0; +} +.panel-hleft>.panel-body-noheader { + border-left-width: 1px; +} +.panel-hright>.panel-body-noheader { + border-right-width: 1px; +} +.panel-hleft>.panel-footer-noborder { + border-width: 0 0 0 1px; +} +.panel-hright>.panel-footer-noborder { + border-width: 0 1px 0 0; +} +.panel-hleft>.panel-header .panel-icon, +.panel-hright>.panel-header .panel-icon { + margin-top: 0; + top: 5px; +} +.panel-hleft>.panel-header .panel-title, +.panel-hright>.panel-header .panel-title { + position: absolute; + min-width: 16px; + left: 21px; + top: 5px; + bottom: auto; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.panel-hleft>.panel-header .panel-title-up, +.panel-hright>.panel-header .panel-title-up { + position: absolute; + min-width: 16px; + left: 21px; + top: auto; + bottom: 5px; + text-align: right; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 16px; +} +.panel-hleft>.panel-header .panel-with-icon.panel-title-up, +.panel-hright>.panel-header .panel-with-icon.panel-title-up { + padding-left: 0; + padding-right: 18px; +} +.panel-hleft>.panel-header .panel-tool, +.panel-hright>.panel-header .panel-tool { + top: auto; + bottom: 5px; + width: 16px; + height: auto; + left: 50%; + margin-left: -8px; + margin-top: 0; +} +.panel-hleft>.panel-header .panel-tool a, +.panel-hright>.panel-header .panel-tool a { + margin: 2px 0 0 0; +} diff --git a/src/main/webapp/css/themes/bootstrap/passwordbox.css b/src/main/webapp/css/themes/bootstrap/passwordbox.css new file mode 100644 index 0000000..92c9ce5 --- /dev/null +++ b/src/main/webapp/css/themes/bootstrap/passwordbox.css @@ -0,0 +1,6 @@ +.passwordbox-open { + background: url('images/passwordbox_open.png') no-repeat center center; +} +.passwordbox-close { + background: url('images/passwordbox_close.png') no-repeat center center; +} diff --git a/src/main/webapp/css/themes/bootstrap/progressbar.css b/src/main/webapp/css/themes/bootstrap/progressbar.css new file mode 100644 index 0000000..c660f0e --- /dev/null +++ b/src/main/webapp/css/themes/bootstrap/progressbar.css @@ -0,0 +1,32 @@ +.progressbar { + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + overflow: hidden; + position: relative; +} +.progressbar-text { + text-align: center; + position: absolute; +} +.progressbar-value { + position: relative; + overflow: hidden; + width: 0; + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.progressbar { + border-color: #D4D4D4; +} +.progressbar-text { + color: #333; + font-size: 12px; +} +.progressbar-value .progressbar-text { + background-color: #0081c2; + color: #fff; +} diff --git a/src/main/webapp/css/themes/bootstrap/propertygrid.css b/src/main/webapp/css/themes/bootstrap/propertygrid.css new file mode 100644 index 0000000..abf87d6 --- /dev/null +++ b/src/main/webapp/css/themes/bootstrap/propertygrid.css @@ -0,0 +1,28 @@ +.propertygrid .datagrid-view1 .datagrid-body td { + padding-bottom: 1px; + border-width: 0 1px 0 0; +} +.propertygrid .datagrid-group { + height: 21px; + overflow: hidden; + border-width: 0 0 1px 0; + border-style: solid; +} +.propertygrid .datagrid-group span { + font-weight: bold; +} +.propertygrid .datagrid-view1 .datagrid-body td { + border-color: #e6e6e6; +} +.propertygrid .datagrid-view1 .datagrid-group { + border-color: #F2F2F2; +} +.propertygrid .datagrid-view2 .datagrid-group { + border-color: #e6e6e6; +} +.propertygrid .datagrid-group, +.propertygrid .datagrid-view1 .datagrid-body, +.propertygrid .datagrid-view1 .datagrid-row-over, +.propertygrid .datagrid-view1 .datagrid-row-selected { + background: #F2F2F2; +} diff --git a/src/main/webapp/css/themes/bootstrap/searchbox.css b/src/main/webapp/css/themes/bootstrap/searchbox.css new file mode 100644 index 0000000..bf615de --- /dev/null +++ b/src/main/webapp/css/themes/bootstrap/searchbox.css @@ -0,0 +1,61 @@ +.searchbox-button { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.searchbox-button-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.searchbox .l-btn-plain { + border: 0; + padding: 0; + vertical-align: top; + opacity: 0.6; + filter: alpha(opacity=60); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .l-btn-plain:hover { + border: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox a.m-btn-plain-active { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .m-btn-active { + border-width: 0 1px 0 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .textbox-button-right { + border-width: 0 0 0 1px; +} +.searchbox .textbox-button-left { + border-width: 0 1px 0 0; +} +.searchbox-button { + background: url('images/searchbox_button.png') no-repeat center center; +} +.searchbox .l-btn-plain { + background: #F2F2F2; +} +.searchbox .l-btn-plain-disabled, +.searchbox .l-btn-plain-disabled:hover { + opacity: 0.5; + filter: alpha(opacity=50); +} diff --git a/src/main/webapp/css/themes/bootstrap/slider.css b/src/main/webapp/css/themes/bootstrap/slider.css new file mode 100644 index 0000000..b58d8de --- /dev/null +++ b/src/main/webapp/css/themes/bootstrap/slider.css @@ -0,0 +1,101 @@ +.slider-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-h { + height: 22px; +} +.slider-v { + width: 22px; +} +.slider-inner { + position: relative; + height: 6px; + top: 7px; + border-width: 1px; + border-style: solid; + border-radius: 5px; +} +.slider-handle { + position: absolute; + display: block; + outline: none; + width: 20px; + height: 20px; + top: 50%; + margin-top: -10px; + margin-left: -10px; +} +.slider-tip { + position: absolute; + display: inline-block; + line-height: 12px; + font-size: 12px; + white-space: nowrap; + top: -22px; +} +.slider-rule { + position: relative; + top: 15px; +} +.slider-rule span { + position: absolute; + display: inline-block; + font-size: 0; + height: 5px; + border-width: 0 0 0 1px; + border-style: solid; +} +.slider-rulelabel { + position: relative; + top: 20px; +} +.slider-rulelabel span { + position: absolute; + display: inline-block; + font-size: 12px; +} +.slider-v .slider-inner { + width: 6px; + left: 7px; + top: 0; + float: left; +} +.slider-v .slider-handle { + left: 50%; + margin-top: -10px; +} +.slider-v .slider-tip { + left: -10px; + margin-top: -6px; +} +.slider-v .slider-rule { + float: left; + top: 0; + left: 16px; +} +.slider-v .slider-rule span { + width: 5px; + height: 'auto'; + border-left: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.slider-v .slider-rulelabel { + float: left; + top: 0; + left: 23px; +} +.slider-handle { + background: url('images/slider_handle.png') no-repeat; +} +.slider-inner { + border-color: #D4D4D4; + background: #F2F2F2; +} +.slider-rule span { + border-color: #D4D4D4; +} +.slider-rulelabel span { + color: #333; +} diff --git a/src/main/webapp/css/themes/bootstrap/spinner.css b/src/main/webapp/css/themes/bootstrap/spinner.css new file mode 100644 index 0000000..bc153fc --- /dev/null +++ b/src/main/webapp/css/themes/bootstrap/spinner.css @@ -0,0 +1,58 @@ +.spinner-arrow { + background-color: #F2F2F2; + display: inline-block; + overflow: hidden; + vertical-align: top; + margin: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + width: 18px; +} +.spinner-arrow-up, +.spinner-arrow-down { + opacity: 0.6; + filter: alpha(opacity=60); + display: block; + font-size: 1px; + width: 18px; + height: 10px; + width: 100%; + height: 50%; + color: #444; + outline-style: none; +} +.spinner-arrow-hover { + background-color: #e6e6e6; + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-arrow-up:hover, +.spinner-arrow-down:hover { + opacity: 1.0; + filter: alpha(opacity=100); + background-color: #e6e6e6; +} +.textbox-icon-disabled .spinner-arrow-up:hover, +.textbox-icon-disabled .spinner-arrow-down:hover { + opacity: 0.6; + filter: alpha(opacity=60); + background-color: #F2F2F2; + cursor: default; +} +.spinner .textbox-icon-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-arrow-up { + background: url('images/spinner_arrows.png') no-repeat 1px center; +} +.spinner-arrow-down { + background: url('images/spinner_arrows.png') no-repeat -15px center; +} +.spinner-button-up { + background: url('images/spinner_arrows.png') no-repeat -32px center; +} +.spinner-button-down { + background: url('images/spinner_arrows.png') no-repeat -48px center; +} diff --git a/src/main/webapp/css/themes/bootstrap/splitbutton.css b/src/main/webapp/css/themes/bootstrap/splitbutton.css new file mode 100644 index 0000000..bf86453 --- /dev/null +++ b/src/main/webapp/css/themes/bootstrap/splitbutton.css @@ -0,0 +1,12 @@ +.s-btn:hover .m-btn-line, +.s-btn-active .m-btn-line, +.s-btn-plain-active .m-btn-line { + display: inline-block; +} +.l-btn:hover .s-btn-downarrow, +.s-btn-active .s-btn-downarrow, +.s-btn-plain-active .s-btn-downarrow { + border-style: solid; + border-color: #bbb; + border-width: 0 0 0 1px; +} diff --git a/src/main/webapp/css/themes/bootstrap/switchbutton.css b/src/main/webapp/css/themes/bootstrap/switchbutton.css new file mode 100644 index 0000000..38803aa --- /dev/null +++ b/src/main/webapp/css/themes/bootstrap/switchbutton.css @@ -0,0 +1,77 @@ +.switchbutton { + text-decoration: none; + display: inline-block; + overflow: hidden; + vertical-align: middle; + margin: 0; + padding: 0; + cursor: pointer; + background: #bbb; + border: 1px solid #bbb; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.switchbutton-inner { + display: inline-block; + overflow: hidden; + position: relative; + top: -1px; + left: -1px; +} +.switchbutton-on, +.switchbutton-off, +.switchbutton-handle { + display: inline-block; + text-align: center; + height: 100%; + float: left; + font-size: 12px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.switchbutton-on { + background: #0081c2; + color: #fff; +} +.switchbutton-off { + background-color: #ffffff; + color: #333; +} +.switchbutton-on, +.switchbutton-reversed .switchbutton-off { + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.switchbutton-off, +.switchbutton-reversed .switchbutton-on { + -moz-border-radius: 0 5px 5px 0; + -webkit-border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; +} +.switchbutton-handle { + position: absolute; + top: 0; + left: 50%; + background-color: #ffffff; + color: #333; + border: 1px solid #bbb; + -moz-box-shadow: 0 0 3px 0 #bbb; + -webkit-box-shadow: 0 0 3px 0 #bbb; + box-shadow: 0 0 3px 0 #bbb; +} +.switchbutton-value { + position: absolute; + top: 0; + left: -5000px; +} +.switchbutton-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.switchbutton-disabled, +.switchbutton-readonly { + cursor: default; +} diff --git a/src/main/webapp/css/themes/bootstrap/tabs.css b/src/main/webapp/css/themes/bootstrap/tabs.css new file mode 100644 index 0000000..c06a4aa --- /dev/null +++ b/src/main/webapp/css/themes/bootstrap/tabs.css @@ -0,0 +1,413 @@ +.tabs-container { + overflow: hidden; +} +.tabs-header { + border-width: 1px; + border-style: solid; + border-bottom-width: 0; + position: relative; + padding: 0; + padding-top: 2px; + overflow: hidden; +} +.tabs-scroller-left, +.tabs-scroller-right { + position: absolute; + top: auto; + bottom: 0; + width: 18px; + font-size: 1px; + display: none; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.tabs-scroller-left { + left: 0; +} +.tabs-scroller-right { + right: 0; +} +.tabs-tool { + position: absolute; + bottom: 0; + padding: 1px; + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.tabs-header-plain .tabs-tool { + padding: 0 1px; +} +.tabs-wrap { + position: relative; + left: 0; + overflow: hidden; + width: 100%; + margin: 0; + padding: 0; +} +.tabs-scrolling { + margin-left: 18px; + margin-right: 18px; +} +.tabs-disabled { + opacity: 0.3; + filter: alpha(opacity=30); +} +.tabs { + list-style-type: none; + height: 26px; + margin: 0px; + padding: 0px; + padding-left: 4px; + width: 50000px; + border-style: solid; + border-width: 0 0 1px 0; +} +.tabs li { + float: left; + display: inline-block; + margin: 0 4px -1px 0; + padding: 0; + position: relative; + border: 0; +} +.tabs li a.tabs-inner { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0 10px; + height: 25px; + line-height: 25px; + text-align: center; + white-space: nowrap; + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 0 0; + -webkit-border-radius: 5px 5px 0 0; + border-radius: 5px 5px 0 0; +} +.tabs li.tabs-selected a.tabs-inner { + font-weight: bold; + outline: none; +} +.tabs li.tabs-selected a:hover.tabs-inner { + cursor: default; + pointer: default; +} +.tabs li a.tabs-close, +.tabs-p-tool { + position: absolute; + font-size: 1px; + display: block; + height: 12px; + padding: 0; + top: 50%; + margin-top: -6px; + overflow: hidden; +} +.tabs li a.tabs-close { + width: 12px; + right: 5px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs-p-tool { + right: 16px; +} +.tabs-p-tool a { + display: inline-block; + font-size: 1px; + width: 12px; + height: 12px; + margin: 0; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs li a:hover.tabs-close, +.tabs-p-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + cursor: hand; + cursor: pointer; +} +.tabs-with-icon { + padding-left: 18px; +} +.tabs-icon { + position: absolute; + width: 16px; + height: 16px; + left: 10px; + top: 50%; + margin-top: -8px; +} +.tabs-title { + font-size: 12px; +} +.tabs-closable { + padding-right: 8px; +} +.tabs-panels { + margin: 0px; + padding: 0px; + border-width: 1px; + border-style: solid; + border-top-width: 0; + overflow: hidden; +} +.tabs-header-bottom { + border-width: 0 1px 1px 1px; + padding: 0 0 2px 0; +} +.tabs-header-bottom .tabs { + border-width: 1px 0 0 0; +} +.tabs-header-bottom .tabs li { + margin: -1px 4px 0 0; +} +.tabs-header-bottom .tabs li a.tabs-inner { + -moz-border-radius: 0 0 5px 5px; + -webkit-border-radius: 0 0 5px 5px; + border-radius: 0 0 5px 5px; +} +.tabs-header-bottom .tabs-tool { + top: 0; +} +.tabs-header-bottom .tabs-scroller-left, +.tabs-header-bottom .tabs-scroller-right { + top: 0; + bottom: auto; +} +.tabs-panels-top { + border-width: 1px 1px 0 1px; +} +.tabs-header-left { + float: left; + border-width: 1px 0 1px 1px; + padding: 0; +} +.tabs-header-right { + float: right; + border-width: 1px 1px 1px 0; + padding: 0; +} +.tabs-header-left .tabs-wrap, +.tabs-header-right .tabs-wrap { + height: 100%; +} +.tabs-header-left .tabs { + height: 100%; + padding: 4px 0 0 2px; + border-width: 0 1px 0 0; +} +.tabs-header-right .tabs { + height: 100%; + padding: 4px 2px 0 0; + border-width: 0 0 0 1px; +} +.tabs-header-left .tabs li, +.tabs-header-right .tabs li { + display: block; + width: 100%; + position: relative; +} +.tabs-header-left .tabs li { + left: auto; + right: 0; + margin: 0 -1px 4px 0; + float: right; +} +.tabs-header-right .tabs li { + left: 0; + right: auto; + margin: 0 0 4px -1px; + float: left; +} +.tabs-justified li a.tabs-inner { + padding-left: 0; + padding-right: 0; +} +.tabs-header-left .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.tabs-header-right .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 0 5px 5px 0; + -webkit-border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; +} +.tabs-panels-right { + float: right; + border-width: 1px 1px 1px 0; +} +.tabs-panels-left { + float: left; + border-width: 1px 0 1px 1px; +} +.tabs-header-noborder, +.tabs-panels-noborder { + border: 0px; +} +.tabs-header-plain { + border: 0px; + background: transparent; +} +.tabs-pill { + padding-bottom: 3px; +} +.tabs-header-bottom .tabs-pill { + padding-top: 3px; + padding-bottom: 0; +} +.tabs-header-left .tabs-pill { + padding-right: 3px; +} +.tabs-header-right .tabs-pill { + padding-left: 3px; +} +.tabs-header .tabs-pill li a.tabs-inner { + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.tabs-header-narrow, +.tabs-header-narrow .tabs-narrow { + padding: 0; +} +.tabs-narrow li, +.tabs-header-bottom .tabs-narrow li { + margin-left: 0; + margin-right: -1px; +} +.tabs-narrow li.tabs-last, +.tabs-header-bottom .tabs-narrow li.tabs-last { + margin-right: 0; +} +.tabs-header-left .tabs-narrow, +.tabs-header-right .tabs-narrow { + padding-top: 0; +} +.tabs-header-left .tabs-narrow li { + margin-bottom: -1px; + margin-right: -1px; +} +.tabs-header-left .tabs-narrow li.tabs-last, +.tabs-header-right .tabs-narrow li.tabs-last { + margin-bottom: 0; +} +.tabs-header-right .tabs-narrow li { + margin-bottom: -1px; + margin-left: -1px; +} +.tabs-scroller-left { + background: #F2F2F2 url('images/tabs_icons.png') no-repeat 1px center; +} +.tabs-scroller-right { + background: #F2F2F2 url('images/tabs_icons.png') no-repeat -15px center; +} +.tabs li a.tabs-close { + background: url('images/tabs_icons.png') no-repeat -34px center; +} +.tabs li a.tabs-inner:hover { + background: #e6e6e6; + color: #00438a; + filter: none; +} +.tabs li.tabs-selected a.tabs-inner { + background-color: #ffffff; + color: #777; + background: -webkit-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: -moz-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: -o-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: linear-gradient(to bottom,#ffffff 0,#ffffff 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=0); +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: -moz-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: -o-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: linear-gradient(to bottom,#ffffff 0,#ffffff 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=0); +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(left,#ffffff 0,#ffffff 100%); + background: -moz-linear-gradient(left,#ffffff 0,#ffffff 100%); + background: -o-linear-gradient(left,#ffffff 0,#ffffff 100%); + background: linear-gradient(to right,#ffffff 0,#ffffff 100%); + background-repeat: repeat-y; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=1); +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(left,#ffffff 0,#ffffff 100%); + background: -moz-linear-gradient(left,#ffffff 0,#ffffff 100%); + background: -o-linear-gradient(left,#ffffff 0,#ffffff 100%); + background: linear-gradient(to right,#ffffff 0,#ffffff 100%); + background-repeat: repeat-y; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=1); +} +.tabs li a.tabs-inner { + color: #777; + background-color: #F2F2F2; + background: -webkit-linear-gradient(top,#ffffff 0,#F2F2F2 100%); + background: -moz-linear-gradient(top,#ffffff 0,#F2F2F2 100%); + background: -o-linear-gradient(top,#ffffff 0,#F2F2F2 100%); + background: linear-gradient(to bottom,#ffffff 0,#F2F2F2 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F2F2F2,GradientType=0); +} +.tabs-header, +.tabs-tool { + background-color: #F2F2F2; +} +.tabs-header-plain { + background: transparent; +} +.tabs-header, +.tabs-scroller-left, +.tabs-scroller-right, +.tabs-tool, +.tabs, +.tabs-panels, +.tabs li a.tabs-inner, +.tabs li.tabs-selected a.tabs-inner, +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, +.tabs-header-left .tabs li.tabs-selected a.tabs-inner, +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-color: #D4D4D4; +} +.tabs-p-tool a:hover, +.tabs li a:hover.tabs-close, +.tabs-scroller-over { + background-color: #e6e6e6; +} +.tabs li.tabs-selected a.tabs-inner { + border-bottom: 1px solid #ffffff; +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + border-top: 1px solid #ffffff; +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + border-right: 1px solid #ffffff; +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-left: 1px solid #ffffff; +} +.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { + background: #0081c2; + color: #fff; + filter: none; + border-color: #D4D4D4; +} diff --git a/src/main/webapp/css/themes/bootstrap/tagbox.css b/src/main/webapp/css/themes/bootstrap/tagbox.css new file mode 100644 index 0000000..7e98a0a --- /dev/null +++ b/src/main/webapp/css/themes/bootstrap/tagbox.css @@ -0,0 +1,44 @@ +.tagbox { + cursor: text; +} +.tagbox .textbox-text { + float: left; +} +.tagbox-label { + position: relative; + display: block; + margin: 4px 0 0 4px; + padding: 0 20px 0 4px; + float: left; + vertical-align: top; + text-decoration: none; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + background: #e6e6e6; + color: #00438a; +} +.tagbox-remove { + background: url('images/tagbox_icons.png') no-repeat -16px center; + position: absolute; + display: block; + width: 16px; + height: 16px; + right: 2px; + top: 50%; + margin-top: -8px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tagbox-remove:hover { + opacity: 1; + filter: alpha(opacity=100); +} +.textbox-disabled .tagbox-label { + cursor: default; +} +.textbox-disabled .tagbox-remove:hover { + cursor: default; + opacity: 0.6; + filter: alpha(opacity=60); +} diff --git a/src/main/webapp/css/themes/bootstrap/textbox.css b/src/main/webapp/css/themes/bootstrap/textbox.css new file mode 100644 index 0000000..dc2dfa8 --- /dev/null +++ b/src/main/webapp/css/themes/bootstrap/textbox.css @@ -0,0 +1,139 @@ +.textbox { + position: relative; + border: 1px solid #D4D4D4; + background-color: #fff; + vertical-align: middle; + display: inline-block; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.textbox .textbox-text { + font-size: 12px; + border: 0; + margin: 0; + padding: 4px; + white-space: normal; + vertical-align: top; + outline-style: none; + resize: none; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.textbox .textbox-text::-ms-clear, +.textbox .textbox-text::-ms-reveal { + display: none; +} +.textbox textarea.textbox-text { + white-space: pre-wrap; +} +.textbox .textbox-prompt { + font-size: 12px; + color: #aaa; +} +.textbox .textbox-bgicon { + background-position: 3px center; + padding-left: 21px; +} +.textbox .textbox-button, +.textbox .textbox-button:hover { + position: absolute; + top: 0; + padding: 0; + vertical-align: top; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.textbox .textbox-button-right, +.textbox .textbox-button-right:hover { + right: 0; + border-width: 0 0 0 1px; +} +.textbox .textbox-button-left, +.textbox .textbox-button-left:hover { + left: 0; + border-width: 0 1px 0 0; +} +.textbox .textbox-button-top, +.textbox .textbox-button-top:hover { + left: 0; + border-width: 0 0 1px 0; +} +.textbox .textbox-button-bottom, +.textbox .textbox-button-bottom:hover { + top: auto; + bottom: 0; + left: 0; + border-width: 1px 0 0 0; +} +.textbox-addon { + position: absolute; + top: 0; +} +.textbox-label { + display: inline-block; + width: 80px; + height: 22px; + line-height: 22px; + vertical-align: middle; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + margin: 0; + padding-right: 5px; +} +.textbox-label-after { + padding-left: 5px; + padding-right: 0; +} +.textbox-label-top { + display: block; + width: auto; + padding: 0; +} +.textbox-disabled, +.textbox-label-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-icon { + display: inline-block; + width: 18px; + height: 20px; + overflow: hidden; + vertical-align: top; + background-position: center center; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); + text-decoration: none; + outline-style: none; +} +.textbox-icon-disabled, +.textbox-icon-readonly { + cursor: default; +} +.textbox-icon:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.textbox-icon-disabled:hover { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-focused { + border-color: #bbbbbb; + -moz-box-shadow: 0 0 3px 0 #D4D4D4; + -webkit-box-shadow: 0 0 3px 0 #D4D4D4; + box-shadow: 0 0 3px 0 #D4D4D4; +} +.textbox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; +} diff --git a/src/main/webapp/css/themes/bootstrap/tooltip.css b/src/main/webapp/css/themes/bootstrap/tooltip.css new file mode 100644 index 0000000..ed9fe1c --- /dev/null +++ b/src/main/webapp/css/themes/bootstrap/tooltip.css @@ -0,0 +1,103 @@ +.tooltip { + position: absolute; + display: none; + z-index: 9900000; + outline: none; + opacity: 1; + filter: alpha(opacity=100); + padding: 5px; + border-width: 1px; + border-style: solid; + border-radius: 5px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.tooltip-content { + font-size: 12px; +} +.tooltip-arrow-outer, +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + line-height: 0; + font-size: 0; + border-style: solid; + border-width: 6px; + border-color: transparent; + _border-color: tomato; + _filter: chroma(color=tomato); +} +.tooltip-arrow { + display: none \9; +} +.tooltip-right .tooltip-arrow-outer { + left: 0; + top: 50%; + margin: -6px 0 0 -13px; +} +.tooltip-right .tooltip-arrow { + left: 0; + top: 50%; + margin: -6px 0 0 -12px; +} +.tooltip-left .tooltip-arrow-outer { + right: 0; + top: 50%; + margin: -6px -13px 0 0; +} +.tooltip-left .tooltip-arrow { + right: 0; + top: 50%; + margin: -6px -12px 0 0; +} +.tooltip-top .tooltip-arrow-outer { + bottom: 0; + left: 50%; + margin: 0 0 -13px -6px; +} +.tooltip-top .tooltip-arrow { + bottom: 0; + left: 50%; + margin: 0 0 -12px -6px; +} +.tooltip-bottom .tooltip-arrow-outer { + top: 0; + left: 50%; + margin: -13px 0 0 -6px; +} +.tooltip-bottom .tooltip-arrow { + top: 0; + left: 50%; + margin: -12px 0 0 -6px; +} +.tooltip { + background-color: #ffffff; + border-color: #D4D4D4; + color: #333; +} +.tooltip-right .tooltip-arrow-outer { + border-right-color: #D4D4D4; +} +.tooltip-right .tooltip-arrow { + border-right-color: #ffffff; +} +.tooltip-left .tooltip-arrow-outer { + border-left-color: #D4D4D4; +} +.tooltip-left .tooltip-arrow { + border-left-color: #ffffff; +} +.tooltip-top .tooltip-arrow-outer { + border-top-color: #D4D4D4; +} +.tooltip-top .tooltip-arrow { + border-top-color: #ffffff; +} +.tooltip-bottom .tooltip-arrow-outer { + border-bottom-color: #D4D4D4; +} +.tooltip-bottom .tooltip-arrow { + border-bottom-color: #ffffff; +} diff --git a/src/main/webapp/css/themes/bootstrap/tree.css b/src/main/webapp/css/themes/bootstrap/tree.css new file mode 100644 index 0000000..3fd3583 --- /dev/null +++ b/src/main/webapp/css/themes/bootstrap/tree.css @@ -0,0 +1,161 @@ +.tree { + margin: 0; + padding: 0; + list-style-type: none; +} +.tree li { + white-space: nowrap; +} +.tree li ul { + list-style-type: none; + margin: 0; + padding: 0; +} +.tree-node { + height: 18px; + white-space: nowrap; + cursor: pointer; +} +.tree-hit { + cursor: pointer; +} +.tree-expanded, +.tree-collapsed, +.tree-folder, +.tree-file, +.tree-checkbox, +.tree-indent { + display: inline-block; + width: 16px; + height: 18px; + vertical-align: top; + overflow: hidden; +} +.tree-expanded { + background: url('images/tree_icons.png') no-repeat -18px 0px; +} +.tree-expanded-hover { + background: url('images/tree_icons.png') no-repeat -50px 0px; +} +.tree-collapsed { + background: url('images/tree_icons.png') no-repeat 0px 0px; +} +.tree-collapsed-hover { + background: url('images/tree_icons.png') no-repeat -32px 0px; +} +.tree-lines .tree-expanded, +.tree-lines .tree-root-first .tree-expanded { + background: url('images/tree_icons.png') no-repeat -144px 0; +} +.tree-lines .tree-collapsed, +.tree-lines .tree-root-first .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -128px 0; +} +.tree-lines .tree-node-last .tree-expanded, +.tree-lines .tree-root-one .tree-expanded { + background: url('images/tree_icons.png') no-repeat -80px 0; +} +.tree-lines .tree-node-last .tree-collapsed, +.tree-lines .tree-root-one .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -64px 0; +} +.tree-line { + background: url('images/tree_icons.png') no-repeat -176px 0; +} +.tree-join { + background: url('images/tree_icons.png') no-repeat -192px 0; +} +.tree-joinbottom { + background: url('images/tree_icons.png') no-repeat -160px 0; +} +.tree-folder { + background: url('images/tree_icons.png') no-repeat -208px 0; +} +.tree-folder-open { + background: url('images/tree_icons.png') no-repeat -224px 0; +} +.tree-file { + background: url('images/tree_icons.png') no-repeat -240px 0; +} +.tree-loading { + background: url('images/loading.gif') no-repeat center center; +} +.tree-checkbox0 { + background: url('images/tree_icons.png') no-repeat -208px -18px; +} +.tree-checkbox1 { + background: url('images/tree_icons.png') no-repeat -224px -18px; +} +.tree-checkbox2 { + background: url('images/tree_icons.png') no-repeat -240px -18px; +} +.tree-title { + font-size: 12px; + display: inline-block; + text-decoration: none; + vertical-align: top; + white-space: nowrap; + padding: 0 2px; + height: 18px; + line-height: 18px; +} +.tree-node-proxy { + font-size: 12px; + line-height: 20px; + padding: 0 2px 0 20px; + border-width: 1px; + border-style: solid; + z-index: 9900000; +} +.tree-dnd-icon { + display: inline-block; + position: absolute; + width: 16px; + height: 18px; + left: 2px; + top: 50%; + margin-top: -9px; +} +.tree-dnd-yes { + background: url('images/tree_icons.png') no-repeat -256px 0; +} +.tree-dnd-no { + background: url('images/tree_icons.png') no-repeat -256px -18px; +} +.tree-node-top { + border-top: 1px dotted red; +} +.tree-node-bottom { + border-bottom: 1px dotted red; +} +.tree-node-append .tree-title { + border: 1px dotted red; +} +.tree-editor { + border: 1px solid #D4D4D4; + font-size: 12px; + line-height: 16px; + padding: 0 4px; + margin: 0; + width: 80px; + outline-style: none; + vertical-align: top; + position: absolute; + top: 0; +} +.tree-node-proxy { + background-color: #ffffff; + color: #333; + border-color: #D4D4D4; +} +.tree-node-hover { + background: #e6e6e6; + color: #00438a; +} +.tree-node-selected { + background: #0081c2; + color: #fff; +} +.tree-node-hidden { + display: none; +} diff --git a/src/main/webapp/css/themes/bootstrap/validatebox.css b/src/main/webapp/css/themes/bootstrap/validatebox.css new file mode 100644 index 0000000..1fc3ad6 --- /dev/null +++ b/src/main/webapp/css/themes/bootstrap/validatebox.css @@ -0,0 +1,5 @@ +.validatebox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; + color: #000; +} diff --git a/src/main/webapp/css/themes/bootstrap/window.css b/src/main/webapp/css/themes/bootstrap/window.css new file mode 100644 index 0000000..b216f37 --- /dev/null +++ b/src/main/webapp/css/themes/bootstrap/window.css @@ -0,0 +1,183 @@ +.window { + overflow: hidden; + padding: 5px; + border-width: 1px; + border-style: solid; +} +.window .window-header { + background: transparent; + padding: 0px 0px 6px 0px; +} +.window .window-body { + border-width: 1px; + border-style: solid; + border-top-width: 0px; +} +.window .window-body-noheader { + border-top-width: 1px; +} +.window .panel-body-nobottom { + border-bottom-width: 0; +} +.window .window-header .panel-icon, +.window .window-header .panel-tool { + top: 50%; + margin-top: -11px; +} +.window .window-header .panel-icon { + left: 1px; +} +.window .window-header .panel-tool { + right: 1px; +} +.window .window-header .panel-with-icon { + padding-left: 18px; +} +.window-proxy { + position: absolute; + overflow: hidden; +} +.window-proxy-mask { + position: absolute; + filter: alpha(opacity=5); + opacity: 0.05; +} +.window-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + filter: alpha(opacity=40); + opacity: 0.40; + font-size: 1px; + overflow: hidden; +} +.window, +.window-shadow { + position: absolute; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.window-shadow { + background: #ccc; + -moz-box-shadow: 2px 2px 3px #cccccc; + -webkit-box-shadow: 2px 2px 3px #cccccc; + box-shadow: 2px 2px 3px #cccccc; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.window, +.window .window-body { + border-color: #D4D4D4; +} +.window { + background-color: #F2F2F2; + background: -webkit-linear-gradient(top,#ffffff 0,#F2F2F2 20%); + background: -moz-linear-gradient(top,#ffffff 0,#F2F2F2 20%); + background: -o-linear-gradient(top,#ffffff 0,#F2F2F2 20%); + background: linear-gradient(to bottom,#ffffff 0,#F2F2F2 20%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F2F2F2,GradientType=0); +} +.window-proxy { + border: 1px dashed #D4D4D4; +} +.window-proxy-mask, +.window-mask { + background: #ccc; +} +.window .panel-footer { + border: 1px solid #D4D4D4; + position: relative; + top: -1px; +} +.window-thinborder { + padding: 0; +} +.window-thinborder .window-header { + padding: 5px 5px 6px 5px; +} +.window-thinborder .window-body { + border-width: 0px; +} +.window-thinborder .window-header .panel-icon, +.window-thinborder .window-header .panel-tool { + margin-top: -9px; + margin-left: 5px; + margin-right: 5px; +} +.window-noborder { + border: 0; +} +.window.panel-hleft .window-header { + padding: 0 6px 0 0; +} +.window.panel-hright .window-header { + padding: 0 0 0 6px; +} +.window.panel-hleft>.panel-header .panel-title { + top: auto; + left: 16px; +} +.window.panel-hright>.panel-header .panel-title { + top: auto; + right: 16px; +} +.window.panel-hleft>.panel-header .panel-title-up, +.window.panel-hright>.panel-header .panel-title-up { + bottom: 0; +} +.window.panel-hleft .window-body { + border-width: 1px 1px 1px 0; +} +.window.panel-hright .window-body { + border-width: 1px 0 1px 1px; +} +.window.panel-hleft .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: 0; +} +.window.panel-hright .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: auto; + right: 1px; +} +.window.panel-hleft .window-header .panel-tool, +.window.panel-hright .window-header .panel-tool { + margin-top: 0; + top: auto; + bottom: 1px; + right: auto; + margin-right: 0; + left: 50%; + margin-left: -11px; +} +.window.panel-hright .window-header .panel-tool { + left: auto; + right: 1px; +} +.window-thinborder.panel-hleft .window-header { + padding: 5px 6px 5px 5px; +} +.window-thinborder.panel-hright .window-header { + padding: 5px 5px 5px 6px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title { + left: 21px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title-up, +.window-thinborder.panel-hright>.panel-header .panel-title-up { + bottom: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-icon, +.window-thinborder.panel-hright .window-header .panel-icon { + margin-top: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-tool, +.window-thinborder.panel-hright .window-header .panel-tool { + left: 16px; + bottom: 5px; +} diff --git a/src/main/webapp/css/themes/color.css b/src/main/webapp/css/themes/color.css new file mode 100644 index 0000000..bfb8ecb --- /dev/null +++ b/src/main/webapp/css/themes/color.css @@ -0,0 +1,210 @@ +.c1,.c1:hover,.c1>.panel-header{ + color: #fff; + border-color: #3c8b3c; + background: #4cae4c; + background: -webkit-linear-gradient(top,#4cae4c 0,#449d44 100%); + background: -moz-linear-gradient(top,#4cae4c 0,#449d44 100%); + background: -o-linear-gradient(top,#4cae4c 0,#449d44 100%); + background: linear-gradient(to bottom,#4cae4c 0,#449d44 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4cae4c,endColorstr=#449d44,GradientType=0); +} +a.c1:hover{ + background: #449d44; + filter: none; +} +.c1>.panel-body{ + border-color: #3c8b3c; +} +.c1>.dialog-toolbar,.c1>.dialog-button{ + border-left-color: #3c8b3c; + border-right-color: #3c8b3c; +} +.c1>.dialog-button{ + border-bottom-color: #3c8b3c; +} +.c2,.c2:hover,.c2>.panel-header{ + color: #fff; + border-color: #5f5f5f; + background: #747474; + background: -webkit-linear-gradient(top,#747474 0,#676767 100%); + background: -moz-linear-gradient(top,#747474 0,#676767 100%); + background: -o-linear-gradient(top,#747474 0,#676767 100%); + background: linear-gradient(to bottom,#747474 0,#676767 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#747474,endColorstr=#676767,GradientType=0); +} +a.c2:hover{ + background: #676767; + filter: none; +} +.c2>.panel-body{ + border-color: #5f5f5f; +} +.c2>.dialog-toolbar,.c2>.dialog-button{ + border-left-color: #5f5f5f; + border-right-color: #5f5f5f; +} +.c2>.dialog-button{ + border-bottom-color: #5f5f5f; +} +.c3,.c3:hover,.c3>.panel-header{ + color: #333; + border-color: #ff8080; + background: #ffb3b3; + background: -webkit-linear-gradient(top,#ffb3b3 0,#ff9999 100%); + background: -moz-linear-gradient(top,#ffb3b3 0,#ff9999 100%); + background: -o-linear-gradient(top,#ffb3b3 0,#ff9999 100%); + background: linear-gradient(to bottom,#ffb3b3 0,#ff9999 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffb3b3,endColorstr=#ff9999,GradientType=0); +} +a.c3:hover{ + background: #ff9999; + filter: none; +} +.c3>.panel-body{ + border-color: #ff8080; +} +.c3>.dialog-toolbar,.c3>.dialog-button{ + border-left-color: #ff8080; + border-right-color: #ff8080; +} +.c3>.dialog-button{ + border-bottom-color: #ff8080; +} +.c4,.c4:hover,.c4>.panel-header{ + color: #333; + border-color: #52d689; + background: #b8eecf; + background: -webkit-linear-gradient(top,#b8eecf 0,#a4e9c1 100%); + background: -moz-linear-gradient(top,#b8eecf 0,#a4e9c1 100%); + background: -o-linear-gradient(top,#b8eecf 0,#a4e9c1 100%); + background: linear-gradient(to bottom,#b8eecf 0,#a4e9c1 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#b8eecf,endColorstr=#a4e9c1,GradientType=0); +} +a.c4:hover{ + background: #a4e9c1; + filter: none; +} +.c4>.panel-body{ + border-color: #52d689; +} +.c4>.dialog-toolbar,.c4>.dialog-button{ + border-left-color: #52d689; + border-right-color: #52d689; +} +.c4>.dialog-button{ + border-bottom-color: #52d689; +} +.c5,.c5:hover,.c5>.panel-header{ + color: #fff; + border-color: #b52b27; + background: #d84f4b; + background: -webkit-linear-gradient(top,#d84f4b 0,#c9302c 100%); + background: -moz-linear-gradient(top,#d84f4b 0,#c9302c 100%); + background: -o-linear-gradient(top,#d84f4b 0,#c9302c 100%); + background: linear-gradient(to bottom,#d84f4b 0,#c9302c 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#d84f4b,endColorstr=#c9302c,GradientType=0); +} +a.c5:hover{ + background: #c9302c; + filter: none; +} +.c5>.panel-body{ + border-color: #b52b27; +} +.c5>.dialog-toolbar,.c5>.dialog-button{ + border-left-color: #b52b27; + border-right-color: #b52b27; +} +.c5>.dialog-button{ + border-bottom-color: #b52b27; +} +.c6,.c6:hover,.c6>.panel-header{ + color: #fff; + border-color: #1f637b; + background: #2984a4; + background: -webkit-linear-gradient(top,#2984a4 0,#24748f 100%); + background: -moz-linear-gradient(top,#2984a4 0,#24748f 100%); + background: -o-linear-gradient(top,#2984a4 0,#24748f 100%); + background: linear-gradient(to bottom,#2984a4 0,#24748f 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#2984a4,endColorstr=#24748f,GradientType=0); +} +a.c6:hover{ + background: #24748f; + filter: none; +} +.c6>.panel-body{ + border-color: #1f637b; +} +.c6>.dialog-toolbar,.c6>.dialog-button{ + border-left-color: #1f637b; + border-right-color: #1f637b; +} +.c6>.dialog-button{ + border-bottom-color: #1f637b; +} +.c7,.c7:hover,.c7>.panel-header{ + color: #333; + border-color: #e68900; + background: #ffab2e; + background: -webkit-linear-gradient(top,#ffab2e 0,#ff9900 100%); + background: -moz-linear-gradient(top,#ffab2e 0,#ff9900 100%); + background: -o-linear-gradient(top,#ffab2e 0,#ff9900 100%); + background: linear-gradient(to bottom,#ffab2e 0,#ff9900 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffab2e,endColorstr=#ff9900,GradientType=0); +} +a.c7:hover{ + background: #ff9900; + filter: none; +} +.c7>.panel-body{ + border-color: #e68900; +} +.c7>.dialog-toolbar,.c7>.dialog-button{ + border-left-color: #e68900; + border-right-color: #e68900; +} +.c7>.dialog-button{ + border-bottom-color: #e68900; +} +.c8,.c8:hover,.c8>.panel-header{ + color: #fff; + border-color: #4b72a4; + background: #698cba; + background: -webkit-linear-gradient(top,#698cba 0,#577eb2 100%); + background: -moz-linear-gradient(top,#698cba 0,#577eb2 100%); + background: -o-linear-gradient(top,#698cba 0,#577eb2 100%); + background: linear-gradient(to bottom,#698cba 0,#577eb2 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#698cba,endColorstr=#577eb2,GradientType=0); +} +a.c8:hover{ + background: #577eb2; + filter: none; +} +.c8>.panel-body{ + border-color: #4b72a4; +} +.c8>.dialog-toolbar,.c8>.dialog-button{ + border-left-color: #4b72a4; + border-right-color: #4b72a4; +} +.c8>.dialog-button{ + border-bottom-color: #4b72a4; +} +.c1>.panel-header>.panel-title,.c2>.panel-header>.panel-title, +.c5>.panel-header>.panel-title,.c6>.panel-header>.panel-title,.c8>.panel-header>.panel-title{ + color: #fff; +} +.c-plain{ + border-color: #fff; + background: #fff; +} +.c-plain>.panel-header, +.c-plain>.panel-body, +.c-plain>.dialog-button, +.c-plain>.dialog-toolbar{ + border-color: transparent; + background: transparent; +} +.c-raised{ + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); +} diff --git a/src/main/webapp/css/themes/default/accordion.css b/src/main/webapp/css/themes/default/accordion.css new file mode 100644 index 0000000..9d60531 --- /dev/null +++ b/src/main/webapp/css/themes/default/accordion.css @@ -0,0 +1,89 @@ +.accordion { + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.accordion .accordion-header { + border-width: 0 0 1px; + cursor: pointer; +} +.accordion .accordion-body { + border-width: 0 0 1px; +} +.accordion-noborder { + border-width: 0; +} +.accordion-noborder .accordion-header { + border-width: 0 0 1px; +} +.accordion-noborder .accordion-body { + border-width: 0 0 1px; +} +.accordion-collapse { + background: url('images/accordion_arrows.png') no-repeat 0 0; +} +.accordion-expand { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.accordion { + background: #ffffff; + border-color: #95B8E7; +} +.accordion .accordion-header { + background: #E0ECFF; + filter: none; +} +.accordion .accordion-header-selected { + background: #ffe48d; +} +.accordion .accordion-header-selected .panel-title { + color: #000000; +} +.accordion .panel-last > .accordion-header { + border-bottom-color: #E0ECFF; +} +.accordion .panel-last > .accordion-body { + border-bottom-color: #ffffff; +} +.accordion .panel-last > .accordion-header-selected, +.accordion .panel-last > .accordion-header-border { + border-bottom-color: #95B8E7; +} +.accordion> .panel-hleft { + float: left; +} +.accordion> .panel-hleft>.panel-header { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft> .panel-body { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft.panel-last > .accordion-header { + border-right-color: #E0ECFF; +} +.accordion> .panel-hleft.panel-last > .accordion-body { + border-right-color: #ffffff; +} +.accordion> .panel-hleft.panel-last > .accordion-header-selected, +.accordion> .panel-hleft.panel-last > .accordion-header-border { + border-right-color: #95B8E7; +} +.accordion> .panel-hright { + float: right; +} +.accordion> .panel-hright>.panel-header { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright> .panel-body { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright.panel-last > .accordion-header { + border-left-color: #E0ECFF; +} +.accordion> .panel-hright.panel-last > .accordion-body { + border-left-color: #ffffff; +} +.accordion> .panel-hright.panel-last > .accordion-header-selected, +.accordion> .panel-hright.panel-last > .accordion-header-border { + border-left-color: #95B8E7; +} diff --git a/src/main/webapp/css/themes/default/calendar.css b/src/main/webapp/css/themes/default/calendar.css new file mode 100644 index 0000000..a3b953d --- /dev/null +++ b/src/main/webapp/css/themes/default/calendar.css @@ -0,0 +1,202 @@ +.calendar { + border-width: 1px; + border-style: solid; + padding: 1px; + overflow: hidden; +} +.calendar table { + table-layout: fixed; + border-collapse: separate; + font-size: 12px; + width: 100%; + height: 100%; +} +.calendar table td, +.calendar table th { + font-size: 12px; +} +.calendar-noborder { + border: 0; +} +.calendar-header { + position: relative; + height: 22px; +} +.calendar-title { + text-align: center; + height: 22px; +} +.calendar-title span { + position: relative; + display: inline-block; + top: 2px; + padding: 0 3px; + height: 18px; + line-height: 18px; + font-size: 12px; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-prevmonth, +.calendar-nextmonth, +.calendar-prevyear, +.calendar-nextyear { + position: absolute; + top: 50%; + margin-top: -7px; + width: 14px; + height: 14px; + cursor: pointer; + font-size: 1px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-prevmonth { + left: 20px; + background: url('images/calendar_arrows.png') no-repeat -18px -2px; +} +.calendar-nextmonth { + right: 20px; + background: url('images/calendar_arrows.png') no-repeat -34px -2px; +} +.calendar-prevyear { + left: 3px; + background: url('images/calendar_arrows.png') no-repeat -1px -2px; +} +.calendar-nextyear { + right: 3px; + background: url('images/calendar_arrows.png') no-repeat -49px -2px; +} +.calendar-body { + position: relative; +} +.calendar-body th, +.calendar-body td { + text-align: center; +} +.calendar-day { + border: 0; + padding: 1px; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-other-month { + opacity: 0.3; + filter: alpha(opacity=30); +} +.calendar-disabled { + opacity: 0.6; + filter: alpha(opacity=60); + cursor: default; +} +.calendar-menu { + position: absolute; + top: 0; + left: 0; + width: 180px; + height: 150px; + padding: 5px; + font-size: 12px; + display: none; + overflow: hidden; +} +.calendar-menu-year-inner { + text-align: center; + padding-bottom: 5px; +} +.calendar-menu-year { + width: 50px; + text-align: center; + border-width: 1px; + border-style: solid; + outline-style: none; + resize: none; + margin: 0; + padding: 2px; + font-weight: bold; + font-size: 12px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-menu-prev, +.calendar-menu-next { + display: inline-block; + width: 21px; + height: 21px; + vertical-align: top; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-menu-prev { + margin-right: 10px; + background: url('images/calendar_arrows.png') no-repeat 2px 2px; +} +.calendar-menu-next { + margin-left: 10px; + background: url('images/calendar_arrows.png') no-repeat -45px 2px; +} +.calendar-menu-month { + text-align: center; + cursor: pointer; + font-weight: bold; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-body th, +.calendar-menu-month { + color: #4d4d4d; +} +.calendar-day { + color: #000000; +} +.calendar-sunday { + color: #CC2222; +} +.calendar-saturday { + color: #00ee00; +} +.calendar-today { + color: #0000ff; +} +.calendar-menu-year { + border-color: #95B8E7; +} +.calendar { + border-color: #95B8E7; +} +.calendar-header { + background: #E0ECFF; +} +.calendar-body, +.calendar-menu { + background: #ffffff; +} +.calendar-body th { + background: #F4F4F4; + padding: 2px 0; +} +.calendar-hover, +.calendar-nav-hover, +.calendar-menu-hover { + background-color: #eaf2ff; + color: #000000; +} +.calendar-hover { + border: 1px solid #b7d2ff; + padding: 0; +} +.calendar-selected { + background-color: #ffe48d; + color: #000000; + border: 1px solid #ffab3f; + padding: 0; +} diff --git a/src/main/webapp/css/themes/default/combo.css b/src/main/webapp/css/themes/default/combo.css new file mode 100644 index 0000000..a516386 --- /dev/null +++ b/src/main/webapp/css/themes/default/combo.css @@ -0,0 +1,35 @@ +.combo-arrow { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.combo-arrow-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.combo-panel { + overflow: auto; +} +.combo-arrow { + background: url('images/combo_arrow.png') no-repeat center center; +} +.combo-panel { + background-color: #ffffff; +} +.combo-arrow { + background-color: #E0ECFF; +} +.combo-arrow-hover { + background-color: #eaf2ff; +} +.combo-arrow:hover { + background-color: #eaf2ff; +} +.combo .textbox-icon-disabled:hover { + cursor: default; +} diff --git a/src/main/webapp/css/themes/default/combobox.css b/src/main/webapp/css/themes/default/combobox.css new file mode 100644 index 0000000..67ae3c6 --- /dev/null +++ b/src/main/webapp/css/themes/default/combobox.css @@ -0,0 +1,39 @@ +.combobox-item, +.combobox-group, +.combobox-stick { + font-size: 12px; + padding: 3px; +} +.combobox-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.combobox-gitem { + padding-left: 10px; +} +.combobox-group, +.combobox-stick { + font-weight: bold; +} +.combobox-stick { + position: absolute; + top: 1px; + left: 1px; + right: 1px; + background: inherit; +} +.combobox-item-hover { + background-color: #eaf2ff; + color: #000000; +} +.combobox-item-selected { + background-color: #ffe48d; + color: #000000; +} +.combobox-icon { + display: inline-block; + width: 16px; + height: 16px; + vertical-align: middle; + margin-right: 2px; +} diff --git a/src/main/webapp/css/themes/default/datagrid.css b/src/main/webapp/css/themes/default/datagrid.css new file mode 100644 index 0000000..bf557af --- /dev/null +++ b/src/main/webapp/css/themes/default/datagrid.css @@ -0,0 +1,288 @@ +.datagrid .panel-body { + overflow: hidden; + position: relative; +} +.datagrid-view { + position: relative; + overflow: hidden; +} +.datagrid-view1, +.datagrid-view2 { + position: absolute; + overflow: hidden; + top: 0; +} +.datagrid-view1 { + left: 0; +} +.datagrid-view2 { + right: 0; +} +.datagrid-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: 0.3; + filter: alpha(opacity=30); + display: none; +} +.datagrid-mask-msg { + position: absolute; + top: 50%; + margin-top: -20px; + padding: 10px 5px 10px 30px; + width: auto; + height: 16px; + border-width: 2px; + border-style: solid; + display: none; +} +.datagrid-empty { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 25px; + line-height: 25px; + text-align: center; +} +.datagrid-sort-icon { + padding: 0; + display: none; +} +.datagrid-toolbar { + height: auto; + padding: 1px 2px; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ccc; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.datagrid .datagrid-pager { + display: block; + margin: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.datagrid .datagrid-pager-top { + border-width: 0 0 1px 0; +} +.datagrid-header { + overflow: hidden; + cursor: default; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-header-inner { + float: left; + width: 10000px; +} +.datagrid-header-row, +.datagrid-row { + height: 25px; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-width: 0 1px 1px 0; + border-style: dotted; + margin: 0; + padding: 0; +} +.datagrid-cell, +.datagrid-cell-group, +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + margin: 0; + padding: 0 4px; + white-space: nowrap; + word-wrap: normal; + overflow: hidden; + height: 18px; + line-height: 18px; + font-size: 12px; +} +.datagrid-header .datagrid-cell { + height: auto; +} +.datagrid-header .datagrid-cell span { + font-size: 12px; +} +.datagrid-cell-group { + text-align: center; + text-overflow: ellipsis; +} +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + width: 30px; + text-align: center; + margin: 0; + padding: 0; +} +.datagrid-body { + margin: 0; + padding: 0; + overflow: auto; + zoom: 1; +} +.datagrid-view1 .datagrid-body-inner { + padding-bottom: 20px; +} +.datagrid-view1 .datagrid-body { + overflow: hidden; +} +.datagrid-footer { + overflow: hidden; +} +.datagrid-footer-inner { + border-width: 1px 0 0 0; + border-style: solid; + width: 10000px; + float: left; +} +.datagrid-row-editing .datagrid-cell { + height: auto; +} +.datagrid-header-check, +.datagrid-cell-check { + padding: 0; + width: 27px; + height: 18px; + font-size: 1px; + text-align: center; + overflow: hidden; +} +.datagrid-header-check input, +.datagrid-cell-check input { + margin: 0; + padding: 0; + width: 15px; + height: 18px; +} +.datagrid-resize-proxy { + position: absolute; + width: 1px; + height: 10000px; + top: 0; + cursor: e-resize; + display: none; +} +.datagrid-body .datagrid-editable { + margin: 0; + padding: 0; +} +.datagrid-body .datagrid-editable table { + width: 100%; + height: 100%; +} +.datagrid-body .datagrid-editable td { + border: 0; + margin: 0; + padding: 0; +} +.datagrid-view .datagrid-editable-input { + margin: 0; + padding: 2px 4px; + border: 1px solid #95B8E7; + font-size: 12px; + outline-style: none; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-view .validatebox-invalid { + border-color: #ffa8a8; +} +.datagrid-sort .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -64px center; +} +.datagrid-sort-desc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -16px center; +} +.datagrid-sort-asc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat 0px center; +} +.datagrid-row-collapse { + background: url('images/datagrid_icons.png') no-repeat -48px center; +} +.datagrid-row-expand { + background: url('images/datagrid_icons.png') no-repeat -32px center; +} +.datagrid-mask-msg { + background: #ffffff url('images/loading.gif') no-repeat scroll 5px center; +} +.datagrid-header, +.datagrid-td-rownumber { + background-color: #efefef; + background: -webkit-linear-gradient(top,#F9F9F9 0,#efefef 100%); + background: -moz-linear-gradient(top,#F9F9F9 0,#efefef 100%); + background: -o-linear-gradient(top,#F9F9F9 0,#efefef 100%); + background: linear-gradient(to bottom,#F9F9F9 0,#efefef 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F9F9F9,endColorstr=#efefef,GradientType=0); +} +.datagrid-cell-rownumber { + color: #000000; +} +.datagrid-resize-proxy { + background: #aac5e7; +} +.datagrid-mask { + background: #ccc; +} +.datagrid-mask-msg { + border-color: #95B8E7; +} +.datagrid-toolbar, +.datagrid-pager { + background: #F4F4F4; +} +.datagrid-header, +.datagrid-toolbar, +.datagrid-pager, +.datagrid-footer-inner { + border-color: #dddddd; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-color: #ccc; +} +.datagrid-htable, +.datagrid-btable, +.datagrid-ftable { + color: #000000; + border-collapse: separate; +} +.datagrid-row-alt { + background: #fafafa; +} +.datagrid-row-over, +.datagrid-header td.datagrid-header-over { + background: #eaf2ff; + color: #000000; + cursor: default; +} +.datagrid-row-selected { + background: #ffe48d; + color: #000000; +} +.datagrid-row-editing .textbox, +.datagrid-row-editing .textbox-text { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} diff --git a/src/main/webapp/css/themes/default/datalist.css b/src/main/webapp/css/themes/default/datalist.css new file mode 100644 index 0000000..eedd25b --- /dev/null +++ b/src/main/webapp/css/themes/default/datalist.css @@ -0,0 +1,95 @@ +.datalist .datagrid-header { + border-width: 0; +} +.datalist .datagrid-group, +.m-list .m-list-group { + height: 25px; + line-height: 25px; + font-weight: bold; + overflow: hidden; + background-color: #efefef; + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ccc; +} +.datalist .datagrid-group-expander { + display: none; +} +.datalist .datagrid-group-title { + padding: 0 4px; +} +.datalist .datagrid-btable { + width: 100%; + table-layout: fixed; +} +.datalist .datagrid-row td { + border-style: solid; + border-left-color: transparent; + border-right-color: transparent; + border-bottom-width: 0; +} +.datalist-lines .datagrid-row td { + border-bottom-width: 1px; +} +.datalist .datagrid-cell, +.m-list li { + width: auto; + height: auto; + padding: 2px 4px; + line-height: 18px; + position: relative; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link, +.m-list li>a { + display: block; + position: relative; + cursor: pointer; + color: #000000; + text-decoration: none; + overflow: hidden; + margin: -2px -4px; + padding: 2px 4px; + padding-right: 16px; + line-height: 18px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link::after, +.m-list li>a::after { + position: absolute; + display: block; + width: 8px; + height: 8px; + content: ''; + right: 6px; + top: 50%; + margin-top: -4px; + border-style: solid; + border-width: 1px 1px 0 0; + -ms-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -webkit-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); +} +.m-list { + margin: 0; + padding: 0; + list-style: none; +} +.m-list li { + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ccc; +} +.m-list li>a:hover { + background: #eaf2ff; + color: #000000; +} +.m-list .m-list-group { + padding: 0 4px; +} diff --git a/src/main/webapp/css/themes/default/datebox.css b/src/main/webapp/css/themes/default/datebox.css new file mode 100644 index 0000000..25c05fd --- /dev/null +++ b/src/main/webapp/css/themes/default/datebox.css @@ -0,0 +1,36 @@ +.datebox-calendar-inner { + height: 180px; +} +.datebox-button { + padding: 0 5px; + text-align: center; +} +.datebox-button a { + line-height: 22px; + font-size: 12px; + font-weight: bold; + text-decoration: none; + opacity: 0.6; + filter: alpha(opacity=60); +} +.datebox-button a:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.datebox-current, +.datebox-close { + float: left; +} +.datebox-close { + float: right; +} +.datebox .combo-arrow { + background-image: url('images/datebox_arrow.png'); + background-position: center center; +} +.datebox-button { + background-color: #F4F4F4; +} +.datebox-button a { + color: #444; +} diff --git a/src/main/webapp/css/themes/default/dialog.css b/src/main/webapp/css/themes/default/dialog.css new file mode 100644 index 0000000..ff55387 --- /dev/null +++ b/src/main/webapp/css/themes/default/dialog.css @@ -0,0 +1,47 @@ +.dialog-content { + overflow: auto; +} +.dialog-toolbar { + position: relative; + padding: 2px 5px; +} +.dialog-tool-separator { + float: left; + height: 24px; + border-left: 1px solid #ccc; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.dialog-button { + position: relative; + top: -1px; + padding: 5px; + text-align: right; +} +.dialog-button .l-btn { + margin-left: 5px; +} +.dialog-toolbar, +.dialog-button { + background: #F4F4F4; + border-width: 1px; + border-style: solid; +} +.dialog-toolbar { + border-color: #95B8E7 #95B8E7 #dddddd #95B8E7; +} +.dialog-button { + border-color: #dddddd #95B8E7 #95B8E7 #95B8E7; +} +.window-thinborder .dialog-toolbar { + border-left: transparent; + border-right: transparent; + border-top-color: #F4F4F4; +} +.window-thinborder .dialog-button { + top: 0px; + padding: 5px 8px 8px 8px; + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} diff --git a/src/main/webapp/css/themes/default/easyui.css b/src/main/webapp/css/themes/default/easyui.css new file mode 100644 index 0000000..cd6b081 --- /dev/null +++ b/src/main/webapp/css/themes/default/easyui.css @@ -0,0 +1,3220 @@ +.panel { + overflow: hidden; + text-align: left; + margin: 0; + border: 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.panel-header, +.panel-body { + border-width: 1px; + border-style: solid; +} +.panel-header { + padding: 5px; + position: relative; +} +.panel-title { + background: url('images/blank.gif') no-repeat; +} +.panel-header-noborder { + border-width: 0 0 1px 0; +} +.panel-body { + overflow: auto; + border-top-width: 0; + padding: 0; +} +.panel-body-noheader { + border-top-width: 1px; +} +.panel-body-noborder { + border-width: 0px; +} +.panel-body-nobottom { + border-bottom-width: 0; +} +.panel-with-icon { + padding-left: 18px; +} +.panel-icon, +.panel-tool { + position: absolute; + top: 50%; + margin-top: -8px; + height: 16px; + overflow: hidden; +} +.panel-icon { + left: 5px; + width: 16px; +} +.panel-tool { + right: 5px; + width: auto; +} +.panel-tool a { + display: inline-block; + width: 16px; + height: 16px; + opacity: 0.6; + filter: alpha(opacity=60); + margin: 0 0 0 2px; + vertical-align: top; +} +.panel-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + background-color: #eaf2ff; + -moz-border-radius: 3px 3px 3px 3px; + -webkit-border-radius: 3px 3px 3px 3px; + border-radius: 3px 3px 3px 3px; +} +.panel-loading { + padding: 11px 0px 10px 30px; +} +.panel-noscroll { + overflow: hidden; +} +.panel-fit, +.panel-fit body { + height: 100%; + margin: 0; + padding: 0; + border: 0; + overflow: hidden; +} +.panel-loading { + background: url('images/loading.gif') no-repeat 10px 10px; +} +.panel-tool-close { + background: url('images/panel_tools.png') no-repeat -16px 0px; +} +.panel-tool-min { + background: url('images/panel_tools.png') no-repeat 0px 0px; +} +.panel-tool-max { + background: url('images/panel_tools.png') no-repeat 0px -16px; +} +.panel-tool-restore { + background: url('images/panel_tools.png') no-repeat -16px -16px; +} +.panel-tool-collapse { + background: url('images/panel_tools.png') no-repeat -32px 0; +} +.panel-tool-expand { + background: url('images/panel_tools.png') no-repeat -32px -16px; +} +.panel-header, +.panel-body { + border-color: #95B8E7; +} +.panel-header { + background-color: #E0ECFF; + background: -webkit-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); + background: -moz-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); + background: -o-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); + background: linear-gradient(to bottom,#EFF5FF 0,#E0ECFF 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#E0ECFF,GradientType=0); +} +.panel-body { + background-color: #ffffff; + color: #000000; + font-size: 12px; +} +.panel-title { + font-size: 12px; + font-weight: bold; + color: #0E2D5F; + height: 16px; + line-height: 16px; +} +.panel-footer { + border: 1px solid #95B8E7; + overflow: hidden; + background: #F4F4F4; +} +.panel-footer-noborder { + border-width: 1px 0 0 0; +} +.panel-hleft, +.panel-hright { + position: relative; +} +.panel-hleft>.panel-body, +.panel-hright>.panel-body { + position: absolute; +} +.panel-hleft>.panel-header { + float: left; +} +.panel-hright>.panel-header { + float: right; +} +.panel-hleft>.panel-body { + border-top-width: 1px; + border-left-width: 0; +} +.panel-hright>.panel-body { + border-top-width: 1px; + border-right-width: 0; +} +.panel-hleft>.panel-body-nobottom { + border-bottom-width: 1px; + border-right-width: 0; +} +.panel-hright>.panel-body-nobottom { + border-bottom-width: 1px; + border-left-width: 0; +} +.panel-hleft>.panel-footer { + position: absolute; + right: 0; +} +.panel-hright>.panel-footer { + position: absolute; + left: 0; +} +.panel-hleft>.panel-header-noborder { + border-width: 0 1px 0 0; +} +.panel-hright>.panel-header-noborder { + border-width: 0 0 0 1px; +} +.panel-hleft>.panel-body-noborder { + border-width: 0; +} +.panel-hright>.panel-body-noborder { + border-width: 0; +} +.panel-hleft>.panel-body-noheader { + border-left-width: 1px; +} +.panel-hright>.panel-body-noheader { + border-right-width: 1px; +} +.panel-hleft>.panel-footer-noborder { + border-width: 0 0 0 1px; +} +.panel-hright>.panel-footer-noborder { + border-width: 0 1px 0 0; +} +.panel-hleft>.panel-header .panel-icon, +.panel-hright>.panel-header .panel-icon { + margin-top: 0; + top: 5px; +} +.panel-hleft>.panel-header .panel-title, +.panel-hright>.panel-header .panel-title { + position: absolute; + min-width: 16px; + left: 21px; + top: 5px; + bottom: auto; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.panel-hleft>.panel-header .panel-title-up, +.panel-hright>.panel-header .panel-title-up { + position: absolute; + min-width: 16px; + left: 21px; + top: auto; + bottom: 5px; + text-align: right; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 16px; +} +.panel-hleft>.panel-header .panel-with-icon.panel-title-up, +.panel-hright>.panel-header .panel-with-icon.panel-title-up { + padding-left: 0; + padding-right: 18px; +} +.panel-hleft>.panel-header .panel-tool, +.panel-hright>.panel-header .panel-tool { + top: auto; + bottom: 5px; + width: 16px; + height: auto; + left: 50%; + margin-left: -8px; + margin-top: 0; +} +.panel-hleft>.panel-header .panel-tool a, +.panel-hright>.panel-header .panel-tool a { + margin: 2px 0 0 0; +} +.accordion { + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.accordion .accordion-header { + border-width: 0 0 1px; + cursor: pointer; +} +.accordion .accordion-body { + border-width: 0 0 1px; +} +.accordion-noborder { + border-width: 0; +} +.accordion-noborder .accordion-header { + border-width: 0 0 1px; +} +.accordion-noborder .accordion-body { + border-width: 0 0 1px; +} +.accordion-collapse { + background: url('images/accordion_arrows.png') no-repeat 0 0; +} +.accordion-expand { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.accordion { + background: #ffffff; + border-color: #95B8E7; +} +.accordion .accordion-header { + background: #E0ECFF; + filter: none; +} +.accordion .accordion-header-selected { + background: #ffe48d; +} +.accordion .accordion-header-selected .panel-title { + color: #000000; +} +.accordion .panel-last > .accordion-header { + border-bottom-color: #E0ECFF; +} +.accordion .panel-last > .accordion-body { + border-bottom-color: #ffffff; +} +.accordion .panel-last > .accordion-header-selected, +.accordion .panel-last > .accordion-header-border { + border-bottom-color: #95B8E7; +} +.accordion> .panel-hleft { + float: left; +} +.accordion> .panel-hleft>.panel-header { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft> .panel-body { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft.panel-last > .accordion-header { + border-right-color: #E0ECFF; +} +.accordion> .panel-hleft.panel-last > .accordion-body { + border-right-color: #ffffff; +} +.accordion> .panel-hleft.panel-last > .accordion-header-selected, +.accordion> .panel-hleft.panel-last > .accordion-header-border { + border-right-color: #95B8E7; +} +.accordion> .panel-hright { + float: right; +} +.accordion> .panel-hright>.panel-header { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright> .panel-body { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright.panel-last > .accordion-header { + border-left-color: #E0ECFF; +} +.accordion> .panel-hright.panel-last > .accordion-body { + border-left-color: #ffffff; +} +.accordion> .panel-hright.panel-last > .accordion-header-selected, +.accordion> .panel-hright.panel-last > .accordion-header-border { + border-left-color: #95B8E7; +} +.window { + overflow: hidden; + padding: 5px; + border-width: 1px; + border-style: solid; +} +.window .window-header { + background: transparent; + padding: 0px 0px 6px 0px; +} +.window .window-body { + border-width: 1px; + border-style: solid; + border-top-width: 0px; +} +.window .window-body-noheader { + border-top-width: 1px; +} +.window .panel-body-nobottom { + border-bottom-width: 0; +} +.window .window-header .panel-icon, +.window .window-header .panel-tool { + top: 50%; + margin-top: -11px; +} +.window .window-header .panel-icon { + left: 1px; +} +.window .window-header .panel-tool { + right: 1px; +} +.window .window-header .panel-with-icon { + padding-left: 18px; +} +.window-proxy { + position: absolute; + overflow: hidden; +} +.window-proxy-mask { + position: absolute; + filter: alpha(opacity=5); + opacity: 0.05; +} +.window-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + filter: alpha(opacity=40); + opacity: 0.40; + font-size: 1px; + overflow: hidden; +} +.window, +.window-shadow { + position: absolute; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.window-shadow { + background: #ccc; + -moz-box-shadow: 2px 2px 3px #cccccc; + -webkit-box-shadow: 2px 2px 3px #cccccc; + box-shadow: 2px 2px 3px #cccccc; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.window, +.window .window-body { + border-color: #95B8E7; +} +.window { + background-color: #E0ECFF; + background: -webkit-linear-gradient(top,#EFF5FF 0,#E0ECFF 20%); + background: -moz-linear-gradient(top,#EFF5FF 0,#E0ECFF 20%); + background: -o-linear-gradient(top,#EFF5FF 0,#E0ECFF 20%); + background: linear-gradient(to bottom,#EFF5FF 0,#E0ECFF 20%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#E0ECFF,GradientType=0); +} +.window-proxy { + border: 1px dashed #95B8E7; +} +.window-proxy-mask, +.window-mask { + background: #ccc; +} +.window .panel-footer { + border: 1px solid #95B8E7; + position: relative; + top: -1px; +} +.window-thinborder { + padding: 0; +} +.window-thinborder .window-header { + padding: 5px 5px 6px 5px; +} +.window-thinborder .window-body { + border-width: 0px; +} +.window-thinborder .window-header .panel-icon, +.window-thinborder .window-header .panel-tool { + margin-top: -9px; + margin-left: 5px; + margin-right: 5px; +} +.window-noborder { + border: 0; +} +.window.panel-hleft .window-header { + padding: 0 6px 0 0; +} +.window.panel-hright .window-header { + padding: 0 0 0 6px; +} +.window.panel-hleft>.panel-header .panel-title { + top: auto; + left: 16px; +} +.window.panel-hright>.panel-header .panel-title { + top: auto; + right: 16px; +} +.window.panel-hleft>.panel-header .panel-title-up, +.window.panel-hright>.panel-header .panel-title-up { + bottom: 0; +} +.window.panel-hleft .window-body { + border-width: 1px 1px 1px 0; +} +.window.panel-hright .window-body { + border-width: 1px 0 1px 1px; +} +.window.panel-hleft .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: 0; +} +.window.panel-hright .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: auto; + right: 1px; +} +.window.panel-hleft .window-header .panel-tool, +.window.panel-hright .window-header .panel-tool { + margin-top: 0; + top: auto; + bottom: 1px; + right: auto; + margin-right: 0; + left: 50%; + margin-left: -11px; +} +.window.panel-hright .window-header .panel-tool { + left: auto; + right: 1px; +} +.window-thinborder.panel-hleft .window-header { + padding: 5px 6px 5px 5px; +} +.window-thinborder.panel-hright .window-header { + padding: 5px 5px 5px 6px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title { + left: 21px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title-up, +.window-thinborder.panel-hright>.panel-header .panel-title-up { + bottom: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-icon, +.window-thinborder.panel-hright .window-header .panel-icon { + margin-top: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-tool, +.window-thinborder.panel-hright .window-header .panel-tool { + left: 16px; + bottom: 5px; +} +.dialog-content { + overflow: auto; +} +.dialog-toolbar { + position: relative; + padding: 2px 5px; +} +.dialog-tool-separator { + float: left; + height: 24px; + border-left: 1px solid #ccc; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.dialog-button { + position: relative; + top: -1px; + padding: 5px; + text-align: right; +} +.dialog-button .l-btn { + margin-left: 5px; +} +.dialog-toolbar, +.dialog-button { + background: #F4F4F4; + border-width: 1px; + border-style: solid; +} +.dialog-toolbar { + border-color: #95B8E7 #95B8E7 #dddddd #95B8E7; +} +.dialog-button { + border-color: #dddddd #95B8E7 #95B8E7 #95B8E7; +} +.window-thinborder .dialog-toolbar { + border-left: transparent; + border-right: transparent; + border-top-color: #F4F4F4; +} +.window-thinborder .dialog-button { + top: 0px; + padding: 5px 8px 8px 8px; + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} +.l-btn { + text-decoration: none; + display: inline-block; + overflow: hidden; + margin: 0; + padding: 0; + cursor: pointer; + outline: none; + text-align: center; + vertical-align: middle; + line-height: normal; +} +.l-btn-plain { + border-width: 0; + padding: 1px; +} +.l-btn-left { + display: inline-block; + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + vertical-align: top; +} +.l-btn-text { + display: inline-block; + vertical-align: top; + width: auto; + line-height: 24px; + font-size: 12px; + padding: 0; + margin: 0 4px; +} +.l-btn-icon { + display: inline-block; + width: 16px; + height: 16px; + line-height: 16px; + position: absolute; + top: 50%; + margin-top: -8px; + font-size: 1px; +} +.l-btn span span .l-btn-empty { + display: inline-block; + margin: 0; + width: 16px; + height: 24px; + font-size: 1px; + vertical-align: top; +} +.l-btn span .l-btn-icon-left { + padding: 0 0 0 20px; + background-position: left center; +} +.l-btn span .l-btn-icon-right { + padding: 0 20px 0 0; + background-position: right center; +} +.l-btn-icon-left .l-btn-text { + margin: 0 4px 0 24px; +} +.l-btn-icon-left .l-btn-icon { + left: 4px; +} +.l-btn-icon-right .l-btn-text { + margin: 0 24px 0 4px; +} +.l-btn-icon-right .l-btn-icon { + right: 4px; +} +.l-btn-icon-top .l-btn-text { + margin: 20px 4px 0 4px; +} +.l-btn-icon-top .l-btn-icon { + top: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-icon-bottom .l-btn-text { + margin: 0 4px 20px 4px; +} +.l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-left .l-btn-empty { + margin: 0 4px; + width: 16px; +} +.l-btn-plain:hover { + padding: 0; +} +.l-btn-focus { + outline: #0000FF dotted thin; +} +.l-btn-large .l-btn-text { + line-height: 40px; +} +.l-btn-large .l-btn-icon { + width: 32px; + height: 32px; + line-height: 32px; + margin-top: -16px; +} +.l-btn-large .l-btn-icon-left .l-btn-text { + margin-left: 40px; +} +.l-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.l-btn-large .l-btn-icon-top .l-btn-text { + margin-top: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-top .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-left .l-btn-empty { + margin: 0 4px; + width: 32px; +} +.l-btn { + color: #444; + background: #fafafa; + background-repeat: repeat-x; + border: 1px solid #bbb; + background: -webkit-linear-gradient(top,#ffffff 0,#eeeeee 100%); + background: -moz-linear-gradient(top,#ffffff 0,#eeeeee 100%); + background: -o-linear-gradient(top,#ffffff 0,#eeeeee 100%); + background: linear-gradient(to bottom,#ffffff 0,#eeeeee 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#eeeeee,GradientType=0); + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.l-btn:hover { + background: #eaf2ff; + color: #000000; + border: 1px solid #b7d2ff; + filter: none; +} +.l-btn-plain { + background: transparent; + border-width: 0; + filter: none; +} +.l-btn-outline { + border-width: 1px; + border-color: #b7d2ff; + padding: 0; +} +.l-btn-plain:hover { + background: #eaf2ff; + color: #000000; + border: 1px solid #b7d2ff; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.l-btn-disabled, +.l-btn-disabled:hover { + opacity: 0.5; + cursor: default; + background: #fafafa; + color: #444; + background: -webkit-linear-gradient(top,#ffffff 0,#eeeeee 100%); + background: -moz-linear-gradient(top,#ffffff 0,#eeeeee 100%); + background: -o-linear-gradient(top,#ffffff 0,#eeeeee 100%); + background: linear-gradient(to bottom,#ffffff 0,#eeeeee 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#eeeeee,GradientType=0); +} +.l-btn-disabled .l-btn-text, +.l-btn-disabled .l-btn-icon { + filter: alpha(opacity=50); +} +.l-btn-plain-disabled, +.l-btn-plain-disabled:hover { + background: transparent; + filter: alpha(opacity=50); +} +.l-btn-selected, +.l-btn-selected:hover { + background: #ddd; + filter: none; +} +.l-btn-plain-selected, +.l-btn-plain-selected:hover { + background: #ddd; +} +.textbox { + position: relative; + border: 1px solid #95B8E7; + background-color: #fff; + vertical-align: middle; + display: inline-block; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.textbox .textbox-text { + font-size: 12px; + border: 0; + margin: 0; + padding: 4px; + white-space: normal; + vertical-align: top; + outline-style: none; + resize: none; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.textbox .textbox-text::-ms-clear, +.textbox .textbox-text::-ms-reveal { + display: none; +} +.textbox textarea.textbox-text { + white-space: pre-wrap; +} +.textbox .textbox-prompt { + font-size: 12px; + color: #aaa; +} +.textbox .textbox-bgicon { + background-position: 3px center; + padding-left: 21px; +} +.textbox .textbox-button, +.textbox .textbox-button:hover { + position: absolute; + top: 0; + padding: 0; + vertical-align: top; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.textbox .textbox-button-right, +.textbox .textbox-button-right:hover { + right: 0; + border-width: 0 0 0 1px; +} +.textbox .textbox-button-left, +.textbox .textbox-button-left:hover { + left: 0; + border-width: 0 1px 0 0; +} +.textbox .textbox-button-top, +.textbox .textbox-button-top:hover { + left: 0; + border-width: 0 0 1px 0; +} +.textbox .textbox-button-bottom, +.textbox .textbox-button-bottom:hover { + top: auto; + bottom: 0; + left: 0; + border-width: 1px 0 0 0; +} +.textbox-addon { + position: absolute; + top: 0; +} +.textbox-label { + display: inline-block; + width: 80px; + height: 22px; + line-height: 22px; + vertical-align: middle; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + margin: 0; + padding-right: 5px; +} +.textbox-label-after { + padding-left: 5px; + padding-right: 0; +} +.textbox-label-top { + display: block; + width: auto; + padding: 0; +} +.textbox-disabled, +.textbox-label-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-icon { + display: inline-block; + width: 18px; + height: 20px; + overflow: hidden; + vertical-align: top; + background-position: center center; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); + text-decoration: none; + outline-style: none; +} +.textbox-icon-disabled, +.textbox-icon-readonly { + cursor: default; +} +.textbox-icon:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.textbox-icon-disabled:hover { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-focused { + border-color: #6b9cde; + -moz-box-shadow: 0 0 3px 0 #95B8E7; + -webkit-box-shadow: 0 0 3px 0 #95B8E7; + box-shadow: 0 0 3px 0 #95B8E7; +} +.textbox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; +} +.passwordbox-open { + background: url('images/passwordbox_open.png') no-repeat center center; +} +.passwordbox-close { + background: url('images/passwordbox_close.png') no-repeat center center; +} +.filebox .textbox-value { + vertical-align: top; + position: absolute; + top: 0; + left: -5000px; +} +.filebox-label { + display: inline-block; + position: absolute; + width: 100%; + height: 100%; + cursor: pointer; + left: 0; + top: 0; + z-index: 10; + background: url('images/blank.gif') no-repeat; +} +.l-btn-disabled .filebox-label { + cursor: default; +} +.combo-arrow { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.combo-arrow-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.combo-panel { + overflow: auto; +} +.combo-arrow { + background: url('images/combo_arrow.png') no-repeat center center; +} +.combo-panel { + background-color: #ffffff; +} +.combo-arrow { + background-color: #E0ECFF; +} +.combo-arrow-hover { + background-color: #eaf2ff; +} +.combo-arrow:hover { + background-color: #eaf2ff; +} +.combo .textbox-icon-disabled:hover { + cursor: default; +} +.combobox-item, +.combobox-group, +.combobox-stick { + font-size: 12px; + padding: 3px; +} +.combobox-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.combobox-gitem { + padding-left: 10px; +} +.combobox-group, +.combobox-stick { + font-weight: bold; +} +.combobox-stick { + position: absolute; + top: 1px; + left: 1px; + right: 1px; + background: inherit; +} +.combobox-item-hover { + background-color: #eaf2ff; + color: #000000; +} +.combobox-item-selected { + background-color: #ffe48d; + color: #000000; +} +.combobox-icon { + display: inline-block; + width: 16px; + height: 16px; + vertical-align: middle; + margin-right: 2px; +} +.tagbox { + cursor: text; +} +.tagbox .textbox-text { + float: left; +} +.tagbox-label { + position: relative; + display: block; + margin: 4px 0 0 4px; + padding: 0 20px 0 4px; + float: left; + vertical-align: top; + text-decoration: none; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + background: #eaf2ff; + color: #000000; +} +.tagbox-remove { + background: url('images/tagbox_icons.png') no-repeat -16px center; + position: absolute; + display: block; + width: 16px; + height: 16px; + right: 2px; + top: 50%; + margin-top: -8px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tagbox-remove:hover { + opacity: 1; + filter: alpha(opacity=100); +} +.textbox-disabled .tagbox-label { + cursor: default; +} +.textbox-disabled .tagbox-remove:hover { + cursor: default; + opacity: 0.6; + filter: alpha(opacity=60); +} +.layout { + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + z-index: 0; +} +.layout-panel { + position: absolute; + overflow: hidden; +} +.layout-body { + min-width: 1px; + min-height: 1px; +} +.layout-panel-east, +.layout-panel-west { + z-index: 2; +} +.layout-panel-north, +.layout-panel-south { + z-index: 3; +} +.layout-expand { + position: absolute; + padding: 0px; + font-size: 1px; + cursor: pointer; + z-index: 1; +} +.layout-expand .panel-header, +.layout-expand .panel-body { + background: transparent; + filter: none; + overflow: hidden; +} +.layout-expand .panel-header { + border-bottom-width: 0px; +} +.layout-expand .panel-body { + position: relative; +} +.layout-expand .panel-body .panel-icon { + margin-top: 0; + top: 0; + left: 50%; + margin-left: -8px; +} +.layout-expand-west .panel-header .panel-icon, +.layout-expand-east .panel-header .panel-icon { + display: none; +} +.layout-expand-title { + position: absolute; + top: 0; + left: 21px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.layout-expand-title-up { + position: absolute; + top: 0; + left: 0; + text-align: right; + padding-left: 5px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 0; +} +.layout-expand-with-icon { + top: 18px; +} +.layout-expand .panel-body-noheader .layout-expand-title, +.layout-expand .panel-body-noheader .panel-icon { + top: 5px; +} +.layout-expand .panel-body-noheader .layout-expand-with-icon { + top: 23px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + position: absolute; + font-size: 1px; + display: none; + z-index: 5; +} +.layout-split-proxy-h { + width: 5px; + cursor: e-resize; +} +.layout-split-proxy-v { + height: 5px; + cursor: n-resize; +} +.layout-mask { + position: absolute; + background: #fafafa; + filter: alpha(opacity=10); + opacity: 0.10; + z-index: 4; +} +.layout-button-up { + background: url('images/layout_arrows.png') no-repeat -16px -16px; +} +.layout-button-down { + background: url('images/layout_arrows.png') no-repeat -16px 0; +} +.layout-button-left { + background: url('images/layout_arrows.png') no-repeat 0 0; +} +.layout-button-right { + background: url('images/layout_arrows.png') no-repeat 0 -16px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + background-color: #aac5e7; +} +.layout-split-north { + border-bottom: 5px solid #E6EEF8; +} +.layout-split-south { + border-top: 5px solid #E6EEF8; +} +.layout-split-east { + border-left: 5px solid #E6EEF8; +} +.layout-split-west { + border-right: 5px solid #E6EEF8; +} +.layout-expand { + background-color: #E0ECFF; +} +.layout-expand-over { + background-color: #E0ECFF; +} +.tabs-container { + overflow: hidden; +} +.tabs-header { + border-width: 1px; + border-style: solid; + border-bottom-width: 0; + position: relative; + padding: 0; + padding-top: 2px; + overflow: hidden; +} +.tabs-scroller-left, +.tabs-scroller-right { + position: absolute; + top: auto; + bottom: 0; + width: 18px; + font-size: 1px; + display: none; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.tabs-scroller-left { + left: 0; +} +.tabs-scroller-right { + right: 0; +} +.tabs-tool { + position: absolute; + bottom: 0; + padding: 1px; + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.tabs-header-plain .tabs-tool { + padding: 0 1px; +} +.tabs-wrap { + position: relative; + left: 0; + overflow: hidden; + width: 100%; + margin: 0; + padding: 0; +} +.tabs-scrolling { + margin-left: 18px; + margin-right: 18px; +} +.tabs-disabled { + opacity: 0.3; + filter: alpha(opacity=30); +} +.tabs { + list-style-type: none; + height: 26px; + margin: 0px; + padding: 0px; + padding-left: 4px; + width: 50000px; + border-style: solid; + border-width: 0 0 1px 0; +} +.tabs li { + float: left; + display: inline-block; + margin: 0 4px -1px 0; + padding: 0; + position: relative; + border: 0; +} +.tabs li a.tabs-inner { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0 10px; + height: 25px; + line-height: 25px; + text-align: center; + white-space: nowrap; + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 0 0; + -webkit-border-radius: 5px 5px 0 0; + border-radius: 5px 5px 0 0; +} +.tabs li.tabs-selected a.tabs-inner { + font-weight: bold; + outline: none; +} +.tabs li.tabs-selected a:hover.tabs-inner { + cursor: default; + pointer: default; +} +.tabs li a.tabs-close, +.tabs-p-tool { + position: absolute; + font-size: 1px; + display: block; + height: 12px; + padding: 0; + top: 50%; + margin-top: -6px; + overflow: hidden; +} +.tabs li a.tabs-close { + width: 12px; + right: 5px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs-p-tool { + right: 16px; +} +.tabs-p-tool a { + display: inline-block; + font-size: 1px; + width: 12px; + height: 12px; + margin: 0; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs li a:hover.tabs-close, +.tabs-p-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + cursor: hand; + cursor: pointer; +} +.tabs-with-icon { + padding-left: 18px; +} +.tabs-icon { + position: absolute; + width: 16px; + height: 16px; + left: 10px; + top: 50%; + margin-top: -8px; +} +.tabs-title { + font-size: 12px; +} +.tabs-closable { + padding-right: 8px; +} +.tabs-panels { + margin: 0px; + padding: 0px; + border-width: 1px; + border-style: solid; + border-top-width: 0; + overflow: hidden; +} +.tabs-header-bottom { + border-width: 0 1px 1px 1px; + padding: 0 0 2px 0; +} +.tabs-header-bottom .tabs { + border-width: 1px 0 0 0; +} +.tabs-header-bottom .tabs li { + margin: -1px 4px 0 0; +} +.tabs-header-bottom .tabs li a.tabs-inner { + -moz-border-radius: 0 0 5px 5px; + -webkit-border-radius: 0 0 5px 5px; + border-radius: 0 0 5px 5px; +} +.tabs-header-bottom .tabs-tool { + top: 0; +} +.tabs-header-bottom .tabs-scroller-left, +.tabs-header-bottom .tabs-scroller-right { + top: 0; + bottom: auto; +} +.tabs-panels-top { + border-width: 1px 1px 0 1px; +} +.tabs-header-left { + float: left; + border-width: 1px 0 1px 1px; + padding: 0; +} +.tabs-header-right { + float: right; + border-width: 1px 1px 1px 0; + padding: 0; +} +.tabs-header-left .tabs-wrap, +.tabs-header-right .tabs-wrap { + height: 100%; +} +.tabs-header-left .tabs { + height: 100%; + padding: 4px 0 0 2px; + border-width: 0 1px 0 0; +} +.tabs-header-right .tabs { + height: 100%; + padding: 4px 2px 0 0; + border-width: 0 0 0 1px; +} +.tabs-header-left .tabs li, +.tabs-header-right .tabs li { + display: block; + width: 100%; + position: relative; +} +.tabs-header-left .tabs li { + left: auto; + right: 0; + margin: 0 -1px 4px 0; + float: right; +} +.tabs-header-right .tabs li { + left: 0; + right: auto; + margin: 0 0 4px -1px; + float: left; +} +.tabs-justified li a.tabs-inner { + padding-left: 0; + padding-right: 0; +} +.tabs-header-left .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.tabs-header-right .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 0 5px 5px 0; + -webkit-border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; +} +.tabs-panels-right { + float: right; + border-width: 1px 1px 1px 0; +} +.tabs-panels-left { + float: left; + border-width: 1px 0 1px 1px; +} +.tabs-header-noborder, +.tabs-panels-noborder { + border: 0px; +} +.tabs-header-plain { + border: 0px; + background: transparent; +} +.tabs-pill { + padding-bottom: 3px; +} +.tabs-header-bottom .tabs-pill { + padding-top: 3px; + padding-bottom: 0; +} +.tabs-header-left .tabs-pill { + padding-right: 3px; +} +.tabs-header-right .tabs-pill { + padding-left: 3px; +} +.tabs-header .tabs-pill li a.tabs-inner { + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.tabs-header-narrow, +.tabs-header-narrow .tabs-narrow { + padding: 0; +} +.tabs-narrow li, +.tabs-header-bottom .tabs-narrow li { + margin-left: 0; + margin-right: -1px; +} +.tabs-narrow li.tabs-last, +.tabs-header-bottom .tabs-narrow li.tabs-last { + margin-right: 0; +} +.tabs-header-left .tabs-narrow, +.tabs-header-right .tabs-narrow { + padding-top: 0; +} +.tabs-header-left .tabs-narrow li { + margin-bottom: -1px; + margin-right: -1px; +} +.tabs-header-left .tabs-narrow li.tabs-last, +.tabs-header-right .tabs-narrow li.tabs-last { + margin-bottom: 0; +} +.tabs-header-right .tabs-narrow li { + margin-bottom: -1px; + margin-left: -1px; +} +.tabs-scroller-left { + background: #E0ECFF url('images/tabs_icons.png') no-repeat 1px center; +} +.tabs-scroller-right { + background: #E0ECFF url('images/tabs_icons.png') no-repeat -15px center; +} +.tabs li a.tabs-close { + background: url('images/tabs_icons.png') no-repeat -34px center; +} +.tabs li a.tabs-inner:hover { + background: #eaf2ff; + color: #000000; + filter: none; +} +.tabs li.tabs-selected a.tabs-inner { + background-color: #ffffff; + color: #0E2D5F; + background: -webkit-linear-gradient(top,#EFF5FF 0,#ffffff 100%); + background: -moz-linear-gradient(top,#EFF5FF 0,#ffffff 100%); + background: -o-linear-gradient(top,#EFF5FF 0,#ffffff 100%); + background: linear-gradient(to bottom,#EFF5FF 0,#ffffff 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#ffffff,GradientType=0); +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(top,#ffffff 0,#EFF5FF 100%); + background: -moz-linear-gradient(top,#ffffff 0,#EFF5FF 100%); + background: -o-linear-gradient(top,#ffffff 0,#EFF5FF 100%); + background: linear-gradient(to bottom,#ffffff 0,#EFF5FF 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#EFF5FF,GradientType=0); +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(left,#EFF5FF 0,#ffffff 100%); + background: -moz-linear-gradient(left,#EFF5FF 0,#ffffff 100%); + background: -o-linear-gradient(left,#EFF5FF 0,#ffffff 100%); + background: linear-gradient(to right,#EFF5FF 0,#ffffff 100%); + background-repeat: repeat-y; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#ffffff,GradientType=1); +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(left,#ffffff 0,#EFF5FF 100%); + background: -moz-linear-gradient(left,#ffffff 0,#EFF5FF 100%); + background: -o-linear-gradient(left,#ffffff 0,#EFF5FF 100%); + background: linear-gradient(to right,#ffffff 0,#EFF5FF 100%); + background-repeat: repeat-y; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#EFF5FF,GradientType=1); +} +.tabs li a.tabs-inner { + color: #0E2D5F; + background-color: #E0ECFF; + background: -webkit-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); + background: -moz-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); + background: -o-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); + background: linear-gradient(to bottom,#EFF5FF 0,#E0ECFF 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#E0ECFF,GradientType=0); +} +.tabs-header, +.tabs-tool { + background-color: #E0ECFF; +} +.tabs-header-plain { + background: transparent; +} +.tabs-header, +.tabs-scroller-left, +.tabs-scroller-right, +.tabs-tool, +.tabs, +.tabs-panels, +.tabs li a.tabs-inner, +.tabs li.tabs-selected a.tabs-inner, +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, +.tabs-header-left .tabs li.tabs-selected a.tabs-inner, +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-color: #95B8E7; +} +.tabs-p-tool a:hover, +.tabs li a:hover.tabs-close, +.tabs-scroller-over { + background-color: #eaf2ff; +} +.tabs li.tabs-selected a.tabs-inner { + border-bottom: 1px solid #ffffff; +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + border-top: 1px solid #ffffff; +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + border-right: 1px solid #ffffff; +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-left: 1px solid #ffffff; +} +.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { + background: #ffe48d; + color: #000000; + filter: none; + border-color: #95B8E7; +} +.datagrid .panel-body { + overflow: hidden; + position: relative; +} +.datagrid-view { + position: relative; + overflow: hidden; +} +.datagrid-view1, +.datagrid-view2 { + position: absolute; + overflow: hidden; + top: 0; +} +.datagrid-view1 { + left: 0; +} +.datagrid-view2 { + right: 0; +} +.datagrid-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: 0.3; + filter: alpha(opacity=30); + display: none; +} +.datagrid-mask-msg { + position: absolute; + top: 50%; + margin-top: -20px; + padding: 10px 5px 10px 30px; + width: auto; + height: 16px; + border-width: 2px; + border-style: solid; + display: none; +} +.datagrid-empty { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 25px; + line-height: 25px; + text-align: center; +} +.datagrid-sort-icon { + padding: 0; + display: none; +} +.datagrid-toolbar { + height: auto; + padding: 1px 2px; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ccc; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.datagrid .datagrid-pager { + display: block; + margin: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.datagrid .datagrid-pager-top { + border-width: 0 0 1px 0; +} +.datagrid-header { + overflow: hidden; + cursor: default; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-header-inner { + float: left; + width: 10000px; +} +.datagrid-header-row, +.datagrid-row { + height: 25px; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-width: 0 1px 1px 0; + border-style: dotted; + margin: 0; + padding: 0; +} +.datagrid-cell, +.datagrid-cell-group, +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + margin: 0; + padding: 0 4px; + white-space: nowrap; + word-wrap: normal; + overflow: hidden; + height: 18px; + line-height: 18px; + font-size: 12px; +} +.datagrid-header .datagrid-cell { + height: auto; +} +.datagrid-header .datagrid-cell span { + font-size: 12px; +} +.datagrid-cell-group { + text-align: center; + text-overflow: ellipsis; +} +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + width: 30px; + text-align: center; + margin: 0; + padding: 0; +} +.datagrid-body { + margin: 0; + padding: 0; + overflow: auto; + zoom: 1; +} +.datagrid-view1 .datagrid-body-inner { + padding-bottom: 20px; +} +.datagrid-view1 .datagrid-body { + overflow: hidden; +} +.datagrid-footer { + overflow: hidden; +} +.datagrid-footer-inner { + border-width: 1px 0 0 0; + border-style: solid; + width: 10000px; + float: left; +} +.datagrid-row-editing .datagrid-cell { + height: auto; +} +.datagrid-header-check, +.datagrid-cell-check { + padding: 0; + width: 27px; + height: 18px; + font-size: 1px; + text-align: center; + overflow: hidden; +} +.datagrid-header-check input, +.datagrid-cell-check input { + margin: 0; + padding: 0; + width: 15px; + height: 18px; +} +.datagrid-resize-proxy { + position: absolute; + width: 1px; + height: 10000px; + top: 0; + cursor: e-resize; + display: none; +} +.datagrid-body .datagrid-editable { + margin: 0; + padding: 0; +} +.datagrid-body .datagrid-editable table { + width: 100%; + height: 100%; +} +.datagrid-body .datagrid-editable td { + border: 0; + margin: 0; + padding: 0; +} +.datagrid-view .datagrid-editable-input { + margin: 0; + padding: 2px 4px; + border: 1px solid #95B8E7; + font-size: 12px; + outline-style: none; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-view .validatebox-invalid { + border-color: #ffa8a8; +} +.datagrid-sort .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -64px center; +} +.datagrid-sort-desc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -16px center; +} +.datagrid-sort-asc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat 0px center; +} +.datagrid-row-collapse { + background: url('images/datagrid_icons.png') no-repeat -48px center; +} +.datagrid-row-expand { + background: url('images/datagrid_icons.png') no-repeat -32px center; +} +.datagrid-mask-msg { + background: #ffffff url('images/loading.gif') no-repeat scroll 5px center; +} +.datagrid-header, +.datagrid-td-rownumber { + background-color: #efefef; + background: -webkit-linear-gradient(top,#F9F9F9 0,#efefef 100%); + background: -moz-linear-gradient(top,#F9F9F9 0,#efefef 100%); + background: -o-linear-gradient(top,#F9F9F9 0,#efefef 100%); + background: linear-gradient(to bottom,#F9F9F9 0,#efefef 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F9F9F9,endColorstr=#efefef,GradientType=0); +} +.datagrid-cell-rownumber { + color: #000000; +} +.datagrid-resize-proxy { + background: #aac5e7; +} +.datagrid-mask { + background: #ccc; +} +.datagrid-mask-msg { + border-color: #95B8E7; +} +.datagrid-toolbar, +.datagrid-pager { + background: #F4F4F4; +} +.datagrid-header, +.datagrid-toolbar, +.datagrid-pager, +.datagrid-footer-inner { + border-color: #dddddd; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-color: #ccc; +} +.datagrid-htable, +.datagrid-btable, +.datagrid-ftable { + color: #000000; + border-collapse: separate; +} +.datagrid-row-alt { + background: #fafafa; +} +.datagrid-row-over, +.datagrid-header td.datagrid-header-over { + background: #eaf2ff; + color: #000000; + cursor: default; +} +.datagrid-row-selected { + background: #ffe48d; + color: #000000; +} +.datagrid-row-editing .textbox, +.datagrid-row-editing .textbox-text { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.propertygrid .datagrid-view1 .datagrid-body td { + padding-bottom: 1px; + border-width: 0 1px 0 0; +} +.propertygrid .datagrid-group { + height: 21px; + overflow: hidden; + border-width: 0 0 1px 0; + border-style: solid; +} +.propertygrid .datagrid-group span { + font-weight: bold; +} +.propertygrid .datagrid-view1 .datagrid-body td { + border-color: #dddddd; +} +.propertygrid .datagrid-view1 .datagrid-group { + border-color: #E0ECFF; +} +.propertygrid .datagrid-view2 .datagrid-group { + border-color: #dddddd; +} +.propertygrid .datagrid-group, +.propertygrid .datagrid-view1 .datagrid-body, +.propertygrid .datagrid-view1 .datagrid-row-over, +.propertygrid .datagrid-view1 .datagrid-row-selected { + background: #E0ECFF; +} +.datalist .datagrid-header { + border-width: 0; +} +.datalist .datagrid-group, +.m-list .m-list-group { + height: 25px; + line-height: 25px; + font-weight: bold; + overflow: hidden; + background-color: #efefef; + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ccc; +} +.datalist .datagrid-group-expander { + display: none; +} +.datalist .datagrid-group-title { + padding: 0 4px; +} +.datalist .datagrid-btable { + width: 100%; + table-layout: fixed; +} +.datalist .datagrid-row td { + border-style: solid; + border-left-color: transparent; + border-right-color: transparent; + border-bottom-width: 0; +} +.datalist-lines .datagrid-row td { + border-bottom-width: 1px; +} +.datalist .datagrid-cell, +.m-list li { + width: auto; + height: auto; + padding: 2px 4px; + line-height: 18px; + position: relative; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link, +.m-list li>a { + display: block; + position: relative; + cursor: pointer; + color: #000000; + text-decoration: none; + overflow: hidden; + margin: -2px -4px; + padding: 2px 4px; + padding-right: 16px; + line-height: 18px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link::after, +.m-list li>a::after { + position: absolute; + display: block; + width: 8px; + height: 8px; + content: ''; + right: 6px; + top: 50%; + margin-top: -4px; + border-style: solid; + border-width: 1px 1px 0 0; + -ms-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -webkit-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); +} +.m-list { + margin: 0; + padding: 0; + list-style: none; +} +.m-list li { + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ccc; +} +.m-list li>a:hover { + background: #eaf2ff; + color: #000000; +} +.m-list .m-list-group { + padding: 0 4px; +} +.pagination { + zoom: 1; +} +.pagination table { + float: left; + height: 30px; +} +.pagination td { + border: 0; +} +.pagination-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ccc; + border-right: 1px solid #fff; + margin: 3px 1px; +} +.pagination .pagination-num { + border-width: 1px; + border-style: solid; + margin: 0 2px; + padding: 2px; + width: 2em; + height: auto; +} +.pagination-page-list { + margin: 0px 6px; + padding: 1px 2px; + width: auto; + height: auto; + border-width: 1px; + border-style: solid; +} +.pagination-info { + float: right; + margin: 0 6px; + padding: 0; + height: 30px; + line-height: 30px; + font-size: 12px; +} +.pagination span { + font-size: 12px; +} +.pagination-link .l-btn-text { + width: 24px; + text-align: center; + margin: 0; +} +.pagination-first { + background: url('images/pagination_icons.png') no-repeat 0 center; +} +.pagination-prev { + background: url('images/pagination_icons.png') no-repeat -16px center; +} +.pagination-next { + background: url('images/pagination_icons.png') no-repeat -32px center; +} +.pagination-last { + background: url('images/pagination_icons.png') no-repeat -48px center; +} +.pagination-load { + background: url('images/pagination_icons.png') no-repeat -64px center; +} +.pagination-loading { + background: url('images/loading.gif') no-repeat center center; +} +.pagination-page-list, +.pagination .pagination-num { + border-color: #95B8E7; +} +.calendar { + border-width: 1px; + border-style: solid; + padding: 1px; + overflow: hidden; +} +.calendar table { + table-layout: fixed; + border-collapse: separate; + font-size: 12px; + width: 100%; + height: 100%; +} +.calendar table td, +.calendar table th { + font-size: 12px; +} +.calendar-noborder { + border: 0; +} +.calendar-header { + position: relative; + height: 22px; +} +.calendar-title { + text-align: center; + height: 22px; +} +.calendar-title span { + position: relative; + display: inline-block; + top: 2px; + padding: 0 3px; + height: 18px; + line-height: 18px; + font-size: 12px; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-prevmonth, +.calendar-nextmonth, +.calendar-prevyear, +.calendar-nextyear { + position: absolute; + top: 50%; + margin-top: -7px; + width: 14px; + height: 14px; + cursor: pointer; + font-size: 1px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-prevmonth { + left: 20px; + background: url('images/calendar_arrows.png') no-repeat -18px -2px; +} +.calendar-nextmonth { + right: 20px; + background: url('images/calendar_arrows.png') no-repeat -34px -2px; +} +.calendar-prevyear { + left: 3px; + background: url('images/calendar_arrows.png') no-repeat -1px -2px; +} +.calendar-nextyear { + right: 3px; + background: url('images/calendar_arrows.png') no-repeat -49px -2px; +} +.calendar-body { + position: relative; +} +.calendar-body th, +.calendar-body td { + text-align: center; +} +.calendar-day { + border: 0; + padding: 1px; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-other-month { + opacity: 0.3; + filter: alpha(opacity=30); +} +.calendar-disabled { + opacity: 0.6; + filter: alpha(opacity=60); + cursor: default; +} +.calendar-menu { + position: absolute; + top: 0; + left: 0; + width: 180px; + height: 150px; + padding: 5px; + font-size: 12px; + display: none; + overflow: hidden; +} +.calendar-menu-year-inner { + text-align: center; + padding-bottom: 5px; +} +.calendar-menu-year { + width: 50px; + text-align: center; + border-width: 1px; + border-style: solid; + outline-style: none; + resize: none; + margin: 0; + padding: 2px; + font-weight: bold; + font-size: 12px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-menu-prev, +.calendar-menu-next { + display: inline-block; + width: 21px; + height: 21px; + vertical-align: top; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-menu-prev { + margin-right: 10px; + background: url('images/calendar_arrows.png') no-repeat 2px 2px; +} +.calendar-menu-next { + margin-left: 10px; + background: url('images/calendar_arrows.png') no-repeat -45px 2px; +} +.calendar-menu-month { + text-align: center; + cursor: pointer; + font-weight: bold; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-body th, +.calendar-menu-month { + color: #4d4d4d; +} +.calendar-day { + color: #000000; +} +.calendar-sunday { + color: #CC2222; +} +.calendar-saturday { + color: #00ee00; +} +.calendar-today { + color: #0000ff; +} +.calendar-menu-year { + border-color: #95B8E7; +} +.calendar { + border-color: #95B8E7; +} +.calendar-header { + background: #E0ECFF; +} +.calendar-body, +.calendar-menu { + background: #ffffff; +} +.calendar-body th { + background: #F4F4F4; + padding: 2px 0; +} +.calendar-hover, +.calendar-nav-hover, +.calendar-menu-hover { + background-color: #eaf2ff; + color: #000000; +} +.calendar-hover { + border: 1px solid #b7d2ff; + padding: 0; +} +.calendar-selected { + background-color: #ffe48d; + color: #000000; + border: 1px solid #ffab3f; + padding: 0; +} +.datebox-calendar-inner { + height: 180px; +} +.datebox-button { + padding: 0 5px; + text-align: center; +} +.datebox-button a { + line-height: 22px; + font-size: 12px; + font-weight: bold; + text-decoration: none; + opacity: 0.6; + filter: alpha(opacity=60); +} +.datebox-button a:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.datebox-current, +.datebox-close { + float: left; +} +.datebox-close { + float: right; +} +.datebox .combo-arrow { + background-image: url('images/datebox_arrow.png'); + background-position: center center; +} +.datebox-button { + background-color: #F4F4F4; +} +.datebox-button a { + color: #444; +} +.spinner-arrow { + background-color: #E0ECFF; + display: inline-block; + overflow: hidden; + vertical-align: top; + margin: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + width: 18px; +} +.spinner-arrow-up, +.spinner-arrow-down { + opacity: 0.6; + filter: alpha(opacity=60); + display: block; + font-size: 1px; + width: 18px; + height: 10px; + width: 100%; + height: 50%; + color: #444; + outline-style: none; +} +.spinner-arrow-hover { + background-color: #eaf2ff; + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-arrow-up:hover, +.spinner-arrow-down:hover { + opacity: 1.0; + filter: alpha(opacity=100); + background-color: #eaf2ff; +} +.textbox-icon-disabled .spinner-arrow-up:hover, +.textbox-icon-disabled .spinner-arrow-down:hover { + opacity: 0.6; + filter: alpha(opacity=60); + background-color: #E0ECFF; + cursor: default; +} +.spinner .textbox-icon-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-arrow-up { + background: url('images/spinner_arrows.png') no-repeat 1px center; +} +.spinner-arrow-down { + background: url('images/spinner_arrows.png') no-repeat -15px center; +} +.spinner-button-up { + background: url('images/spinner_arrows.png') no-repeat -32px center; +} +.spinner-button-down { + background: url('images/spinner_arrows.png') no-repeat -48px center; +} +.progressbar { + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + overflow: hidden; + position: relative; +} +.progressbar-text { + text-align: center; + position: absolute; +} +.progressbar-value { + position: relative; + overflow: hidden; + width: 0; + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.progressbar { + border-color: #95B8E7; +} +.progressbar-text { + color: #000000; + font-size: 12px; +} +.progressbar-value .progressbar-text { + background-color: #ffe48d; + color: #000000; +} +.searchbox-button { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.searchbox-button-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.searchbox .l-btn-plain { + border: 0; + padding: 0; + vertical-align: top; + opacity: 0.6; + filter: alpha(opacity=60); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .l-btn-plain:hover { + border: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox a.m-btn-plain-active { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .m-btn-active { + border-width: 0 1px 0 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .textbox-button-right { + border-width: 0 0 0 1px; +} +.searchbox .textbox-button-left { + border-width: 0 1px 0 0; +} +.searchbox-button { + background: url('images/searchbox_button.png') no-repeat center center; +} +.searchbox .l-btn-plain { + background: #E0ECFF; +} +.searchbox .l-btn-plain-disabled, +.searchbox .l-btn-plain-disabled:hover { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-h { + height: 22px; +} +.slider-v { + width: 22px; +} +.slider-inner { + position: relative; + height: 6px; + top: 7px; + border-width: 1px; + border-style: solid; + border-radius: 5px; +} +.slider-handle { + position: absolute; + display: block; + outline: none; + width: 20px; + height: 20px; + top: 50%; + margin-top: -10px; + margin-left: -10px; +} +.slider-tip { + position: absolute; + display: inline-block; + line-height: 12px; + font-size: 12px; + white-space: nowrap; + top: -22px; +} +.slider-rule { + position: relative; + top: 15px; +} +.slider-rule span { + position: absolute; + display: inline-block; + font-size: 0; + height: 5px; + border-width: 0 0 0 1px; + border-style: solid; +} +.slider-rulelabel { + position: relative; + top: 20px; +} +.slider-rulelabel span { + position: absolute; + display: inline-block; + font-size: 12px; +} +.slider-v .slider-inner { + width: 6px; + left: 7px; + top: 0; + float: left; +} +.slider-v .slider-handle { + left: 50%; + margin-top: -10px; +} +.slider-v .slider-tip { + left: -10px; + margin-top: -6px; +} +.slider-v .slider-rule { + float: left; + top: 0; + left: 16px; +} +.slider-v .slider-rule span { + width: 5px; + height: 'auto'; + border-left: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.slider-v .slider-rulelabel { + float: left; + top: 0; + left: 23px; +} +.slider-handle { + background: url('images/slider_handle.png') no-repeat; +} +.slider-inner { + border-color: #95B8E7; + background: #E0ECFF; +} +.slider-rule span { + border-color: #95B8E7; +} +.slider-rulelabel span { + color: #000000; +} +.menu { + position: absolute; + margin: 0; + padding: 2px; + border-width: 1px; + border-style: solid; + overflow: hidden; +} +.menu-inline { + position: relative; +} +.menu-item { + position: relative; + margin: 0; + padding: 0; + overflow: hidden; + white-space: nowrap; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.menu-text { + height: 20px; + line-height: 20px; + float: left; + padding-left: 28px; +} +.menu-icon { + position: absolute; + width: 16px; + height: 16px; + left: 2px; + top: 50%; + margin-top: -8px; +} +.menu-rightarrow { + position: absolute; + width: 16px; + height: 16px; + right: 0; + top: 50%; + margin-top: -8px; +} +.menu-line { + position: absolute; + left: 26px; + top: 0; + height: 2000px; + font-size: 1px; +} +.menu-sep { + margin: 3px 0px 3px 25px; + font-size: 1px; +} +.menu-noline .menu-line { + display: none; +} +.menu-noline .menu-sep { + margin-left: 0; + margin-right: 0; +} +.menu-active { + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.menu-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); + cursor: default; +} +.menu-text, +.menu-text span { + font-size: 12px; +} +.menu-shadow { + position: absolute; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + background: #ccc; + -moz-box-shadow: 2px 2px 3px #cccccc; + -webkit-box-shadow: 2px 2px 3px #cccccc; + box-shadow: 2px 2px 3px #cccccc; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.menu-rightarrow { + background: url('images/menu_arrows.png') no-repeat -32px center; +} +.menu-line { + border-left: 1px solid #ccc; + border-right: 1px solid #fff; +} +.menu-sep { + border-top: 1px solid #ccc; + border-bottom: 1px solid #fff; +} +.menu { + background-color: #fafafa; + border-color: #ddd; + color: #444; +} +.menu-content { + background: #ffffff; +} +.menu-item { + border-color: transparent; + _border-color: #fafafa; +} +.menu-active { + border-color: #b7d2ff; + color: #000000; + background: #eaf2ff; +} +.menu-active-disabled { + border-color: transparent; + background: transparent; + color: #444; +} +.m-btn-downarrow, +.s-btn-downarrow { + display: inline-block; + position: absolute; + width: 16px; + height: 16px; + font-size: 1px; + right: 0; + top: 50%; + margin-top: -8px; +} +.m-btn-active, +.s-btn-active { + background: #eaf2ff; + color: #000000; + border: 1px solid #b7d2ff; + filter: none; +} +.m-btn-plain-active, +.s-btn-plain-active { + background: transparent; + padding: 0; + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.m-btn .l-btn-left .l-btn-text { + margin-right: 20px; +} +.m-btn .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.m-btn .l-btn-icon-right .l-btn-icon { + right: 20px; +} +.m-btn .l-btn-icon-top .l-btn-text { + margin-right: 4px; + margin-bottom: 14px; +} +.m-btn .l-btn-icon-bottom .l-btn-text { + margin-right: 4px; + margin-bottom: 34px; +} +.m-btn .l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 20px; +} +.m-btn .l-btn-icon-top .m-btn-downarrow, +.m-btn .l-btn-icon-bottom .m-btn-downarrow { + top: auto; + bottom: 0px; + left: 50%; + margin-left: -8px; +} +.m-btn-line { + display: inline-block; + position: absolute; + font-size: 1px; + display: none; +} +.m-btn .l-btn-left .m-btn-line { + right: 0; + width: 16px; + height: 500px; + border-style: solid; + border-color: #aac5e7; + border-width: 0 0 0 1px; +} +.m-btn .l-btn-icon-top .m-btn-line, +.m-btn .l-btn-icon-bottom .m-btn-line { + left: 0; + bottom: 0; + width: 500px; + height: 16px; + border-width: 1px 0 0 0; +} +.m-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 56px; +} +.m-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 50px; +} +.m-btn-downarrow, +.s-btn-downarrow { + background: url('images/menu_arrows.png') no-repeat 0 center; +} +.m-btn-plain-active, +.s-btn-plain-active { + border-color: #b7d2ff; + background-color: #eaf2ff; + color: #000000; +} +.s-btn:hover .m-btn-line, +.s-btn-active .m-btn-line, +.s-btn-plain-active .m-btn-line { + display: inline-block; +} +.l-btn:hover .s-btn-downarrow, +.s-btn-active .s-btn-downarrow, +.s-btn-plain-active .s-btn-downarrow { + border-style: solid; + border-color: #aac5e7; + border-width: 0 0 0 1px; +} +.messager-body { + padding: 10px 10px 30px 10px; + overflow: auto; +} +.messager-button { + text-align: center; + padding: 5px; +} +.messager-button .l-btn { + width: 70px; +} +.messager-icon { + float: left; + width: 32px; + height: 32px; + margin: 0 10px 10px 0; +} +.messager-error { + background: url('images/messager_icons.png') no-repeat scroll -64px 0; +} +.messager-info { + background: url('images/messager_icons.png') no-repeat scroll 0 0; +} +.messager-question { + background: url('images/messager_icons.png') no-repeat scroll -32px 0; +} +.messager-warning { + background: url('images/messager_icons.png') no-repeat scroll -96px 0; +} +.messager-progress { + padding: 10px; +} +.messager-p-msg { + margin-bottom: 5px; +} +.messager-body .messager-input { + width: 100%; + padding: 4px 0; + outline-style: none; + border: 1px solid #95B8E7; +} +.window-thinborder .messager-button { + padding-bottom: 8px; +} +.tree { + margin: 0; + padding: 0; + list-style-type: none; +} +.tree li { + white-space: nowrap; +} +.tree li ul { + list-style-type: none; + margin: 0; + padding: 0; +} +.tree-node { + height: 18px; + white-space: nowrap; + cursor: pointer; +} +.tree-hit { + cursor: pointer; +} +.tree-expanded, +.tree-collapsed, +.tree-folder, +.tree-file, +.tree-checkbox, +.tree-indent { + display: inline-block; + width: 16px; + height: 18px; + vertical-align: top; + overflow: hidden; +} +.tree-expanded { + background: url('images/tree_icons.png') no-repeat -18px 0px; +} +.tree-expanded-hover { + background: url('images/tree_icons.png') no-repeat -50px 0px; +} +.tree-collapsed { + background: url('images/tree_icons.png') no-repeat 0px 0px; +} +.tree-collapsed-hover { + background: url('images/tree_icons.png') no-repeat -32px 0px; +} +.tree-lines .tree-expanded, +.tree-lines .tree-root-first .tree-expanded { + background: url('images/tree_icons.png') no-repeat -144px 0; +} +.tree-lines .tree-collapsed, +.tree-lines .tree-root-first .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -128px 0; +} +.tree-lines .tree-node-last .tree-expanded, +.tree-lines .tree-root-one .tree-expanded { + background: url('images/tree_icons.png') no-repeat -80px 0; +} +.tree-lines .tree-node-last .tree-collapsed, +.tree-lines .tree-root-one .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -64px 0; +} +.tree-line { + background: url('images/tree_icons.png') no-repeat -176px 0; +} +.tree-join { + background: url('images/tree_icons.png') no-repeat -192px 0; +} +.tree-joinbottom { + background: url('images/tree_icons.png') no-repeat -160px 0; +} +.tree-folder { + background: url('images/tree_icons.png') no-repeat -208px 0; +} +.tree-folder-open { + background: url('images/tree_icons.png') no-repeat -224px 0; +} +.tree-file { + background: url('images/tree_icons.png') no-repeat -240px 0; +} +.tree-loading { + background: url('images/loading.gif') no-repeat center center; +} +.tree-checkbox0 { + background: url('images/tree_icons.png') no-repeat -208px -18px; +} +.tree-checkbox1 { + background: url('images/tree_icons.png') no-repeat -224px -18px; +} +.tree-checkbox2 { + background: url('images/tree_icons.png') no-repeat -240px -18px; +} +.tree-title { + font-size: 12px; + display: inline-block; + text-decoration: none; + vertical-align: top; + white-space: nowrap; + padding: 0 2px; + height: 18px; + line-height: 18px; +} +.tree-node-proxy { + font-size: 12px; + line-height: 20px; + padding: 0 2px 0 20px; + border-width: 1px; + border-style: solid; + z-index: 9900000; +} +.tree-dnd-icon { + display: inline-block; + position: absolute; + width: 16px; + height: 18px; + left: 2px; + top: 50%; + margin-top: -9px; +} +.tree-dnd-yes { + background: url('images/tree_icons.png') no-repeat -256px 0; +} +.tree-dnd-no { + background: url('images/tree_icons.png') no-repeat -256px -18px; +} +.tree-node-top { + border-top: 1px dotted red; +} +.tree-node-bottom { + border-bottom: 1px dotted red; +} +.tree-node-append .tree-title { + border: 1px dotted red; +} +.tree-editor { + border: 1px solid #95B8E7; + font-size: 12px; + line-height: 16px; + padding: 0 4px; + margin: 0; + width: 80px; + outline-style: none; + vertical-align: top; + position: absolute; + top: 0; +} +.tree-node-proxy { + background-color: #ffffff; + color: #000000; + border-color: #95B8E7; +} +.tree-node-hover { + background: #eaf2ff; + color: #000000; +} +.tree-node-selected { + background: #ffe48d; + color: #000000; +} +.tree-node-hidden { + display: none; +} +.validatebox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; + color: #000; +} +.tooltip { + position: absolute; + display: none; + z-index: 9900000; + outline: none; + opacity: 1; + filter: alpha(opacity=100); + padding: 5px; + border-width: 1px; + border-style: solid; + border-radius: 5px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.tooltip-content { + font-size: 12px; +} +.tooltip-arrow-outer, +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + line-height: 0; + font-size: 0; + border-style: solid; + border-width: 6px; + border-color: transparent; + _border-color: tomato; + _filter: chroma(color=tomato); +} +.tooltip-arrow { + display: none \9; +} +.tooltip-right .tooltip-arrow-outer { + left: 0; + top: 50%; + margin: -6px 0 0 -13px; +} +.tooltip-right .tooltip-arrow { + left: 0; + top: 50%; + margin: -6px 0 0 -12px; +} +.tooltip-left .tooltip-arrow-outer { + right: 0; + top: 50%; + margin: -6px -13px 0 0; +} +.tooltip-left .tooltip-arrow { + right: 0; + top: 50%; + margin: -6px -12px 0 0; +} +.tooltip-top .tooltip-arrow-outer { + bottom: 0; + left: 50%; + margin: 0 0 -13px -6px; +} +.tooltip-top .tooltip-arrow { + bottom: 0; + left: 50%; + margin: 0 0 -12px -6px; +} +.tooltip-bottom .tooltip-arrow-outer { + top: 0; + left: 50%; + margin: -13px 0 0 -6px; +} +.tooltip-bottom .tooltip-arrow { + top: 0; + left: 50%; + margin: -12px 0 0 -6px; +} +.tooltip { + background-color: #ffffff; + border-color: #95B8E7; + color: #000000; +} +.tooltip-right .tooltip-arrow-outer { + border-right-color: #95B8E7; +} +.tooltip-right .tooltip-arrow { + border-right-color: #ffffff; +} +.tooltip-left .tooltip-arrow-outer { + border-left-color: #95B8E7; +} +.tooltip-left .tooltip-arrow { + border-left-color: #ffffff; +} +.tooltip-top .tooltip-arrow-outer { + border-top-color: #95B8E7; +} +.tooltip-top .tooltip-arrow { + border-top-color: #ffffff; +} +.tooltip-bottom .tooltip-arrow-outer { + border-bottom-color: #95B8E7; +} +.tooltip-bottom .tooltip-arrow { + border-bottom-color: #ffffff; +} +.switchbutton { + text-decoration: none; + display: inline-block; + overflow: hidden; + vertical-align: middle; + margin: 0; + padding: 0; + cursor: pointer; + background: #bbb; + border: 1px solid #bbb; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.switchbutton-inner { + display: inline-block; + overflow: hidden; + position: relative; + top: -1px; + left: -1px; +} +.switchbutton-on, +.switchbutton-off, +.switchbutton-handle { + display: inline-block; + text-align: center; + height: 100%; + float: left; + font-size: 12px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.switchbutton-on { + background: #ffe48d; + color: #000000; +} +.switchbutton-off { + background-color: #ffffff; + color: #000000; +} +.switchbutton-on, +.switchbutton-reversed .switchbutton-off { + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.switchbutton-off, +.switchbutton-reversed .switchbutton-on { + -moz-border-radius: 0 5px 5px 0; + -webkit-border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; +} +.switchbutton-handle { + position: absolute; + top: 0; + left: 50%; + background-color: #ffffff; + color: #000000; + border: 1px solid #bbb; + -moz-box-shadow: 0 0 3px 0 #bbb; + -webkit-box-shadow: 0 0 3px 0 #bbb; + box-shadow: 0 0 3px 0 #bbb; +} +.switchbutton-value { + position: absolute; + top: 0; + left: -5000px; +} +.switchbutton-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.switchbutton-disabled, +.switchbutton-readonly { + cursor: default; +} diff --git a/src/main/webapp/css/themes/default/filebox.css b/src/main/webapp/css/themes/default/filebox.css new file mode 100644 index 0000000..c6bac66 --- /dev/null +++ b/src/main/webapp/css/themes/default/filebox.css @@ -0,0 +1,20 @@ +.filebox .textbox-value { + vertical-align: top; + position: absolute; + top: 0; + left: -5000px; +} +.filebox-label { + display: inline-block; + position: absolute; + width: 100%; + height: 100%; + cursor: pointer; + left: 0; + top: 0; + z-index: 10; + background: url('images/blank.gif') no-repeat; +} +.l-btn-disabled .filebox-label { + cursor: default; +} diff --git a/src/main/webapp/css/themes/default/images/accordion_arrows.png b/src/main/webapp/css/themes/default/images/accordion_arrows.png new file mode 100644 index 0000000..720835f Binary files /dev/null and b/src/main/webapp/css/themes/default/images/accordion_arrows.png differ diff --git a/src/main/webapp/css/themes/default/images/blank.gif b/src/main/webapp/css/themes/default/images/blank.gif new file mode 100644 index 0000000..1d11fa9 Binary files /dev/null and b/src/main/webapp/css/themes/default/images/blank.gif differ diff --git a/src/main/webapp/css/themes/default/images/calendar_arrows.png b/src/main/webapp/css/themes/default/images/calendar_arrows.png new file mode 100644 index 0000000..430c4ad Binary files /dev/null and b/src/main/webapp/css/themes/default/images/calendar_arrows.png differ diff --git a/src/main/webapp/css/themes/default/images/combo_arrow.png b/src/main/webapp/css/themes/default/images/combo_arrow.png new file mode 100644 index 0000000..2e59fb9 Binary files /dev/null and b/src/main/webapp/css/themes/default/images/combo_arrow.png differ diff --git a/src/main/webapp/css/themes/default/images/datagrid_icons.png b/src/main/webapp/css/themes/default/images/datagrid_icons.png new file mode 100644 index 0000000..762d0ce Binary files /dev/null and b/src/main/webapp/css/themes/default/images/datagrid_icons.png differ diff --git a/src/main/webapp/css/themes/default/images/datebox_arrow.png b/src/main/webapp/css/themes/default/images/datebox_arrow.png new file mode 100644 index 0000000..783c833 Binary files /dev/null and b/src/main/webapp/css/themes/default/images/datebox_arrow.png differ diff --git a/src/main/webapp/css/themes/default/images/layout_arrows.png b/src/main/webapp/css/themes/default/images/layout_arrows.png new file mode 100644 index 0000000..6f41654 Binary files /dev/null and b/src/main/webapp/css/themes/default/images/layout_arrows.png differ diff --git a/src/main/webapp/css/themes/default/images/linkbutton_bg.png b/src/main/webapp/css/themes/default/images/linkbutton_bg.png new file mode 100644 index 0000000..fc66bd2 Binary files /dev/null and b/src/main/webapp/css/themes/default/images/linkbutton_bg.png differ diff --git a/src/main/webapp/css/themes/default/images/loading.gif b/src/main/webapp/css/themes/default/images/loading.gif new file mode 100644 index 0000000..68f01d0 Binary files /dev/null and b/src/main/webapp/css/themes/default/images/loading.gif differ diff --git a/src/main/webapp/css/themes/default/images/menu_arrows.png b/src/main/webapp/css/themes/default/images/menu_arrows.png new file mode 100644 index 0000000..b986842 Binary files /dev/null and b/src/main/webapp/css/themes/default/images/menu_arrows.png differ diff --git a/src/main/webapp/css/themes/default/images/messager_icons.png b/src/main/webapp/css/themes/default/images/messager_icons.png new file mode 100644 index 0000000..62c18c1 Binary files /dev/null and b/src/main/webapp/css/themes/default/images/messager_icons.png differ diff --git a/src/main/webapp/css/themes/default/images/pagination_icons.png b/src/main/webapp/css/themes/default/images/pagination_icons.png new file mode 100644 index 0000000..616f0bd Binary files /dev/null and b/src/main/webapp/css/themes/default/images/pagination_icons.png differ diff --git a/src/main/webapp/css/themes/default/images/panel_tools.png b/src/main/webapp/css/themes/default/images/panel_tools.png new file mode 100644 index 0000000..19ecc94 Binary files /dev/null and b/src/main/webapp/css/themes/default/images/panel_tools.png differ diff --git a/src/main/webapp/css/themes/default/images/passwordbox_close.png b/src/main/webapp/css/themes/default/images/passwordbox_close.png new file mode 100644 index 0000000..643c09d Binary files /dev/null and b/src/main/webapp/css/themes/default/images/passwordbox_close.png differ diff --git a/src/main/webapp/css/themes/default/images/passwordbox_open.png b/src/main/webapp/css/themes/default/images/passwordbox_open.png new file mode 100644 index 0000000..d328891 Binary files /dev/null and b/src/main/webapp/css/themes/default/images/passwordbox_open.png differ diff --git a/src/main/webapp/css/themes/default/images/searchbox_button.png b/src/main/webapp/css/themes/default/images/searchbox_button.png new file mode 100644 index 0000000..6dd1931 Binary files /dev/null and b/src/main/webapp/css/themes/default/images/searchbox_button.png differ diff --git a/src/main/webapp/css/themes/default/images/slider_handle.png b/src/main/webapp/css/themes/default/images/slider_handle.png new file mode 100644 index 0000000..b9802ba Binary files /dev/null and b/src/main/webapp/css/themes/default/images/slider_handle.png differ diff --git a/src/main/webapp/css/themes/default/images/spinner_arrows.png b/src/main/webapp/css/themes/default/images/spinner_arrows.png new file mode 100644 index 0000000..7c2df48 Binary files /dev/null and b/src/main/webapp/css/themes/default/images/spinner_arrows.png differ diff --git a/src/main/webapp/css/themes/default/images/tabs_icons.png b/src/main/webapp/css/themes/default/images/tabs_icons.png new file mode 100644 index 0000000..4d29966 Binary files /dev/null and b/src/main/webapp/css/themes/default/images/tabs_icons.png differ diff --git a/src/main/webapp/css/themes/default/images/tagbox_icons.png b/src/main/webapp/css/themes/default/images/tagbox_icons.png new file mode 100644 index 0000000..bd02e2d Binary files /dev/null and b/src/main/webapp/css/themes/default/images/tagbox_icons.png differ diff --git a/src/main/webapp/css/themes/default/images/tree_icons.png b/src/main/webapp/css/themes/default/images/tree_icons.png new file mode 100644 index 0000000..e9be4f3 Binary files /dev/null and b/src/main/webapp/css/themes/default/images/tree_icons.png differ diff --git a/src/main/webapp/css/themes/default/images/validatebox_warning.png b/src/main/webapp/css/themes/default/images/validatebox_warning.png new file mode 100644 index 0000000..2b3d4f0 Binary files /dev/null and b/src/main/webapp/css/themes/default/images/validatebox_warning.png differ diff --git a/src/main/webapp/css/themes/default/layout.css b/src/main/webapp/css/themes/default/layout.css new file mode 100644 index 0000000..6d5c3f5 --- /dev/null +++ b/src/main/webapp/css/themes/default/layout.css @@ -0,0 +1,150 @@ +.layout { + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + z-index: 0; +} +.layout-panel { + position: absolute; + overflow: hidden; +} +.layout-body { + min-width: 1px; + min-height: 1px; +} +.layout-panel-east, +.layout-panel-west { + z-index: 2; +} +.layout-panel-north, +.layout-panel-south { + z-index: 3; +} +.layout-expand { + position: absolute; + padding: 0px; + font-size: 1px; + cursor: pointer; + z-index: 1; +} +.layout-expand .panel-header, +.layout-expand .panel-body { + background: transparent; + filter: none; + overflow: hidden; +} +.layout-expand .panel-header { + border-bottom-width: 0px; +} +.layout-expand .panel-body { + position: relative; +} +.layout-expand .panel-body .panel-icon { + margin-top: 0; + top: 0; + left: 50%; + margin-left: -8px; +} +.layout-expand-west .panel-header .panel-icon, +.layout-expand-east .panel-header .panel-icon { + display: none; +} +.layout-expand-title { + position: absolute; + top: 0; + left: 21px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.layout-expand-title-up { + position: absolute; + top: 0; + left: 0; + text-align: right; + padding-left: 5px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 0; +} +.layout-expand-with-icon { + top: 18px; +} +.layout-expand .panel-body-noheader .layout-expand-title, +.layout-expand .panel-body-noheader .panel-icon { + top: 5px; +} +.layout-expand .panel-body-noheader .layout-expand-with-icon { + top: 23px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + position: absolute; + font-size: 1px; + display: none; + z-index: 5; +} +.layout-split-proxy-h { + width: 5px; + cursor: e-resize; +} +.layout-split-proxy-v { + height: 5px; + cursor: n-resize; +} +.layout-mask { + position: absolute; + background: #fafafa; + filter: alpha(opacity=10); + opacity: 0.10; + z-index: 4; +} +.layout-button-up { + background: url('images/layout_arrows.png') no-repeat -16px -16px; +} +.layout-button-down { + background: url('images/layout_arrows.png') no-repeat -16px 0; +} +.layout-button-left { + background: url('images/layout_arrows.png') no-repeat 0 0; +} +.layout-button-right { + background: url('images/layout_arrows.png') no-repeat 0 -16px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + background-color: #aac5e7; +} +.layout-split-north { + border-bottom: 5px solid #E6EEF8; +} +.layout-split-south { + border-top: 5px solid #E6EEF8; +} +.layout-split-east { + border-left: 5px solid #E6EEF8; +} +.layout-split-west { + border-right: 5px solid #E6EEF8; +} +.layout-expand { + background-color: #E0ECFF; +} +.layout-expand-over { + background-color: #E0ECFF; +} diff --git a/src/main/webapp/css/themes/default/linkbutton.css b/src/main/webapp/css/themes/default/linkbutton.css new file mode 100644 index 0000000..a3e2122 --- /dev/null +++ b/src/main/webapp/css/themes/default/linkbutton.css @@ -0,0 +1,203 @@ +.l-btn { + text-decoration: none; + display: inline-block; + overflow: hidden; + margin: 0; + padding: 0; + cursor: pointer; + outline: none; + text-align: center; + vertical-align: middle; + line-height: normal; +} +.l-btn-plain { + border-width: 0; + padding: 1px; +} +.l-btn-left { + display: inline-block; + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + vertical-align: top; +} +.l-btn-text { + display: inline-block; + vertical-align: top; + width: auto; + line-height: 24px; + font-size: 12px; + padding: 0; + margin: 0 4px; +} +.l-btn-icon { + display: inline-block; + width: 16px; + height: 16px; + line-height: 16px; + position: absolute; + top: 50%; + margin-top: -8px; + font-size: 1px; +} +.l-btn span span .l-btn-empty { + display: inline-block; + margin: 0; + width: 16px; + height: 24px; + font-size: 1px; + vertical-align: top; +} +.l-btn span .l-btn-icon-left { + padding: 0 0 0 20px; + background-position: left center; +} +.l-btn span .l-btn-icon-right { + padding: 0 20px 0 0; + background-position: right center; +} +.l-btn-icon-left .l-btn-text { + margin: 0 4px 0 24px; +} +.l-btn-icon-left .l-btn-icon { + left: 4px; +} +.l-btn-icon-right .l-btn-text { + margin: 0 24px 0 4px; +} +.l-btn-icon-right .l-btn-icon { + right: 4px; +} +.l-btn-icon-top .l-btn-text { + margin: 20px 4px 0 4px; +} +.l-btn-icon-top .l-btn-icon { + top: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-icon-bottom .l-btn-text { + margin: 0 4px 20px 4px; +} +.l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-left .l-btn-empty { + margin: 0 4px; + width: 16px; +} +.l-btn-plain:hover { + padding: 0; +} +.l-btn-focus { + outline: #0000FF dotted thin; +} +.l-btn-large .l-btn-text { + line-height: 40px; +} +.l-btn-large .l-btn-icon { + width: 32px; + height: 32px; + line-height: 32px; + margin-top: -16px; +} +.l-btn-large .l-btn-icon-left .l-btn-text { + margin-left: 40px; +} +.l-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.l-btn-large .l-btn-icon-top .l-btn-text { + margin-top: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-top .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-left .l-btn-empty { + margin: 0 4px; + width: 32px; +} +.l-btn { + color: #444; + background: #fafafa; + background-repeat: repeat-x; + border: 1px solid #bbb; + background: -webkit-linear-gradient(top,#ffffff 0,#eeeeee 100%); + background: -moz-linear-gradient(top,#ffffff 0,#eeeeee 100%); + background: -o-linear-gradient(top,#ffffff 0,#eeeeee 100%); + background: linear-gradient(to bottom,#ffffff 0,#eeeeee 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#eeeeee,GradientType=0); + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.l-btn:hover { + background: #eaf2ff; + color: #000000; + border: 1px solid #b7d2ff; + filter: none; +} +.l-btn-plain { + background: transparent; + border-width: 0; + filter: none; +} +.l-btn-outline { + border-width: 1px; + border-color: #b7d2ff; + padding: 0; +} +.l-btn-plain:hover { + background: #eaf2ff; + color: #000000; + border: 1px solid #b7d2ff; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.l-btn-disabled, +.l-btn-disabled:hover { + opacity: 0.5; + cursor: default; + background: #fafafa; + color: #444; + background: -webkit-linear-gradient(top,#ffffff 0,#eeeeee 100%); + background: -moz-linear-gradient(top,#ffffff 0,#eeeeee 100%); + background: -o-linear-gradient(top,#ffffff 0,#eeeeee 100%); + background: linear-gradient(to bottom,#ffffff 0,#eeeeee 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#eeeeee,GradientType=0); +} +.l-btn-disabled .l-btn-text, +.l-btn-disabled .l-btn-icon { + filter: alpha(opacity=50); +} +.l-btn-plain-disabled, +.l-btn-plain-disabled:hover { + background: transparent; + filter: alpha(opacity=50); +} +.l-btn-selected, +.l-btn-selected:hover { + background: #ddd; + filter: none; +} +.l-btn-plain-selected, +.l-btn-plain-selected:hover { + background: #ddd; +} diff --git a/src/main/webapp/css/themes/default/menu.css b/src/main/webapp/css/themes/default/menu.css new file mode 100644 index 0000000..552e25c --- /dev/null +++ b/src/main/webapp/css/themes/default/menu.css @@ -0,0 +1,119 @@ +.menu { + position: absolute; + margin: 0; + padding: 2px; + border-width: 1px; + border-style: solid; + overflow: hidden; +} +.menu-inline { + position: relative; +} +.menu-item { + position: relative; + margin: 0; + padding: 0; + overflow: hidden; + white-space: nowrap; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.menu-text { + height: 20px; + line-height: 20px; + float: left; + padding-left: 28px; +} +.menu-icon { + position: absolute; + width: 16px; + height: 16px; + left: 2px; + top: 50%; + margin-top: -8px; +} +.menu-rightarrow { + position: absolute; + width: 16px; + height: 16px; + right: 0; + top: 50%; + margin-top: -8px; +} +.menu-line { + position: absolute; + left: 26px; + top: 0; + height: 2000px; + font-size: 1px; +} +.menu-sep { + margin: 3px 0px 3px 25px; + font-size: 1px; +} +.menu-noline .menu-line { + display: none; +} +.menu-noline .menu-sep { + margin-left: 0; + margin-right: 0; +} +.menu-active { + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.menu-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); + cursor: default; +} +.menu-text, +.menu-text span { + font-size: 12px; +} +.menu-shadow { + position: absolute; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + background: #ccc; + -moz-box-shadow: 2px 2px 3px #cccccc; + -webkit-box-shadow: 2px 2px 3px #cccccc; + box-shadow: 2px 2px 3px #cccccc; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.menu-rightarrow { + background: url('images/menu_arrows.png') no-repeat -32px center; +} +.menu-line { + border-left: 1px solid #ccc; + border-right: 1px solid #fff; +} +.menu-sep { + border-top: 1px solid #ccc; + border-bottom: 1px solid #fff; +} +.menu { + background-color: #fafafa; + border-color: #ddd; + color: #444; +} +.menu-content { + background: #ffffff; +} +.menu-item { + border-color: transparent; + _border-color: #fafafa; +} +.menu-active { + border-color: #b7d2ff; + color: #000000; + background: #eaf2ff; +} +.menu-active-disabled { + border-color: transparent; + background: transparent; + color: #444; +} diff --git a/src/main/webapp/css/themes/default/menubutton.css b/src/main/webapp/css/themes/default/menubutton.css new file mode 100644 index 0000000..3445bd5 --- /dev/null +++ b/src/main/webapp/css/themes/default/menubutton.css @@ -0,0 +1,94 @@ +.m-btn-downarrow, +.s-btn-downarrow { + display: inline-block; + position: absolute; + width: 16px; + height: 16px; + font-size: 1px; + right: 0; + top: 50%; + margin-top: -8px; +} +.m-btn-active, +.s-btn-active { + background: #eaf2ff; + color: #000000; + border: 1px solid #b7d2ff; + filter: none; +} +.m-btn-plain-active, +.s-btn-plain-active { + background: transparent; + padding: 0; + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.m-btn .l-btn-left .l-btn-text { + margin-right: 20px; +} +.m-btn .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.m-btn .l-btn-icon-right .l-btn-icon { + right: 20px; +} +.m-btn .l-btn-icon-top .l-btn-text { + margin-right: 4px; + margin-bottom: 14px; +} +.m-btn .l-btn-icon-bottom .l-btn-text { + margin-right: 4px; + margin-bottom: 34px; +} +.m-btn .l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 20px; +} +.m-btn .l-btn-icon-top .m-btn-downarrow, +.m-btn .l-btn-icon-bottom .m-btn-downarrow { + top: auto; + bottom: 0px; + left: 50%; + margin-left: -8px; +} +.m-btn-line { + display: inline-block; + position: absolute; + font-size: 1px; + display: none; +} +.m-btn .l-btn-left .m-btn-line { + right: 0; + width: 16px; + height: 500px; + border-style: solid; + border-color: #aac5e7; + border-width: 0 0 0 1px; +} +.m-btn .l-btn-icon-top .m-btn-line, +.m-btn .l-btn-icon-bottom .m-btn-line { + left: 0; + bottom: 0; + width: 500px; + height: 16px; + border-width: 1px 0 0 0; +} +.m-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 56px; +} +.m-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 50px; +} +.m-btn-downarrow, +.s-btn-downarrow { + background: url('images/menu_arrows.png') no-repeat 0 center; +} +.m-btn-plain-active, +.s-btn-plain-active { + border-color: #b7d2ff; + background-color: #eaf2ff; + color: #000000; +} diff --git a/src/main/webapp/css/themes/default/messager.css b/src/main/webapp/css/themes/default/messager.css new file mode 100644 index 0000000..4794ced --- /dev/null +++ b/src/main/webapp/css/themes/default/messager.css @@ -0,0 +1,44 @@ +.messager-body { + padding: 10px 10px 30px 10px; + overflow: auto; +} +.messager-button { + text-align: center; + padding: 5px; +} +.messager-button .l-btn { + width: 70px; +} +.messager-icon { + float: left; + width: 32px; + height: 32px; + margin: 0 10px 10px 0; +} +.messager-error { + background: url('images/messager_icons.png') no-repeat scroll -64px 0; +} +.messager-info { + background: url('images/messager_icons.png') no-repeat scroll 0 0; +} +.messager-question { + background: url('images/messager_icons.png') no-repeat scroll -32px 0; +} +.messager-warning { + background: url('images/messager_icons.png') no-repeat scroll -96px 0; +} +.messager-progress { + padding: 10px; +} +.messager-p-msg { + margin-bottom: 5px; +} +.messager-body .messager-input { + width: 100%; + padding: 4px 0; + outline-style: none; + border: 1px solid #95B8E7; +} +.window-thinborder .messager-button { + padding-bottom: 8px; +} diff --git a/src/main/webapp/css/themes/default/numberbox.css b/src/main/webapp/css/themes/default/numberbox.css new file mode 100644 index 0000000..e69de29 diff --git a/src/main/webapp/css/themes/default/pagination.css b/src/main/webapp/css/themes/default/pagination.css new file mode 100644 index 0000000..995c8a8 --- /dev/null +++ b/src/main/webapp/css/themes/default/pagination.css @@ -0,0 +1,71 @@ +.pagination { + zoom: 1; +} +.pagination table { + float: left; + height: 30px; +} +.pagination td { + border: 0; +} +.pagination-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ccc; + border-right: 1px solid #fff; + margin: 3px 1px; +} +.pagination .pagination-num { + border-width: 1px; + border-style: solid; + margin: 0 2px; + padding: 2px; + width: 2em; + height: auto; +} +.pagination-page-list { + margin: 0px 6px; + padding: 1px 2px; + width: auto; + height: auto; + border-width: 1px; + border-style: solid; +} +.pagination-info { + float: right; + margin: 0 6px; + padding: 0; + height: 30px; + line-height: 30px; + font-size: 12px; +} +.pagination span { + font-size: 12px; +} +.pagination-link .l-btn-text { + width: 24px; + text-align: center; + margin: 0; +} +.pagination-first { + background: url('images/pagination_icons.png') no-repeat 0 center; +} +.pagination-prev { + background: url('images/pagination_icons.png') no-repeat -16px center; +} +.pagination-next { + background: url('images/pagination_icons.png') no-repeat -32px center; +} +.pagination-last { + background: url('images/pagination_icons.png') no-repeat -48px center; +} +.pagination-load { + background: url('images/pagination_icons.png') no-repeat -64px center; +} +.pagination-loading { + background: url('images/loading.gif') no-repeat center center; +} +.pagination-page-list, +.pagination .pagination-num { + border-color: #95B8E7; +} diff --git a/src/main/webapp/css/themes/default/panel.css b/src/main/webapp/css/themes/default/panel.css new file mode 100644 index 0000000..675e02e --- /dev/null +++ b/src/main/webapp/css/themes/default/panel.css @@ -0,0 +1,265 @@ +.panel { + overflow: hidden; + text-align: left; + margin: 0; + border: 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.panel-header, +.panel-body { + border-width: 1px; + border-style: solid; +} +.panel-header { + padding: 5px; + position: relative; +} +.panel-title { + background: url('images/blank.gif') no-repeat; +} +.panel-header-noborder { + border-width: 0 0 1px 0; +} +.panel-body { + overflow: auto; + border-top-width: 0; + padding: 0; +} +.panel-body-noheader { + border-top-width: 1px; +} +.panel-body-noborder { + border-width: 0px; +} +.panel-body-nobottom { + border-bottom-width: 0; +} +.panel-with-icon { + padding-left: 18px; +} +.panel-icon, +.panel-tool { + position: absolute; + top: 50%; + margin-top: -8px; + height: 16px; + overflow: hidden; +} +.panel-icon { + left: 5px; + width: 16px; +} +.panel-tool { + right: 5px; + width: auto; +} +.panel-tool a { + display: inline-block; + width: 16px; + height: 16px; + opacity: 0.6; + filter: alpha(opacity=60); + margin: 0 0 0 2px; + vertical-align: top; +} +.panel-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + background-color: #eaf2ff; + -moz-border-radius: 3px 3px 3px 3px; + -webkit-border-radius: 3px 3px 3px 3px; + border-radius: 3px 3px 3px 3px; +} +.panel-loading { + padding: 11px 0px 10px 30px; +} +.panel-noscroll { + overflow: hidden; +} +.panel-fit, +.panel-fit body { + height: 100%; + margin: 0; + padding: 0; + border: 0; + overflow: hidden; +} +.panel-loading { + background: url('images/loading.gif') no-repeat 10px 10px; +} +.panel-tool-close { + background: url('images/panel_tools.png') no-repeat -16px 0px; +} +.panel-tool-min { + background: url('images/panel_tools.png') no-repeat 0px 0px; +} +.panel-tool-max { + background: url('images/panel_tools.png') no-repeat 0px -16px; +} +.panel-tool-restore { + background: url('images/panel_tools.png') no-repeat -16px -16px; +} +.panel-tool-collapse { + background: url('images/panel_tools.png') no-repeat -32px 0; +} +.panel-tool-expand { + background: url('images/panel_tools.png') no-repeat -32px -16px; +} +.panel-header, +.panel-body { + border-color: #95B8E7; +} +.panel-header { + background-color: #E0ECFF; + background: -webkit-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); + background: -moz-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); + background: -o-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); + background: linear-gradient(to bottom,#EFF5FF 0,#E0ECFF 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#E0ECFF,GradientType=0); +} +.panel-body { + background-color: #ffffff; + color: #000000; + font-size: 12px; +} +.panel-title { + font-size: 12px; + font-weight: bold; + color: #0E2D5F; + height: 16px; + line-height: 16px; +} +.panel-footer { + border: 1px solid #95B8E7; + overflow: hidden; + background: #F4F4F4; +} +.panel-footer-noborder { + border-width: 1px 0 0 0; +} +.panel-hleft, +.panel-hright { + position: relative; +} +.panel-hleft>.panel-body, +.panel-hright>.panel-body { + position: absolute; +} +.panel-hleft>.panel-header { + float: left; +} +.panel-hright>.panel-header { + float: right; +} +.panel-hleft>.panel-body { + border-top-width: 1px; + border-left-width: 0; +} +.panel-hright>.panel-body { + border-top-width: 1px; + border-right-width: 0; +} +.panel-hleft>.panel-body-nobottom { + border-bottom-width: 1px; + border-right-width: 0; +} +.panel-hright>.panel-body-nobottom { + border-bottom-width: 1px; + border-left-width: 0; +} +.panel-hleft>.panel-footer { + position: absolute; + right: 0; +} +.panel-hright>.panel-footer { + position: absolute; + left: 0; +} +.panel-hleft>.panel-header-noborder { + border-width: 0 1px 0 0; +} +.panel-hright>.panel-header-noborder { + border-width: 0 0 0 1px; +} +.panel-hleft>.panel-body-noborder { + border-width: 0; +} +.panel-hright>.panel-body-noborder { + border-width: 0; +} +.panel-hleft>.panel-body-noheader { + border-left-width: 1px; +} +.panel-hright>.panel-body-noheader { + border-right-width: 1px; +} +.panel-hleft>.panel-footer-noborder { + border-width: 0 0 0 1px; +} +.panel-hright>.panel-footer-noborder { + border-width: 0 1px 0 0; +} +.panel-hleft>.panel-header .panel-icon, +.panel-hright>.panel-header .panel-icon { + margin-top: 0; + top: 5px; +} +.panel-hleft>.panel-header .panel-title, +.panel-hright>.panel-header .panel-title { + position: absolute; + min-width: 16px; + left: 21px; + top: 5px; + bottom: auto; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.panel-hleft>.panel-header .panel-title-up, +.panel-hright>.panel-header .panel-title-up { + position: absolute; + min-width: 16px; + left: 21px; + top: auto; + bottom: 5px; + text-align: right; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 16px; +} +.panel-hleft>.panel-header .panel-with-icon.panel-title-up, +.panel-hright>.panel-header .panel-with-icon.panel-title-up { + padding-left: 0; + padding-right: 18px; +} +.panel-hleft>.panel-header .panel-tool, +.panel-hright>.panel-header .panel-tool { + top: auto; + bottom: 5px; + width: 16px; + height: auto; + left: 50%; + margin-left: -8px; + margin-top: 0; +} +.panel-hleft>.panel-header .panel-tool a, +.panel-hright>.panel-header .panel-tool a { + margin: 2px 0 0 0; +} diff --git a/src/main/webapp/css/themes/default/passwordbox.css b/src/main/webapp/css/themes/default/passwordbox.css new file mode 100644 index 0000000..92c9ce5 --- /dev/null +++ b/src/main/webapp/css/themes/default/passwordbox.css @@ -0,0 +1,6 @@ +.passwordbox-open { + background: url('images/passwordbox_open.png') no-repeat center center; +} +.passwordbox-close { + background: url('images/passwordbox_close.png') no-repeat center center; +} diff --git a/src/main/webapp/css/themes/default/progressbar.css b/src/main/webapp/css/themes/default/progressbar.css new file mode 100644 index 0000000..e4d3003 --- /dev/null +++ b/src/main/webapp/css/themes/default/progressbar.css @@ -0,0 +1,32 @@ +.progressbar { + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + overflow: hidden; + position: relative; +} +.progressbar-text { + text-align: center; + position: absolute; +} +.progressbar-value { + position: relative; + overflow: hidden; + width: 0; + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.progressbar { + border-color: #95B8E7; +} +.progressbar-text { + color: #000000; + font-size: 12px; +} +.progressbar-value .progressbar-text { + background-color: #ffe48d; + color: #000000; +} diff --git a/src/main/webapp/css/themes/default/propertygrid.css b/src/main/webapp/css/themes/default/propertygrid.css new file mode 100644 index 0000000..5f5fbb3 --- /dev/null +++ b/src/main/webapp/css/themes/default/propertygrid.css @@ -0,0 +1,28 @@ +.propertygrid .datagrid-view1 .datagrid-body td { + padding-bottom: 1px; + border-width: 0 1px 0 0; +} +.propertygrid .datagrid-group { + height: 21px; + overflow: hidden; + border-width: 0 0 1px 0; + border-style: solid; +} +.propertygrid .datagrid-group span { + font-weight: bold; +} +.propertygrid .datagrid-view1 .datagrid-body td { + border-color: #dddddd; +} +.propertygrid .datagrid-view1 .datagrid-group { + border-color: #E0ECFF; +} +.propertygrid .datagrid-view2 .datagrid-group { + border-color: #dddddd; +} +.propertygrid .datagrid-group, +.propertygrid .datagrid-view1 .datagrid-body, +.propertygrid .datagrid-view1 .datagrid-row-over, +.propertygrid .datagrid-view1 .datagrid-row-selected { + background: #E0ECFF; +} diff --git a/src/main/webapp/css/themes/default/searchbox.css b/src/main/webapp/css/themes/default/searchbox.css new file mode 100644 index 0000000..ada5ce3 --- /dev/null +++ b/src/main/webapp/css/themes/default/searchbox.css @@ -0,0 +1,61 @@ +.searchbox-button { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.searchbox-button-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.searchbox .l-btn-plain { + border: 0; + padding: 0; + vertical-align: top; + opacity: 0.6; + filter: alpha(opacity=60); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .l-btn-plain:hover { + border: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox a.m-btn-plain-active { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .m-btn-active { + border-width: 0 1px 0 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .textbox-button-right { + border-width: 0 0 0 1px; +} +.searchbox .textbox-button-left { + border-width: 0 1px 0 0; +} +.searchbox-button { + background: url('images/searchbox_button.png') no-repeat center center; +} +.searchbox .l-btn-plain { + background: #E0ECFF; +} +.searchbox .l-btn-plain-disabled, +.searchbox .l-btn-plain-disabled:hover { + opacity: 0.5; + filter: alpha(opacity=50); +} diff --git a/src/main/webapp/css/themes/default/slider.css b/src/main/webapp/css/themes/default/slider.css new file mode 100644 index 0000000..f51f986 --- /dev/null +++ b/src/main/webapp/css/themes/default/slider.css @@ -0,0 +1,101 @@ +.slider-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-h { + height: 22px; +} +.slider-v { + width: 22px; +} +.slider-inner { + position: relative; + height: 6px; + top: 7px; + border-width: 1px; + border-style: solid; + border-radius: 5px; +} +.slider-handle { + position: absolute; + display: block; + outline: none; + width: 20px; + height: 20px; + top: 50%; + margin-top: -10px; + margin-left: -10px; +} +.slider-tip { + position: absolute; + display: inline-block; + line-height: 12px; + font-size: 12px; + white-space: nowrap; + top: -22px; +} +.slider-rule { + position: relative; + top: 15px; +} +.slider-rule span { + position: absolute; + display: inline-block; + font-size: 0; + height: 5px; + border-width: 0 0 0 1px; + border-style: solid; +} +.slider-rulelabel { + position: relative; + top: 20px; +} +.slider-rulelabel span { + position: absolute; + display: inline-block; + font-size: 12px; +} +.slider-v .slider-inner { + width: 6px; + left: 7px; + top: 0; + float: left; +} +.slider-v .slider-handle { + left: 50%; + margin-top: -10px; +} +.slider-v .slider-tip { + left: -10px; + margin-top: -6px; +} +.slider-v .slider-rule { + float: left; + top: 0; + left: 16px; +} +.slider-v .slider-rule span { + width: 5px; + height: 'auto'; + border-left: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.slider-v .slider-rulelabel { + float: left; + top: 0; + left: 23px; +} +.slider-handle { + background: url('images/slider_handle.png') no-repeat; +} +.slider-inner { + border-color: #95B8E7; + background: #E0ECFF; +} +.slider-rule span { + border-color: #95B8E7; +} +.slider-rulelabel span { + color: #000000; +} diff --git a/src/main/webapp/css/themes/default/spinner.css b/src/main/webapp/css/themes/default/spinner.css new file mode 100644 index 0000000..e2df29b --- /dev/null +++ b/src/main/webapp/css/themes/default/spinner.css @@ -0,0 +1,58 @@ +.spinner-arrow { + background-color: #E0ECFF; + display: inline-block; + overflow: hidden; + vertical-align: top; + margin: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + width: 18px; +} +.spinner-arrow-up, +.spinner-arrow-down { + opacity: 0.6; + filter: alpha(opacity=60); + display: block; + font-size: 1px; + width: 18px; + height: 10px; + width: 100%; + height: 50%; + color: #444; + outline-style: none; +} +.spinner-arrow-hover { + background-color: #eaf2ff; + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-arrow-up:hover, +.spinner-arrow-down:hover { + opacity: 1.0; + filter: alpha(opacity=100); + background-color: #eaf2ff; +} +.textbox-icon-disabled .spinner-arrow-up:hover, +.textbox-icon-disabled .spinner-arrow-down:hover { + opacity: 0.6; + filter: alpha(opacity=60); + background-color: #E0ECFF; + cursor: default; +} +.spinner .textbox-icon-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-arrow-up { + background: url('images/spinner_arrows.png') no-repeat 1px center; +} +.spinner-arrow-down { + background: url('images/spinner_arrows.png') no-repeat -15px center; +} +.spinner-button-up { + background: url('images/spinner_arrows.png') no-repeat -32px center; +} +.spinner-button-down { + background: url('images/spinner_arrows.png') no-repeat -48px center; +} diff --git a/src/main/webapp/css/themes/default/splitbutton.css b/src/main/webapp/css/themes/default/splitbutton.css new file mode 100644 index 0000000..86d6da5 --- /dev/null +++ b/src/main/webapp/css/themes/default/splitbutton.css @@ -0,0 +1,12 @@ +.s-btn:hover .m-btn-line, +.s-btn-active .m-btn-line, +.s-btn-plain-active .m-btn-line { + display: inline-block; +} +.l-btn:hover .s-btn-downarrow, +.s-btn-active .s-btn-downarrow, +.s-btn-plain-active .s-btn-downarrow { + border-style: solid; + border-color: #aac5e7; + border-width: 0 0 0 1px; +} diff --git a/src/main/webapp/css/themes/default/switchbutton.css b/src/main/webapp/css/themes/default/switchbutton.css new file mode 100644 index 0000000..20818ab --- /dev/null +++ b/src/main/webapp/css/themes/default/switchbutton.css @@ -0,0 +1,77 @@ +.switchbutton { + text-decoration: none; + display: inline-block; + overflow: hidden; + vertical-align: middle; + margin: 0; + padding: 0; + cursor: pointer; + background: #bbb; + border: 1px solid #bbb; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.switchbutton-inner { + display: inline-block; + overflow: hidden; + position: relative; + top: -1px; + left: -1px; +} +.switchbutton-on, +.switchbutton-off, +.switchbutton-handle { + display: inline-block; + text-align: center; + height: 100%; + float: left; + font-size: 12px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.switchbutton-on { + background: #ffe48d; + color: #000000; +} +.switchbutton-off { + background-color: #ffffff; + color: #000000; +} +.switchbutton-on, +.switchbutton-reversed .switchbutton-off { + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.switchbutton-off, +.switchbutton-reversed .switchbutton-on { + -moz-border-radius: 0 5px 5px 0; + -webkit-border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; +} +.switchbutton-handle { + position: absolute; + top: 0; + left: 50%; + background-color: #ffffff; + color: #000000; + border: 1px solid #bbb; + -moz-box-shadow: 0 0 3px 0 #bbb; + -webkit-box-shadow: 0 0 3px 0 #bbb; + box-shadow: 0 0 3px 0 #bbb; +} +.switchbutton-value { + position: absolute; + top: 0; + left: -5000px; +} +.switchbutton-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.switchbutton-disabled, +.switchbutton-readonly { + cursor: default; +} diff --git a/src/main/webapp/css/themes/default/tabs.css b/src/main/webapp/css/themes/default/tabs.css new file mode 100644 index 0000000..d5d84e8 --- /dev/null +++ b/src/main/webapp/css/themes/default/tabs.css @@ -0,0 +1,413 @@ +.tabs-container { + overflow: hidden; +} +.tabs-header { + border-width: 1px; + border-style: solid; + border-bottom-width: 0; + position: relative; + padding: 0; + padding-top: 2px; + overflow: hidden; +} +.tabs-scroller-left, +.tabs-scroller-right { + position: absolute; + top: auto; + bottom: 0; + width: 18px; + font-size: 1px; + display: none; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.tabs-scroller-left { + left: 0; +} +.tabs-scroller-right { + right: 0; +} +.tabs-tool { + position: absolute; + bottom: 0; + padding: 1px; + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.tabs-header-plain .tabs-tool { + padding: 0 1px; +} +.tabs-wrap { + position: relative; + left: 0; + overflow: hidden; + width: 100%; + margin: 0; + padding: 0; +} +.tabs-scrolling { + margin-left: 18px; + margin-right: 18px; +} +.tabs-disabled { + opacity: 0.3; + filter: alpha(opacity=30); +} +.tabs { + list-style-type: none; + height: 26px; + margin: 0px; + padding: 0px; + padding-left: 4px; + width: 50000px; + border-style: solid; + border-width: 0 0 1px 0; +} +.tabs li { + float: left; + display: inline-block; + margin: 0 4px -1px 0; + padding: 0; + position: relative; + border: 0; +} +.tabs li a.tabs-inner { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0 10px; + height: 25px; + line-height: 25px; + text-align: center; + white-space: nowrap; + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 0 0; + -webkit-border-radius: 5px 5px 0 0; + border-radius: 5px 5px 0 0; +} +.tabs li.tabs-selected a.tabs-inner { + font-weight: bold; + outline: none; +} +.tabs li.tabs-selected a:hover.tabs-inner { + cursor: default; + pointer: default; +} +.tabs li a.tabs-close, +.tabs-p-tool { + position: absolute; + font-size: 1px; + display: block; + height: 12px; + padding: 0; + top: 50%; + margin-top: -6px; + overflow: hidden; +} +.tabs li a.tabs-close { + width: 12px; + right: 5px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs-p-tool { + right: 16px; +} +.tabs-p-tool a { + display: inline-block; + font-size: 1px; + width: 12px; + height: 12px; + margin: 0; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs li a:hover.tabs-close, +.tabs-p-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + cursor: hand; + cursor: pointer; +} +.tabs-with-icon { + padding-left: 18px; +} +.tabs-icon { + position: absolute; + width: 16px; + height: 16px; + left: 10px; + top: 50%; + margin-top: -8px; +} +.tabs-title { + font-size: 12px; +} +.tabs-closable { + padding-right: 8px; +} +.tabs-panels { + margin: 0px; + padding: 0px; + border-width: 1px; + border-style: solid; + border-top-width: 0; + overflow: hidden; +} +.tabs-header-bottom { + border-width: 0 1px 1px 1px; + padding: 0 0 2px 0; +} +.tabs-header-bottom .tabs { + border-width: 1px 0 0 0; +} +.tabs-header-bottom .tabs li { + margin: -1px 4px 0 0; +} +.tabs-header-bottom .tabs li a.tabs-inner { + -moz-border-radius: 0 0 5px 5px; + -webkit-border-radius: 0 0 5px 5px; + border-radius: 0 0 5px 5px; +} +.tabs-header-bottom .tabs-tool { + top: 0; +} +.tabs-header-bottom .tabs-scroller-left, +.tabs-header-bottom .tabs-scroller-right { + top: 0; + bottom: auto; +} +.tabs-panels-top { + border-width: 1px 1px 0 1px; +} +.tabs-header-left { + float: left; + border-width: 1px 0 1px 1px; + padding: 0; +} +.tabs-header-right { + float: right; + border-width: 1px 1px 1px 0; + padding: 0; +} +.tabs-header-left .tabs-wrap, +.tabs-header-right .tabs-wrap { + height: 100%; +} +.tabs-header-left .tabs { + height: 100%; + padding: 4px 0 0 2px; + border-width: 0 1px 0 0; +} +.tabs-header-right .tabs { + height: 100%; + padding: 4px 2px 0 0; + border-width: 0 0 0 1px; +} +.tabs-header-left .tabs li, +.tabs-header-right .tabs li { + display: block; + width: 100%; + position: relative; +} +.tabs-header-left .tabs li { + left: auto; + right: 0; + margin: 0 -1px 4px 0; + float: right; +} +.tabs-header-right .tabs li { + left: 0; + right: auto; + margin: 0 0 4px -1px; + float: left; +} +.tabs-justified li a.tabs-inner { + padding-left: 0; + padding-right: 0; +} +.tabs-header-left .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.tabs-header-right .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 0 5px 5px 0; + -webkit-border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; +} +.tabs-panels-right { + float: right; + border-width: 1px 1px 1px 0; +} +.tabs-panels-left { + float: left; + border-width: 1px 0 1px 1px; +} +.tabs-header-noborder, +.tabs-panels-noborder { + border: 0px; +} +.tabs-header-plain { + border: 0px; + background: transparent; +} +.tabs-pill { + padding-bottom: 3px; +} +.tabs-header-bottom .tabs-pill { + padding-top: 3px; + padding-bottom: 0; +} +.tabs-header-left .tabs-pill { + padding-right: 3px; +} +.tabs-header-right .tabs-pill { + padding-left: 3px; +} +.tabs-header .tabs-pill li a.tabs-inner { + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.tabs-header-narrow, +.tabs-header-narrow .tabs-narrow { + padding: 0; +} +.tabs-narrow li, +.tabs-header-bottom .tabs-narrow li { + margin-left: 0; + margin-right: -1px; +} +.tabs-narrow li.tabs-last, +.tabs-header-bottom .tabs-narrow li.tabs-last { + margin-right: 0; +} +.tabs-header-left .tabs-narrow, +.tabs-header-right .tabs-narrow { + padding-top: 0; +} +.tabs-header-left .tabs-narrow li { + margin-bottom: -1px; + margin-right: -1px; +} +.tabs-header-left .tabs-narrow li.tabs-last, +.tabs-header-right .tabs-narrow li.tabs-last { + margin-bottom: 0; +} +.tabs-header-right .tabs-narrow li { + margin-bottom: -1px; + margin-left: -1px; +} +.tabs-scroller-left { + background: #E0ECFF url('images/tabs_icons.png') no-repeat 1px center; +} +.tabs-scroller-right { + background: #E0ECFF url('images/tabs_icons.png') no-repeat -15px center; +} +.tabs li a.tabs-close { + background: url('images/tabs_icons.png') no-repeat -34px center; +} +.tabs li a.tabs-inner:hover { + background: #eaf2ff; + color: #000000; + filter: none; +} +.tabs li.tabs-selected a.tabs-inner { + background-color: #ffffff; + color: #0E2D5F; + background: -webkit-linear-gradient(top,#EFF5FF 0,#ffffff 100%); + background: -moz-linear-gradient(top,#EFF5FF 0,#ffffff 100%); + background: -o-linear-gradient(top,#EFF5FF 0,#ffffff 100%); + background: linear-gradient(to bottom,#EFF5FF 0,#ffffff 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#ffffff,GradientType=0); +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(top,#ffffff 0,#EFF5FF 100%); + background: -moz-linear-gradient(top,#ffffff 0,#EFF5FF 100%); + background: -o-linear-gradient(top,#ffffff 0,#EFF5FF 100%); + background: linear-gradient(to bottom,#ffffff 0,#EFF5FF 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#EFF5FF,GradientType=0); +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(left,#EFF5FF 0,#ffffff 100%); + background: -moz-linear-gradient(left,#EFF5FF 0,#ffffff 100%); + background: -o-linear-gradient(left,#EFF5FF 0,#ffffff 100%); + background: linear-gradient(to right,#EFF5FF 0,#ffffff 100%); + background-repeat: repeat-y; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#ffffff,GradientType=1); +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(left,#ffffff 0,#EFF5FF 100%); + background: -moz-linear-gradient(left,#ffffff 0,#EFF5FF 100%); + background: -o-linear-gradient(left,#ffffff 0,#EFF5FF 100%); + background: linear-gradient(to right,#ffffff 0,#EFF5FF 100%); + background-repeat: repeat-y; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#EFF5FF,GradientType=1); +} +.tabs li a.tabs-inner { + color: #0E2D5F; + background-color: #E0ECFF; + background: -webkit-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); + background: -moz-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); + background: -o-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%); + background: linear-gradient(to bottom,#EFF5FF 0,#E0ECFF 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#E0ECFF,GradientType=0); +} +.tabs-header, +.tabs-tool { + background-color: #E0ECFF; +} +.tabs-header-plain { + background: transparent; +} +.tabs-header, +.tabs-scroller-left, +.tabs-scroller-right, +.tabs-tool, +.tabs, +.tabs-panels, +.tabs li a.tabs-inner, +.tabs li.tabs-selected a.tabs-inner, +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, +.tabs-header-left .tabs li.tabs-selected a.tabs-inner, +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-color: #95B8E7; +} +.tabs-p-tool a:hover, +.tabs li a:hover.tabs-close, +.tabs-scroller-over { + background-color: #eaf2ff; +} +.tabs li.tabs-selected a.tabs-inner { + border-bottom: 1px solid #ffffff; +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + border-top: 1px solid #ffffff; +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + border-right: 1px solid #ffffff; +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-left: 1px solid #ffffff; +} +.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { + background: #ffe48d; + color: #000000; + filter: none; + border-color: #95B8E7; +} diff --git a/src/main/webapp/css/themes/default/tagbox.css b/src/main/webapp/css/themes/default/tagbox.css new file mode 100644 index 0000000..67d51a3 --- /dev/null +++ b/src/main/webapp/css/themes/default/tagbox.css @@ -0,0 +1,44 @@ +.tagbox { + cursor: text; +} +.tagbox .textbox-text { + float: left; +} +.tagbox-label { + position: relative; + display: block; + margin: 4px 0 0 4px; + padding: 0 20px 0 4px; + float: left; + vertical-align: top; + text-decoration: none; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + background: #eaf2ff; + color: #000000; +} +.tagbox-remove { + background: url('images/tagbox_icons.png') no-repeat -16px center; + position: absolute; + display: block; + width: 16px; + height: 16px; + right: 2px; + top: 50%; + margin-top: -8px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tagbox-remove:hover { + opacity: 1; + filter: alpha(opacity=100); +} +.textbox-disabled .tagbox-label { + cursor: default; +} +.textbox-disabled .tagbox-remove:hover { + cursor: default; + opacity: 0.6; + filter: alpha(opacity=60); +} diff --git a/src/main/webapp/css/themes/default/textbox.css b/src/main/webapp/css/themes/default/textbox.css new file mode 100644 index 0000000..ae2d963 --- /dev/null +++ b/src/main/webapp/css/themes/default/textbox.css @@ -0,0 +1,139 @@ +.textbox { + position: relative; + border: 1px solid #95B8E7; + background-color: #fff; + vertical-align: middle; + display: inline-block; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.textbox .textbox-text { + font-size: 12px; + border: 0; + margin: 0; + padding: 4px; + white-space: normal; + vertical-align: top; + outline-style: none; + resize: none; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.textbox .textbox-text::-ms-clear, +.textbox .textbox-text::-ms-reveal { + display: none; +} +.textbox textarea.textbox-text { + white-space: pre-wrap; +} +.textbox .textbox-prompt { + font-size: 12px; + color: #aaa; +} +.textbox .textbox-bgicon { + background-position: 3px center; + padding-left: 21px; +} +.textbox .textbox-button, +.textbox .textbox-button:hover { + position: absolute; + top: 0; + padding: 0; + vertical-align: top; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.textbox .textbox-button-right, +.textbox .textbox-button-right:hover { + right: 0; + border-width: 0 0 0 1px; +} +.textbox .textbox-button-left, +.textbox .textbox-button-left:hover { + left: 0; + border-width: 0 1px 0 0; +} +.textbox .textbox-button-top, +.textbox .textbox-button-top:hover { + left: 0; + border-width: 0 0 1px 0; +} +.textbox .textbox-button-bottom, +.textbox .textbox-button-bottom:hover { + top: auto; + bottom: 0; + left: 0; + border-width: 1px 0 0 0; +} +.textbox-addon { + position: absolute; + top: 0; +} +.textbox-label { + display: inline-block; + width: 80px; + height: 22px; + line-height: 22px; + vertical-align: middle; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + margin: 0; + padding-right: 5px; +} +.textbox-label-after { + padding-left: 5px; + padding-right: 0; +} +.textbox-label-top { + display: block; + width: auto; + padding: 0; +} +.textbox-disabled, +.textbox-label-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-icon { + display: inline-block; + width: 18px; + height: 20px; + overflow: hidden; + vertical-align: top; + background-position: center center; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); + text-decoration: none; + outline-style: none; +} +.textbox-icon-disabled, +.textbox-icon-readonly { + cursor: default; +} +.textbox-icon:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.textbox-icon-disabled:hover { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-focused { + border-color: #6b9cde; + -moz-box-shadow: 0 0 3px 0 #95B8E7; + -webkit-box-shadow: 0 0 3px 0 #95B8E7; + box-shadow: 0 0 3px 0 #95B8E7; +} +.textbox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; +} diff --git a/src/main/webapp/css/themes/default/tooltip.css b/src/main/webapp/css/themes/default/tooltip.css new file mode 100644 index 0000000..9294d9d --- /dev/null +++ b/src/main/webapp/css/themes/default/tooltip.css @@ -0,0 +1,103 @@ +.tooltip { + position: absolute; + display: none; + z-index: 9900000; + outline: none; + opacity: 1; + filter: alpha(opacity=100); + padding: 5px; + border-width: 1px; + border-style: solid; + border-radius: 5px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.tooltip-content { + font-size: 12px; +} +.tooltip-arrow-outer, +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + line-height: 0; + font-size: 0; + border-style: solid; + border-width: 6px; + border-color: transparent; + _border-color: tomato; + _filter: chroma(color=tomato); +} +.tooltip-arrow { + display: none \9; +} +.tooltip-right .tooltip-arrow-outer { + left: 0; + top: 50%; + margin: -6px 0 0 -13px; +} +.tooltip-right .tooltip-arrow { + left: 0; + top: 50%; + margin: -6px 0 0 -12px; +} +.tooltip-left .tooltip-arrow-outer { + right: 0; + top: 50%; + margin: -6px -13px 0 0; +} +.tooltip-left .tooltip-arrow { + right: 0; + top: 50%; + margin: -6px -12px 0 0; +} +.tooltip-top .tooltip-arrow-outer { + bottom: 0; + left: 50%; + margin: 0 0 -13px -6px; +} +.tooltip-top .tooltip-arrow { + bottom: 0; + left: 50%; + margin: 0 0 -12px -6px; +} +.tooltip-bottom .tooltip-arrow-outer { + top: 0; + left: 50%; + margin: -13px 0 0 -6px; +} +.tooltip-bottom .tooltip-arrow { + top: 0; + left: 50%; + margin: -12px 0 0 -6px; +} +.tooltip { + background-color: #ffffff; + border-color: #95B8E7; + color: #000000; +} +.tooltip-right .tooltip-arrow-outer { + border-right-color: #95B8E7; +} +.tooltip-right .tooltip-arrow { + border-right-color: #ffffff; +} +.tooltip-left .tooltip-arrow-outer { + border-left-color: #95B8E7; +} +.tooltip-left .tooltip-arrow { + border-left-color: #ffffff; +} +.tooltip-top .tooltip-arrow-outer { + border-top-color: #95B8E7; +} +.tooltip-top .tooltip-arrow { + border-top-color: #ffffff; +} +.tooltip-bottom .tooltip-arrow-outer { + border-bottom-color: #95B8E7; +} +.tooltip-bottom .tooltip-arrow { + border-bottom-color: #ffffff; +} diff --git a/src/main/webapp/css/themes/default/tree.css b/src/main/webapp/css/themes/default/tree.css new file mode 100644 index 0000000..d6f5e16 --- /dev/null +++ b/src/main/webapp/css/themes/default/tree.css @@ -0,0 +1,161 @@ +.tree { + margin: 0; + padding: 0; + list-style-type: none; +} +.tree li { + white-space: nowrap; +} +.tree li ul { + list-style-type: none; + margin: 0; + padding: 0; +} +.tree-node { + height: 18px; + white-space: nowrap; + cursor: pointer; +} +.tree-hit { + cursor: pointer; +} +.tree-expanded, +.tree-collapsed, +.tree-folder, +.tree-file, +.tree-checkbox, +.tree-indent { + display: inline-block; + width: 16px; + height: 18px; + vertical-align: top; + overflow: hidden; +} +.tree-expanded { + background: url('images/tree_icons.png') no-repeat -18px 0px; +} +.tree-expanded-hover { + background: url('images/tree_icons.png') no-repeat -50px 0px; +} +.tree-collapsed { + background: url('images/tree_icons.png') no-repeat 0px 0px; +} +.tree-collapsed-hover { + background: url('images/tree_icons.png') no-repeat -32px 0px; +} +.tree-lines .tree-expanded, +.tree-lines .tree-root-first .tree-expanded { + background: url('images/tree_icons.png') no-repeat -144px 0; +} +.tree-lines .tree-collapsed, +.tree-lines .tree-root-first .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -128px 0; +} +.tree-lines .tree-node-last .tree-expanded, +.tree-lines .tree-root-one .tree-expanded { + background: url('images/tree_icons.png') no-repeat -80px 0; +} +.tree-lines .tree-node-last .tree-collapsed, +.tree-lines .tree-root-one .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -64px 0; +} +.tree-line { + background: url('images/tree_icons.png') no-repeat -176px 0; +} +.tree-join { + background: url('images/tree_icons.png') no-repeat -192px 0; +} +.tree-joinbottom { + background: url('images/tree_icons.png') no-repeat -160px 0; +} +.tree-folder { + background: url('images/tree_icons.png') no-repeat -208px 0; +} +.tree-folder-open { + background: url('images/tree_icons.png') no-repeat -224px 0; +} +.tree-file { + background: url('images/tree_icons.png') no-repeat -240px 0; +} +.tree-loading { + background: url('images/loading.gif') no-repeat center center; +} +.tree-checkbox0 { + background: url('images/tree_icons.png') no-repeat -208px -18px; +} +.tree-checkbox1 { + background: url('images/tree_icons.png') no-repeat -224px -18px; +} +.tree-checkbox2 { + background: url('images/tree_icons.png') no-repeat -240px -18px; +} +.tree-title { + font-size: 12px; + display: inline-block; + text-decoration: none; + vertical-align: top; + white-space: nowrap; + padding: 0 2px; + height: 18px; + line-height: 18px; +} +.tree-node-proxy { + font-size: 12px; + line-height: 20px; + padding: 0 2px 0 20px; + border-width: 1px; + border-style: solid; + z-index: 9900000; +} +.tree-dnd-icon { + display: inline-block; + position: absolute; + width: 16px; + height: 18px; + left: 2px; + top: 50%; + margin-top: -9px; +} +.tree-dnd-yes { + background: url('images/tree_icons.png') no-repeat -256px 0; +} +.tree-dnd-no { + background: url('images/tree_icons.png') no-repeat -256px -18px; +} +.tree-node-top { + border-top: 1px dotted red; +} +.tree-node-bottom { + border-bottom: 1px dotted red; +} +.tree-node-append .tree-title { + border: 1px dotted red; +} +.tree-editor { + border: 1px solid #95B8E7; + font-size: 12px; + line-height: 16px; + padding: 0 4px; + margin: 0; + width: 80px; + outline-style: none; + vertical-align: top; + position: absolute; + top: 0; +} +.tree-node-proxy { + background-color: #ffffff; + color: #000000; + border-color: #95B8E7; +} +.tree-node-hover { + background: #eaf2ff; + color: #000000; +} +.tree-node-selected { + background: #ffe48d; + color: #000000; +} +.tree-node-hidden { + display: none; +} diff --git a/src/main/webapp/css/themes/default/validatebox.css b/src/main/webapp/css/themes/default/validatebox.css new file mode 100644 index 0000000..1fc3ad6 --- /dev/null +++ b/src/main/webapp/css/themes/default/validatebox.css @@ -0,0 +1,5 @@ +.validatebox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; + color: #000; +} diff --git a/src/main/webapp/css/themes/default/window.css b/src/main/webapp/css/themes/default/window.css new file mode 100644 index 0000000..ee7e8bd --- /dev/null +++ b/src/main/webapp/css/themes/default/window.css @@ -0,0 +1,183 @@ +.window { + overflow: hidden; + padding: 5px; + border-width: 1px; + border-style: solid; +} +.window .window-header { + background: transparent; + padding: 0px 0px 6px 0px; +} +.window .window-body { + border-width: 1px; + border-style: solid; + border-top-width: 0px; +} +.window .window-body-noheader { + border-top-width: 1px; +} +.window .panel-body-nobottom { + border-bottom-width: 0; +} +.window .window-header .panel-icon, +.window .window-header .panel-tool { + top: 50%; + margin-top: -11px; +} +.window .window-header .panel-icon { + left: 1px; +} +.window .window-header .panel-tool { + right: 1px; +} +.window .window-header .panel-with-icon { + padding-left: 18px; +} +.window-proxy { + position: absolute; + overflow: hidden; +} +.window-proxy-mask { + position: absolute; + filter: alpha(opacity=5); + opacity: 0.05; +} +.window-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + filter: alpha(opacity=40); + opacity: 0.40; + font-size: 1px; + overflow: hidden; +} +.window, +.window-shadow { + position: absolute; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.window-shadow { + background: #ccc; + -moz-box-shadow: 2px 2px 3px #cccccc; + -webkit-box-shadow: 2px 2px 3px #cccccc; + box-shadow: 2px 2px 3px #cccccc; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.window, +.window .window-body { + border-color: #95B8E7; +} +.window { + background-color: #E0ECFF; + background: -webkit-linear-gradient(top,#EFF5FF 0,#E0ECFF 20%); + background: -moz-linear-gradient(top,#EFF5FF 0,#E0ECFF 20%); + background: -o-linear-gradient(top,#EFF5FF 0,#E0ECFF 20%); + background: linear-gradient(to bottom,#EFF5FF 0,#E0ECFF 20%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#E0ECFF,GradientType=0); +} +.window-proxy { + border: 1px dashed #95B8E7; +} +.window-proxy-mask, +.window-mask { + background: #ccc; +} +.window .panel-footer { + border: 1px solid #95B8E7; + position: relative; + top: -1px; +} +.window-thinborder { + padding: 0; +} +.window-thinborder .window-header { + padding: 5px 5px 6px 5px; +} +.window-thinborder .window-body { + border-width: 0px; +} +.window-thinborder .window-header .panel-icon, +.window-thinborder .window-header .panel-tool { + margin-top: -9px; + margin-left: 5px; + margin-right: 5px; +} +.window-noborder { + border: 0; +} +.window.panel-hleft .window-header { + padding: 0 6px 0 0; +} +.window.panel-hright .window-header { + padding: 0 0 0 6px; +} +.window.panel-hleft>.panel-header .panel-title { + top: auto; + left: 16px; +} +.window.panel-hright>.panel-header .panel-title { + top: auto; + right: 16px; +} +.window.panel-hleft>.panel-header .panel-title-up, +.window.panel-hright>.panel-header .panel-title-up { + bottom: 0; +} +.window.panel-hleft .window-body { + border-width: 1px 1px 1px 0; +} +.window.panel-hright .window-body { + border-width: 1px 0 1px 1px; +} +.window.panel-hleft .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: 0; +} +.window.panel-hright .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: auto; + right: 1px; +} +.window.panel-hleft .window-header .panel-tool, +.window.panel-hright .window-header .panel-tool { + margin-top: 0; + top: auto; + bottom: 1px; + right: auto; + margin-right: 0; + left: 50%; + margin-left: -11px; +} +.window.panel-hright .window-header .panel-tool { + left: auto; + right: 1px; +} +.window-thinborder.panel-hleft .window-header { + padding: 5px 6px 5px 5px; +} +.window-thinborder.panel-hright .window-header { + padding: 5px 5px 5px 6px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title { + left: 21px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title-up, +.window-thinborder.panel-hright>.panel-header .panel-title-up { + bottom: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-icon, +.window-thinborder.panel-hright .window-header .panel-icon { + margin-top: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-tool, +.window-thinborder.panel-hright .window-header .panel-tool { + left: 16px; + bottom: 5px; +} diff --git a/src/main/webapp/css/themes/gray/accordion.css b/src/main/webapp/css/themes/gray/accordion.css new file mode 100644 index 0000000..3226cb3 --- /dev/null +++ b/src/main/webapp/css/themes/gray/accordion.css @@ -0,0 +1,89 @@ +.accordion { + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.accordion .accordion-header { + border-width: 0 0 1px; + cursor: pointer; +} +.accordion .accordion-body { + border-width: 0 0 1px; +} +.accordion-noborder { + border-width: 0; +} +.accordion-noborder .accordion-header { + border-width: 0 0 1px; +} +.accordion-noborder .accordion-body { + border-width: 0 0 1px; +} +.accordion-collapse { + background: url('images/accordion_arrows.png') no-repeat 0 0; +} +.accordion-expand { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.accordion { + background: #ffffff; + border-color: #D3D3D3; +} +.accordion .accordion-header { + background: #f3f3f3; + filter: none; +} +.accordion .accordion-header-selected { + background: #0092DC; +} +.accordion .accordion-header-selected .panel-title { + color: #fff; +} +.accordion .panel-last > .accordion-header { + border-bottom-color: #f3f3f3; +} +.accordion .panel-last > .accordion-body { + border-bottom-color: #ffffff; +} +.accordion .panel-last > .accordion-header-selected, +.accordion .panel-last > .accordion-header-border { + border-bottom-color: #D3D3D3; +} +.accordion> .panel-hleft { + float: left; +} +.accordion> .panel-hleft>.panel-header { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft> .panel-body { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft.panel-last > .accordion-header { + border-right-color: #f3f3f3; +} +.accordion> .panel-hleft.panel-last > .accordion-body { + border-right-color: #ffffff; +} +.accordion> .panel-hleft.panel-last > .accordion-header-selected, +.accordion> .panel-hleft.panel-last > .accordion-header-border { + border-right-color: #D3D3D3; +} +.accordion> .panel-hright { + float: right; +} +.accordion> .panel-hright>.panel-header { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright> .panel-body { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright.panel-last > .accordion-header { + border-left-color: #f3f3f3; +} +.accordion> .panel-hright.panel-last > .accordion-body { + border-left-color: #ffffff; +} +.accordion> .panel-hright.panel-last > .accordion-header-selected, +.accordion> .panel-hright.panel-last > .accordion-header-border { + border-left-color: #D3D3D3; +} diff --git a/src/main/webapp/css/themes/gray/calendar.css b/src/main/webapp/css/themes/gray/calendar.css new file mode 100644 index 0000000..a020472 --- /dev/null +++ b/src/main/webapp/css/themes/gray/calendar.css @@ -0,0 +1,202 @@ +.calendar { + border-width: 1px; + border-style: solid; + padding: 1px; + overflow: hidden; +} +.calendar table { + table-layout: fixed; + border-collapse: separate; + font-size: 12px; + width: 100%; + height: 100%; +} +.calendar table td, +.calendar table th { + font-size: 12px; +} +.calendar-noborder { + border: 0; +} +.calendar-header { + position: relative; + height: 22px; +} +.calendar-title { + text-align: center; + height: 22px; +} +.calendar-title span { + position: relative; + display: inline-block; + top: 2px; + padding: 0 3px; + height: 18px; + line-height: 18px; + font-size: 12px; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-prevmonth, +.calendar-nextmonth, +.calendar-prevyear, +.calendar-nextyear { + position: absolute; + top: 50%; + margin-top: -7px; + width: 14px; + height: 14px; + cursor: pointer; + font-size: 1px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-prevmonth { + left: 20px; + background: url('images/calendar_arrows.png') no-repeat -18px -2px; +} +.calendar-nextmonth { + right: 20px; + background: url('images/calendar_arrows.png') no-repeat -34px -2px; +} +.calendar-prevyear { + left: 3px; + background: url('images/calendar_arrows.png') no-repeat -1px -2px; +} +.calendar-nextyear { + right: 3px; + background: url('images/calendar_arrows.png') no-repeat -49px -2px; +} +.calendar-body { + position: relative; +} +.calendar-body th, +.calendar-body td { + text-align: center; +} +.calendar-day { + border: 0; + padding: 1px; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-other-month { + opacity: 0.3; + filter: alpha(opacity=30); +} +.calendar-disabled { + opacity: 0.6; + filter: alpha(opacity=60); + cursor: default; +} +.calendar-menu { + position: absolute; + top: 0; + left: 0; + width: 180px; + height: 150px; + padding: 5px; + font-size: 12px; + display: none; + overflow: hidden; +} +.calendar-menu-year-inner { + text-align: center; + padding-bottom: 5px; +} +.calendar-menu-year { + width: 50px; + text-align: center; + border-width: 1px; + border-style: solid; + outline-style: none; + resize: none; + margin: 0; + padding: 2px; + font-weight: bold; + font-size: 12px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-menu-prev, +.calendar-menu-next { + display: inline-block; + width: 21px; + height: 21px; + vertical-align: top; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-menu-prev { + margin-right: 10px; + background: url('images/calendar_arrows.png') no-repeat 2px 2px; +} +.calendar-menu-next { + margin-left: 10px; + background: url('images/calendar_arrows.png') no-repeat -45px 2px; +} +.calendar-menu-month { + text-align: center; + cursor: pointer; + font-weight: bold; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-body th, +.calendar-menu-month { + color: #4d4d4d; +} +.calendar-day { + color: #000000; +} +.calendar-sunday { + color: #CC2222; +} +.calendar-saturday { + color: #00ee00; +} +.calendar-today { + color: #0000ff; +} +.calendar-menu-year { + border-color: #D3D3D3; +} +.calendar { + border-color: #D3D3D3; +} +.calendar-header { + background: #f3f3f3; +} +.calendar-body, +.calendar-menu { + background: #ffffff; +} +.calendar-body th { + background: #fafafa; + padding: 2px 0; +} +.calendar-hover, +.calendar-nav-hover, +.calendar-menu-hover { + background-color: #e2e2e2; + color: #000000; +} +.calendar-hover { + border: 1px solid #ccc; + padding: 0; +} +.calendar-selected { + background-color: #0092DC; + color: #fff; + border: 1px solid #0070a9; + padding: 0; +} diff --git a/src/main/webapp/css/themes/gray/combo.css b/src/main/webapp/css/themes/gray/combo.css new file mode 100644 index 0000000..6ebdf5e --- /dev/null +++ b/src/main/webapp/css/themes/gray/combo.css @@ -0,0 +1,35 @@ +.combo-arrow { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.combo-arrow-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.combo-panel { + overflow: auto; +} +.combo-arrow { + background: url('images/combo_arrow.png') no-repeat center center; +} +.combo-panel { + background-color: #ffffff; +} +.combo-arrow { + background-color: #f3f3f3; +} +.combo-arrow-hover { + background-color: #e2e2e2; +} +.combo-arrow:hover { + background-color: #e2e2e2; +} +.combo .textbox-icon-disabled:hover { + cursor: default; +} diff --git a/src/main/webapp/css/themes/gray/combobox.css b/src/main/webapp/css/themes/gray/combobox.css new file mode 100644 index 0000000..0f7b5af --- /dev/null +++ b/src/main/webapp/css/themes/gray/combobox.css @@ -0,0 +1,39 @@ +.combobox-item, +.combobox-group, +.combobox-stick { + font-size: 12px; + padding: 3px; +} +.combobox-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.combobox-gitem { + padding-left: 10px; +} +.combobox-group, +.combobox-stick { + font-weight: bold; +} +.combobox-stick { + position: absolute; + top: 1px; + left: 1px; + right: 1px; + background: inherit; +} +.combobox-item-hover { + background-color: #e2e2e2; + color: #000000; +} +.combobox-item-selected { + background-color: #0092DC; + color: #fff; +} +.combobox-icon { + display: inline-block; + width: 16px; + height: 16px; + vertical-align: middle; + margin-right: 2px; +} diff --git a/src/main/webapp/css/themes/gray/datagrid.css b/src/main/webapp/css/themes/gray/datagrid.css new file mode 100644 index 0000000..737faf7 --- /dev/null +++ b/src/main/webapp/css/themes/gray/datagrid.css @@ -0,0 +1,288 @@ +.datagrid .panel-body { + overflow: hidden; + position: relative; +} +.datagrid-view { + position: relative; + overflow: hidden; +} +.datagrid-view1, +.datagrid-view2 { + position: absolute; + overflow: hidden; + top: 0; +} +.datagrid-view1 { + left: 0; +} +.datagrid-view2 { + right: 0; +} +.datagrid-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: 0.3; + filter: alpha(opacity=30); + display: none; +} +.datagrid-mask-msg { + position: absolute; + top: 50%; + margin-top: -20px; + padding: 10px 5px 10px 30px; + width: auto; + height: 16px; + border-width: 2px; + border-style: solid; + display: none; +} +.datagrid-empty { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 25px; + line-height: 25px; + text-align: center; +} +.datagrid-sort-icon { + padding: 0; + display: none; +} +.datagrid-toolbar { + height: auto; + padding: 1px 2px; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ccc; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.datagrid .datagrid-pager { + display: block; + margin: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.datagrid .datagrid-pager-top { + border-width: 0 0 1px 0; +} +.datagrid-header { + overflow: hidden; + cursor: default; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-header-inner { + float: left; + width: 10000px; +} +.datagrid-header-row, +.datagrid-row { + height: 25px; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-width: 0 1px 1px 0; + border-style: dotted; + margin: 0; + padding: 0; +} +.datagrid-cell, +.datagrid-cell-group, +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + margin: 0; + padding: 0 4px; + white-space: nowrap; + word-wrap: normal; + overflow: hidden; + height: 18px; + line-height: 18px; + font-size: 12px; +} +.datagrid-header .datagrid-cell { + height: auto; +} +.datagrid-header .datagrid-cell span { + font-size: 12px; +} +.datagrid-cell-group { + text-align: center; + text-overflow: ellipsis; +} +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + width: 30px; + text-align: center; + margin: 0; + padding: 0; +} +.datagrid-body { + margin: 0; + padding: 0; + overflow: auto; + zoom: 1; +} +.datagrid-view1 .datagrid-body-inner { + padding-bottom: 20px; +} +.datagrid-view1 .datagrid-body { + overflow: hidden; +} +.datagrid-footer { + overflow: hidden; +} +.datagrid-footer-inner { + border-width: 1px 0 0 0; + border-style: solid; + width: 10000px; + float: left; +} +.datagrid-row-editing .datagrid-cell { + height: auto; +} +.datagrid-header-check, +.datagrid-cell-check { + padding: 0; + width: 27px; + height: 18px; + font-size: 1px; + text-align: center; + overflow: hidden; +} +.datagrid-header-check input, +.datagrid-cell-check input { + margin: 0; + padding: 0; + width: 15px; + height: 18px; +} +.datagrid-resize-proxy { + position: absolute; + width: 1px; + height: 10000px; + top: 0; + cursor: e-resize; + display: none; +} +.datagrid-body .datagrid-editable { + margin: 0; + padding: 0; +} +.datagrid-body .datagrid-editable table { + width: 100%; + height: 100%; +} +.datagrid-body .datagrid-editable td { + border: 0; + margin: 0; + padding: 0; +} +.datagrid-view .datagrid-editable-input { + margin: 0; + padding: 2px 4px; + border: 1px solid #D3D3D3; + font-size: 12px; + outline-style: none; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-view .validatebox-invalid { + border-color: #ffa8a8; +} +.datagrid-sort .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -64px center; +} +.datagrid-sort-desc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -16px center; +} +.datagrid-sort-asc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat 0px center; +} +.datagrid-row-collapse { + background: url('images/datagrid_icons.png') no-repeat -48px center; +} +.datagrid-row-expand { + background: url('images/datagrid_icons.png') no-repeat -32px center; +} +.datagrid-mask-msg { + background: #ffffff url('images/loading.gif') no-repeat scroll 5px center; +} +.datagrid-header, +.datagrid-td-rownumber { + background-color: #fafafa; + background: -webkit-linear-gradient(top,#fdfdfd 0,#f5f5f5 100%); + background: -moz-linear-gradient(top,#fdfdfd 0,#f5f5f5 100%); + background: -o-linear-gradient(top,#fdfdfd 0,#f5f5f5 100%); + background: linear-gradient(to bottom,#fdfdfd 0,#f5f5f5 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#fdfdfd,endColorstr=#f5f5f5,GradientType=0); +} +.datagrid-cell-rownumber { + color: #000000; +} +.datagrid-resize-proxy { + background: #bfbfbf; +} +.datagrid-mask { + background: #ccc; +} +.datagrid-mask-msg { + border-color: #D3D3D3; +} +.datagrid-toolbar, +.datagrid-pager { + background: #fafafa; +} +.datagrid-header, +.datagrid-toolbar, +.datagrid-pager, +.datagrid-footer-inner { + border-color: #ddd; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-color: #ccc; +} +.datagrid-htable, +.datagrid-btable, +.datagrid-ftable { + color: #000000; + border-collapse: separate; +} +.datagrid-row-alt { + background: #fafafa; +} +.datagrid-row-over, +.datagrid-header td.datagrid-header-over { + background: #e2e2e2; + color: #000000; + cursor: default; +} +.datagrid-row-selected { + background: #0092DC; + color: #fff; +} +.datagrid-row-editing .textbox, +.datagrid-row-editing .textbox-text { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} diff --git a/src/main/webapp/css/themes/gray/datalist.css b/src/main/webapp/css/themes/gray/datalist.css new file mode 100644 index 0000000..de149ef --- /dev/null +++ b/src/main/webapp/css/themes/gray/datalist.css @@ -0,0 +1,95 @@ +.datalist .datagrid-header { + border-width: 0; +} +.datalist .datagrid-group, +.m-list .m-list-group { + height: 25px; + line-height: 25px; + font-weight: bold; + overflow: hidden; + background-color: #fafafa; + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ccc; +} +.datalist .datagrid-group-expander { + display: none; +} +.datalist .datagrid-group-title { + padding: 0 4px; +} +.datalist .datagrid-btable { + width: 100%; + table-layout: fixed; +} +.datalist .datagrid-row td { + border-style: solid; + border-left-color: transparent; + border-right-color: transparent; + border-bottom-width: 0; +} +.datalist-lines .datagrid-row td { + border-bottom-width: 1px; +} +.datalist .datagrid-cell, +.m-list li { + width: auto; + height: auto; + padding: 2px 4px; + line-height: 18px; + position: relative; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link, +.m-list li>a { + display: block; + position: relative; + cursor: pointer; + color: #000000; + text-decoration: none; + overflow: hidden; + margin: -2px -4px; + padding: 2px 4px; + padding-right: 16px; + line-height: 18px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link::after, +.m-list li>a::after { + position: absolute; + display: block; + width: 8px; + height: 8px; + content: ''; + right: 6px; + top: 50%; + margin-top: -4px; + border-style: solid; + border-width: 1px 1px 0 0; + -ms-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -webkit-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); +} +.m-list { + margin: 0; + padding: 0; + list-style: none; +} +.m-list li { + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ccc; +} +.m-list li>a:hover { + background: #e2e2e2; + color: #000000; +} +.m-list .m-list-group { + padding: 0 4px; +} diff --git a/src/main/webapp/css/themes/gray/datebox.css b/src/main/webapp/css/themes/gray/datebox.css new file mode 100644 index 0000000..f616375 --- /dev/null +++ b/src/main/webapp/css/themes/gray/datebox.css @@ -0,0 +1,36 @@ +.datebox-calendar-inner { + height: 180px; +} +.datebox-button { + padding: 0 5px; + text-align: center; +} +.datebox-button a { + line-height: 22px; + font-size: 12px; + font-weight: bold; + text-decoration: none; + opacity: 0.6; + filter: alpha(opacity=60); +} +.datebox-button a:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.datebox-current, +.datebox-close { + float: left; +} +.datebox-close { + float: right; +} +.datebox .combo-arrow { + background-image: url('images/datebox_arrow.png'); + background-position: center center; +} +.datebox-button { + background-color: #fafafa; +} +.datebox-button a { + color: #444; +} diff --git a/src/main/webapp/css/themes/gray/dialog.css b/src/main/webapp/css/themes/gray/dialog.css new file mode 100644 index 0000000..2850ca1 --- /dev/null +++ b/src/main/webapp/css/themes/gray/dialog.css @@ -0,0 +1,47 @@ +.dialog-content { + overflow: auto; +} +.dialog-toolbar { + position: relative; + padding: 2px 5px; +} +.dialog-tool-separator { + float: left; + height: 24px; + border-left: 1px solid #ccc; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.dialog-button { + position: relative; + top: -1px; + padding: 5px; + text-align: right; +} +.dialog-button .l-btn { + margin-left: 5px; +} +.dialog-toolbar, +.dialog-button { + background: #fafafa; + border-width: 1px; + border-style: solid; +} +.dialog-toolbar { + border-color: #D3D3D3 #D3D3D3 #ddd #D3D3D3; +} +.dialog-button { + border-color: #ddd #D3D3D3 #D3D3D3 #D3D3D3; +} +.window-thinborder .dialog-toolbar { + border-left: transparent; + border-right: transparent; + border-top-color: #fafafa; +} +.window-thinborder .dialog-button { + top: 0px; + padding: 5px 8px 8px 8px; + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} diff --git a/src/main/webapp/css/themes/gray/easyui.css b/src/main/webapp/css/themes/gray/easyui.css new file mode 100644 index 0000000..0779449 --- /dev/null +++ b/src/main/webapp/css/themes/gray/easyui.css @@ -0,0 +1,3220 @@ +.panel { + overflow: hidden; + text-align: left; + margin: 0; + border: 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.panel-header, +.panel-body { + border-width: 1px; + border-style: solid; +} +.panel-header { + padding: 5px; + position: relative; +} +.panel-title { + background: url('images/blank.gif') no-repeat; +} +.panel-header-noborder { + border-width: 0 0 1px 0; +} +.panel-body { + overflow: auto; + border-top-width: 0; + padding: 0; +} +.panel-body-noheader { + border-top-width: 1px; +} +.panel-body-noborder { + border-width: 0px; +} +.panel-body-nobottom { + border-bottom-width: 0; +} +.panel-with-icon { + padding-left: 18px; +} +.panel-icon, +.panel-tool { + position: absolute; + top: 50%; + margin-top: -8px; + height: 16px; + overflow: hidden; +} +.panel-icon { + left: 5px; + width: 16px; +} +.panel-tool { + right: 5px; + width: auto; +} +.panel-tool a { + display: inline-block; + width: 16px; + height: 16px; + opacity: 0.6; + filter: alpha(opacity=60); + margin: 0 0 0 2px; + vertical-align: top; +} +.panel-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + background-color: #e2e2e2; + -moz-border-radius: 3px 3px 3px 3px; + -webkit-border-radius: 3px 3px 3px 3px; + border-radius: 3px 3px 3px 3px; +} +.panel-loading { + padding: 11px 0px 10px 30px; +} +.panel-noscroll { + overflow: hidden; +} +.panel-fit, +.panel-fit body { + height: 100%; + margin: 0; + padding: 0; + border: 0; + overflow: hidden; +} +.panel-loading { + background: url('images/loading.gif') no-repeat 10px 10px; +} +.panel-tool-close { + background: url('images/panel_tools.png') no-repeat -16px 0px; +} +.panel-tool-min { + background: url('images/panel_tools.png') no-repeat 0px 0px; +} +.panel-tool-max { + background: url('images/panel_tools.png') no-repeat 0px -16px; +} +.panel-tool-restore { + background: url('images/panel_tools.png') no-repeat -16px -16px; +} +.panel-tool-collapse { + background: url('images/panel_tools.png') no-repeat -32px 0; +} +.panel-tool-expand { + background: url('images/panel_tools.png') no-repeat -32px -16px; +} +.panel-header, +.panel-body { + border-color: #D3D3D3; +} +.panel-header { + background-color: #f3f3f3; + background: -webkit-linear-gradient(top,#F8F8F8 0,#eeeeee 100%); + background: -moz-linear-gradient(top,#F8F8F8 0,#eeeeee 100%); + background: -o-linear-gradient(top,#F8F8F8 0,#eeeeee 100%); + background: linear-gradient(to bottom,#F8F8F8 0,#eeeeee 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#eeeeee,GradientType=0); +} +.panel-body { + background-color: #ffffff; + color: #000000; + font-size: 12px; +} +.panel-title { + font-size: 12px; + font-weight: bold; + color: #575765; + height: 16px; + line-height: 16px; +} +.panel-footer { + border: 1px solid #D3D3D3; + overflow: hidden; + background: #fafafa; +} +.panel-footer-noborder { + border-width: 1px 0 0 0; +} +.panel-hleft, +.panel-hright { + position: relative; +} +.panel-hleft>.panel-body, +.panel-hright>.panel-body { + position: absolute; +} +.panel-hleft>.panel-header { + float: left; +} +.panel-hright>.panel-header { + float: right; +} +.panel-hleft>.panel-body { + border-top-width: 1px; + border-left-width: 0; +} +.panel-hright>.panel-body { + border-top-width: 1px; + border-right-width: 0; +} +.panel-hleft>.panel-body-nobottom { + border-bottom-width: 1px; + border-right-width: 0; +} +.panel-hright>.panel-body-nobottom { + border-bottom-width: 1px; + border-left-width: 0; +} +.panel-hleft>.panel-footer { + position: absolute; + right: 0; +} +.panel-hright>.panel-footer { + position: absolute; + left: 0; +} +.panel-hleft>.panel-header-noborder { + border-width: 0 1px 0 0; +} +.panel-hright>.panel-header-noborder { + border-width: 0 0 0 1px; +} +.panel-hleft>.panel-body-noborder { + border-width: 0; +} +.panel-hright>.panel-body-noborder { + border-width: 0; +} +.panel-hleft>.panel-body-noheader { + border-left-width: 1px; +} +.panel-hright>.panel-body-noheader { + border-right-width: 1px; +} +.panel-hleft>.panel-footer-noborder { + border-width: 0 0 0 1px; +} +.panel-hright>.panel-footer-noborder { + border-width: 0 1px 0 0; +} +.panel-hleft>.panel-header .panel-icon, +.panel-hright>.panel-header .panel-icon { + margin-top: 0; + top: 5px; +} +.panel-hleft>.panel-header .panel-title, +.panel-hright>.panel-header .panel-title { + position: absolute; + min-width: 16px; + left: 21px; + top: 5px; + bottom: auto; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.panel-hleft>.panel-header .panel-title-up, +.panel-hright>.panel-header .panel-title-up { + position: absolute; + min-width: 16px; + left: 21px; + top: auto; + bottom: 5px; + text-align: right; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 16px; +} +.panel-hleft>.panel-header .panel-with-icon.panel-title-up, +.panel-hright>.panel-header .panel-with-icon.panel-title-up { + padding-left: 0; + padding-right: 18px; +} +.panel-hleft>.panel-header .panel-tool, +.panel-hright>.panel-header .panel-tool { + top: auto; + bottom: 5px; + width: 16px; + height: auto; + left: 50%; + margin-left: -8px; + margin-top: 0; +} +.panel-hleft>.panel-header .panel-tool a, +.panel-hright>.panel-header .panel-tool a { + margin: 2px 0 0 0; +} +.accordion { + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.accordion .accordion-header { + border-width: 0 0 1px; + cursor: pointer; +} +.accordion .accordion-body { + border-width: 0 0 1px; +} +.accordion-noborder { + border-width: 0; +} +.accordion-noborder .accordion-header { + border-width: 0 0 1px; +} +.accordion-noborder .accordion-body { + border-width: 0 0 1px; +} +.accordion-collapse { + background: url('images/accordion_arrows.png') no-repeat 0 0; +} +.accordion-expand { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.accordion { + background: #ffffff; + border-color: #D3D3D3; +} +.accordion .accordion-header { + background: #f3f3f3; + filter: none; +} +.accordion .accordion-header-selected { + background: #0092DC; +} +.accordion .accordion-header-selected .panel-title { + color: #fff; +} +.accordion .panel-last > .accordion-header { + border-bottom-color: #f3f3f3; +} +.accordion .panel-last > .accordion-body { + border-bottom-color: #ffffff; +} +.accordion .panel-last > .accordion-header-selected, +.accordion .panel-last > .accordion-header-border { + border-bottom-color: #D3D3D3; +} +.accordion> .panel-hleft { + float: left; +} +.accordion> .panel-hleft>.panel-header { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft> .panel-body { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft.panel-last > .accordion-header { + border-right-color: #f3f3f3; +} +.accordion> .panel-hleft.panel-last > .accordion-body { + border-right-color: #ffffff; +} +.accordion> .panel-hleft.panel-last > .accordion-header-selected, +.accordion> .panel-hleft.panel-last > .accordion-header-border { + border-right-color: #D3D3D3; +} +.accordion> .panel-hright { + float: right; +} +.accordion> .panel-hright>.panel-header { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright> .panel-body { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright.panel-last > .accordion-header { + border-left-color: #f3f3f3; +} +.accordion> .panel-hright.panel-last > .accordion-body { + border-left-color: #ffffff; +} +.accordion> .panel-hright.panel-last > .accordion-header-selected, +.accordion> .panel-hright.panel-last > .accordion-header-border { + border-left-color: #D3D3D3; +} +.window { + overflow: hidden; + padding: 5px; + border-width: 1px; + border-style: solid; +} +.window .window-header { + background: transparent; + padding: 0px 0px 6px 0px; +} +.window .window-body { + border-width: 1px; + border-style: solid; + border-top-width: 0px; +} +.window .window-body-noheader { + border-top-width: 1px; +} +.window .panel-body-nobottom { + border-bottom-width: 0; +} +.window .window-header .panel-icon, +.window .window-header .panel-tool { + top: 50%; + margin-top: -11px; +} +.window .window-header .panel-icon { + left: 1px; +} +.window .window-header .panel-tool { + right: 1px; +} +.window .window-header .panel-with-icon { + padding-left: 18px; +} +.window-proxy { + position: absolute; + overflow: hidden; +} +.window-proxy-mask { + position: absolute; + filter: alpha(opacity=5); + opacity: 0.05; +} +.window-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + filter: alpha(opacity=40); + opacity: 0.40; + font-size: 1px; + overflow: hidden; +} +.window, +.window-shadow { + position: absolute; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.window-shadow { + background: #ccc; + -moz-box-shadow: 2px 2px 3px #cccccc; + -webkit-box-shadow: 2px 2px 3px #cccccc; + box-shadow: 2px 2px 3px #cccccc; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.window, +.window .window-body { + border-color: #D3D3D3; +} +.window { + background-color: #f3f3f3; + background: -webkit-linear-gradient(top,#F8F8F8 0,#eeeeee 20%); + background: -moz-linear-gradient(top,#F8F8F8 0,#eeeeee 20%); + background: -o-linear-gradient(top,#F8F8F8 0,#eeeeee 20%); + background: linear-gradient(to bottom,#F8F8F8 0,#eeeeee 20%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#eeeeee,GradientType=0); +} +.window-proxy { + border: 1px dashed #D3D3D3; +} +.window-proxy-mask, +.window-mask { + background: #ccc; +} +.window .panel-footer { + border: 1px solid #D3D3D3; + position: relative; + top: -1px; +} +.window-thinborder { + padding: 0; +} +.window-thinborder .window-header { + padding: 5px 5px 6px 5px; +} +.window-thinborder .window-body { + border-width: 0px; +} +.window-thinborder .window-header .panel-icon, +.window-thinborder .window-header .panel-tool { + margin-top: -9px; + margin-left: 5px; + margin-right: 5px; +} +.window-noborder { + border: 0; +} +.window.panel-hleft .window-header { + padding: 0 6px 0 0; +} +.window.panel-hright .window-header { + padding: 0 0 0 6px; +} +.window.panel-hleft>.panel-header .panel-title { + top: auto; + left: 16px; +} +.window.panel-hright>.panel-header .panel-title { + top: auto; + right: 16px; +} +.window.panel-hleft>.panel-header .panel-title-up, +.window.panel-hright>.panel-header .panel-title-up { + bottom: 0; +} +.window.panel-hleft .window-body { + border-width: 1px 1px 1px 0; +} +.window.panel-hright .window-body { + border-width: 1px 0 1px 1px; +} +.window.panel-hleft .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: 0; +} +.window.panel-hright .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: auto; + right: 1px; +} +.window.panel-hleft .window-header .panel-tool, +.window.panel-hright .window-header .panel-tool { + margin-top: 0; + top: auto; + bottom: 1px; + right: auto; + margin-right: 0; + left: 50%; + margin-left: -11px; +} +.window.panel-hright .window-header .panel-tool { + left: auto; + right: 1px; +} +.window-thinborder.panel-hleft .window-header { + padding: 5px 6px 5px 5px; +} +.window-thinborder.panel-hright .window-header { + padding: 5px 5px 5px 6px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title { + left: 21px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title-up, +.window-thinborder.panel-hright>.panel-header .panel-title-up { + bottom: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-icon, +.window-thinborder.panel-hright .window-header .panel-icon { + margin-top: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-tool, +.window-thinborder.panel-hright .window-header .panel-tool { + left: 16px; + bottom: 5px; +} +.dialog-content { + overflow: auto; +} +.dialog-toolbar { + position: relative; + padding: 2px 5px; +} +.dialog-tool-separator { + float: left; + height: 24px; + border-left: 1px solid #ccc; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.dialog-button { + position: relative; + top: -1px; + padding: 5px; + text-align: right; +} +.dialog-button .l-btn { + margin-left: 5px; +} +.dialog-toolbar, +.dialog-button { + background: #fafafa; + border-width: 1px; + border-style: solid; +} +.dialog-toolbar { + border-color: #D3D3D3 #D3D3D3 #ddd #D3D3D3; +} +.dialog-button { + border-color: #ddd #D3D3D3 #D3D3D3 #D3D3D3; +} +.window-thinborder .dialog-toolbar { + border-left: transparent; + border-right: transparent; + border-top-color: #fafafa; +} +.window-thinborder .dialog-button { + top: 0px; + padding: 5px 8px 8px 8px; + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} +.l-btn { + text-decoration: none; + display: inline-block; + overflow: hidden; + margin: 0; + padding: 0; + cursor: pointer; + outline: none; + text-align: center; + vertical-align: middle; + line-height: normal; +} +.l-btn-plain { + border-width: 0; + padding: 1px; +} +.l-btn-left { + display: inline-block; + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + vertical-align: top; +} +.l-btn-text { + display: inline-block; + vertical-align: top; + width: auto; + line-height: 24px; + font-size: 12px; + padding: 0; + margin: 0 4px; +} +.l-btn-icon { + display: inline-block; + width: 16px; + height: 16px; + line-height: 16px; + position: absolute; + top: 50%; + margin-top: -8px; + font-size: 1px; +} +.l-btn span span .l-btn-empty { + display: inline-block; + margin: 0; + width: 16px; + height: 24px; + font-size: 1px; + vertical-align: top; +} +.l-btn span .l-btn-icon-left { + padding: 0 0 0 20px; + background-position: left center; +} +.l-btn span .l-btn-icon-right { + padding: 0 20px 0 0; + background-position: right center; +} +.l-btn-icon-left .l-btn-text { + margin: 0 4px 0 24px; +} +.l-btn-icon-left .l-btn-icon { + left: 4px; +} +.l-btn-icon-right .l-btn-text { + margin: 0 24px 0 4px; +} +.l-btn-icon-right .l-btn-icon { + right: 4px; +} +.l-btn-icon-top .l-btn-text { + margin: 20px 4px 0 4px; +} +.l-btn-icon-top .l-btn-icon { + top: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-icon-bottom .l-btn-text { + margin: 0 4px 20px 4px; +} +.l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-left .l-btn-empty { + margin: 0 4px; + width: 16px; +} +.l-btn-plain:hover { + padding: 0; +} +.l-btn-focus { + outline: #0000FF dotted thin; +} +.l-btn-large .l-btn-text { + line-height: 40px; +} +.l-btn-large .l-btn-icon { + width: 32px; + height: 32px; + line-height: 32px; + margin-top: -16px; +} +.l-btn-large .l-btn-icon-left .l-btn-text { + margin-left: 40px; +} +.l-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.l-btn-large .l-btn-icon-top .l-btn-text { + margin-top: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-top .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-left .l-btn-empty { + margin: 0 4px; + width: 32px; +} +.l-btn { + color: #444; + background: #fafafa; + background-repeat: repeat-x; + border: 1px solid #bbb; + background: -webkit-linear-gradient(top,#ffffff 0,#eeeeee 100%); + background: -moz-linear-gradient(top,#ffffff 0,#eeeeee 100%); + background: -o-linear-gradient(top,#ffffff 0,#eeeeee 100%); + background: linear-gradient(to bottom,#ffffff 0,#eeeeee 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#eeeeee,GradientType=0); + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.l-btn:hover { + background: #e2e2e2; + color: #000000; + border: 1px solid #ccc; + filter: none; +} +.l-btn-plain { + background: transparent; + border-width: 0; + filter: none; +} +.l-btn-outline { + border-width: 1px; + border-color: #ccc; + padding: 0; +} +.l-btn-plain:hover { + background: #e2e2e2; + color: #000000; + border: 1px solid #ccc; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.l-btn-disabled, +.l-btn-disabled:hover { + opacity: 0.5; + cursor: default; + background: #fafafa; + color: #444; + background: -webkit-linear-gradient(top,#ffffff 0,#eeeeee 100%); + background: -moz-linear-gradient(top,#ffffff 0,#eeeeee 100%); + background: -o-linear-gradient(top,#ffffff 0,#eeeeee 100%); + background: linear-gradient(to bottom,#ffffff 0,#eeeeee 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#eeeeee,GradientType=0); +} +.l-btn-disabled .l-btn-text, +.l-btn-disabled .l-btn-icon { + filter: alpha(opacity=50); +} +.l-btn-plain-disabled, +.l-btn-plain-disabled:hover { + background: transparent; + filter: alpha(opacity=50); +} +.l-btn-selected, +.l-btn-selected:hover { + background: #ddd; + filter: none; +} +.l-btn-plain-selected, +.l-btn-plain-selected:hover { + background: #ddd; +} +.textbox { + position: relative; + border: 1px solid #D3D3D3; + background-color: #fff; + vertical-align: middle; + display: inline-block; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.textbox .textbox-text { + font-size: 12px; + border: 0; + margin: 0; + padding: 4px; + white-space: normal; + vertical-align: top; + outline-style: none; + resize: none; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.textbox .textbox-text::-ms-clear, +.textbox .textbox-text::-ms-reveal { + display: none; +} +.textbox textarea.textbox-text { + white-space: pre-wrap; +} +.textbox .textbox-prompt { + font-size: 12px; + color: #aaa; +} +.textbox .textbox-bgicon { + background-position: 3px center; + padding-left: 21px; +} +.textbox .textbox-button, +.textbox .textbox-button:hover { + position: absolute; + top: 0; + padding: 0; + vertical-align: top; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.textbox .textbox-button-right, +.textbox .textbox-button-right:hover { + right: 0; + border-width: 0 0 0 1px; +} +.textbox .textbox-button-left, +.textbox .textbox-button-left:hover { + left: 0; + border-width: 0 1px 0 0; +} +.textbox .textbox-button-top, +.textbox .textbox-button-top:hover { + left: 0; + border-width: 0 0 1px 0; +} +.textbox .textbox-button-bottom, +.textbox .textbox-button-bottom:hover { + top: auto; + bottom: 0; + left: 0; + border-width: 1px 0 0 0; +} +.textbox-addon { + position: absolute; + top: 0; +} +.textbox-label { + display: inline-block; + width: 80px; + height: 22px; + line-height: 22px; + vertical-align: middle; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + margin: 0; + padding-right: 5px; +} +.textbox-label-after { + padding-left: 5px; + padding-right: 0; +} +.textbox-label-top { + display: block; + width: auto; + padding: 0; +} +.textbox-disabled, +.textbox-label-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-icon { + display: inline-block; + width: 18px; + height: 20px; + overflow: hidden; + vertical-align: top; + background-position: center center; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); + text-decoration: none; + outline-style: none; +} +.textbox-icon-disabled, +.textbox-icon-readonly { + cursor: default; +} +.textbox-icon:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.textbox-icon-disabled:hover { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-focused { + border-color: #bababa; + -moz-box-shadow: 0 0 3px 0 #D3D3D3; + -webkit-box-shadow: 0 0 3px 0 #D3D3D3; + box-shadow: 0 0 3px 0 #D3D3D3; +} +.textbox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; +} +.passwordbox-open { + background: url('images/passwordbox_open.png') no-repeat center center; +} +.passwordbox-close { + background: url('images/passwordbox_close.png') no-repeat center center; +} +.filebox .textbox-value { + vertical-align: top; + position: absolute; + top: 0; + left: -5000px; +} +.filebox-label { + display: inline-block; + position: absolute; + width: 100%; + height: 100%; + cursor: pointer; + left: 0; + top: 0; + z-index: 10; + background: url('images/blank.gif') no-repeat; +} +.l-btn-disabled .filebox-label { + cursor: default; +} +.combo-arrow { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.combo-arrow-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.combo-panel { + overflow: auto; +} +.combo-arrow { + background: url('images/combo_arrow.png') no-repeat center center; +} +.combo-panel { + background-color: #ffffff; +} +.combo-arrow { + background-color: #f3f3f3; +} +.combo-arrow-hover { + background-color: #e2e2e2; +} +.combo-arrow:hover { + background-color: #e2e2e2; +} +.combo .textbox-icon-disabled:hover { + cursor: default; +} +.combobox-item, +.combobox-group, +.combobox-stick { + font-size: 12px; + padding: 3px; +} +.combobox-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.combobox-gitem { + padding-left: 10px; +} +.combobox-group, +.combobox-stick { + font-weight: bold; +} +.combobox-stick { + position: absolute; + top: 1px; + left: 1px; + right: 1px; + background: inherit; +} +.combobox-item-hover { + background-color: #e2e2e2; + color: #000000; +} +.combobox-item-selected { + background-color: #0092DC; + color: #fff; +} +.combobox-icon { + display: inline-block; + width: 16px; + height: 16px; + vertical-align: middle; + margin-right: 2px; +} +.tagbox { + cursor: text; +} +.tagbox .textbox-text { + float: left; +} +.tagbox-label { + position: relative; + display: block; + margin: 4px 0 0 4px; + padding: 0 20px 0 4px; + float: left; + vertical-align: top; + text-decoration: none; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + background: #e2e2e2; + color: #000000; +} +.tagbox-remove { + background: url('images/tagbox_icons.png') no-repeat -16px center; + position: absolute; + display: block; + width: 16px; + height: 16px; + right: 2px; + top: 50%; + margin-top: -8px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tagbox-remove:hover { + opacity: 1; + filter: alpha(opacity=100); +} +.textbox-disabled .tagbox-label { + cursor: default; +} +.textbox-disabled .tagbox-remove:hover { + cursor: default; + opacity: 0.6; + filter: alpha(opacity=60); +} +.layout { + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + z-index: 0; +} +.layout-panel { + position: absolute; + overflow: hidden; +} +.layout-body { + min-width: 1px; + min-height: 1px; +} +.layout-panel-east, +.layout-panel-west { + z-index: 2; +} +.layout-panel-north, +.layout-panel-south { + z-index: 3; +} +.layout-expand { + position: absolute; + padding: 0px; + font-size: 1px; + cursor: pointer; + z-index: 1; +} +.layout-expand .panel-header, +.layout-expand .panel-body { + background: transparent; + filter: none; + overflow: hidden; +} +.layout-expand .panel-header { + border-bottom-width: 0px; +} +.layout-expand .panel-body { + position: relative; +} +.layout-expand .panel-body .panel-icon { + margin-top: 0; + top: 0; + left: 50%; + margin-left: -8px; +} +.layout-expand-west .panel-header .panel-icon, +.layout-expand-east .panel-header .panel-icon { + display: none; +} +.layout-expand-title { + position: absolute; + top: 0; + left: 21px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.layout-expand-title-up { + position: absolute; + top: 0; + left: 0; + text-align: right; + padding-left: 5px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 0; +} +.layout-expand-with-icon { + top: 18px; +} +.layout-expand .panel-body-noheader .layout-expand-title, +.layout-expand .panel-body-noheader .panel-icon { + top: 5px; +} +.layout-expand .panel-body-noheader .layout-expand-with-icon { + top: 23px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + position: absolute; + font-size: 1px; + display: none; + z-index: 5; +} +.layout-split-proxy-h { + width: 5px; + cursor: e-resize; +} +.layout-split-proxy-v { + height: 5px; + cursor: n-resize; +} +.layout-mask { + position: absolute; + background: #fafafa; + filter: alpha(opacity=10); + opacity: 0.10; + z-index: 4; +} +.layout-button-up { + background: url('images/layout_arrows.png') no-repeat -16px -16px; +} +.layout-button-down { + background: url('images/layout_arrows.png') no-repeat -16px 0; +} +.layout-button-left { + background: url('images/layout_arrows.png') no-repeat 0 0; +} +.layout-button-right { + background: url('images/layout_arrows.png') no-repeat 0 -16px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + background-color: #bfbfbf; +} +.layout-split-north { + border-bottom: 5px solid #efefef; +} +.layout-split-south { + border-top: 5px solid #efefef; +} +.layout-split-east { + border-left: 5px solid #efefef; +} +.layout-split-west { + border-right: 5px solid #efefef; +} +.layout-expand { + background-color: #f3f3f3; +} +.layout-expand-over { + background-color: #f3f3f3; +} +.tabs-container { + overflow: hidden; +} +.tabs-header { + border-width: 1px; + border-style: solid; + border-bottom-width: 0; + position: relative; + padding: 0; + padding-top: 2px; + overflow: hidden; +} +.tabs-scroller-left, +.tabs-scroller-right { + position: absolute; + top: auto; + bottom: 0; + width: 18px; + font-size: 1px; + display: none; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.tabs-scroller-left { + left: 0; +} +.tabs-scroller-right { + right: 0; +} +.tabs-tool { + position: absolute; + bottom: 0; + padding: 1px; + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.tabs-header-plain .tabs-tool { + padding: 0 1px; +} +.tabs-wrap { + position: relative; + left: 0; + overflow: hidden; + width: 100%; + margin: 0; + padding: 0; +} +.tabs-scrolling { + margin-left: 18px; + margin-right: 18px; +} +.tabs-disabled { + opacity: 0.3; + filter: alpha(opacity=30); +} +.tabs { + list-style-type: none; + height: 26px; + margin: 0px; + padding: 0px; + padding-left: 4px; + width: 50000px; + border-style: solid; + border-width: 0 0 1px 0; +} +.tabs li { + float: left; + display: inline-block; + margin: 0 4px -1px 0; + padding: 0; + position: relative; + border: 0; +} +.tabs li a.tabs-inner { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0 10px; + height: 25px; + line-height: 25px; + text-align: center; + white-space: nowrap; + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 0 0; + -webkit-border-radius: 5px 5px 0 0; + border-radius: 5px 5px 0 0; +} +.tabs li.tabs-selected a.tabs-inner { + font-weight: bold; + outline: none; +} +.tabs li.tabs-selected a:hover.tabs-inner { + cursor: default; + pointer: default; +} +.tabs li a.tabs-close, +.tabs-p-tool { + position: absolute; + font-size: 1px; + display: block; + height: 12px; + padding: 0; + top: 50%; + margin-top: -6px; + overflow: hidden; +} +.tabs li a.tabs-close { + width: 12px; + right: 5px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs-p-tool { + right: 16px; +} +.tabs-p-tool a { + display: inline-block; + font-size: 1px; + width: 12px; + height: 12px; + margin: 0; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs li a:hover.tabs-close, +.tabs-p-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + cursor: hand; + cursor: pointer; +} +.tabs-with-icon { + padding-left: 18px; +} +.tabs-icon { + position: absolute; + width: 16px; + height: 16px; + left: 10px; + top: 50%; + margin-top: -8px; +} +.tabs-title { + font-size: 12px; +} +.tabs-closable { + padding-right: 8px; +} +.tabs-panels { + margin: 0px; + padding: 0px; + border-width: 1px; + border-style: solid; + border-top-width: 0; + overflow: hidden; +} +.tabs-header-bottom { + border-width: 0 1px 1px 1px; + padding: 0 0 2px 0; +} +.tabs-header-bottom .tabs { + border-width: 1px 0 0 0; +} +.tabs-header-bottom .tabs li { + margin: -1px 4px 0 0; +} +.tabs-header-bottom .tabs li a.tabs-inner { + -moz-border-radius: 0 0 5px 5px; + -webkit-border-radius: 0 0 5px 5px; + border-radius: 0 0 5px 5px; +} +.tabs-header-bottom .tabs-tool { + top: 0; +} +.tabs-header-bottom .tabs-scroller-left, +.tabs-header-bottom .tabs-scroller-right { + top: 0; + bottom: auto; +} +.tabs-panels-top { + border-width: 1px 1px 0 1px; +} +.tabs-header-left { + float: left; + border-width: 1px 0 1px 1px; + padding: 0; +} +.tabs-header-right { + float: right; + border-width: 1px 1px 1px 0; + padding: 0; +} +.tabs-header-left .tabs-wrap, +.tabs-header-right .tabs-wrap { + height: 100%; +} +.tabs-header-left .tabs { + height: 100%; + padding: 4px 0 0 2px; + border-width: 0 1px 0 0; +} +.tabs-header-right .tabs { + height: 100%; + padding: 4px 2px 0 0; + border-width: 0 0 0 1px; +} +.tabs-header-left .tabs li, +.tabs-header-right .tabs li { + display: block; + width: 100%; + position: relative; +} +.tabs-header-left .tabs li { + left: auto; + right: 0; + margin: 0 -1px 4px 0; + float: right; +} +.tabs-header-right .tabs li { + left: 0; + right: auto; + margin: 0 0 4px -1px; + float: left; +} +.tabs-justified li a.tabs-inner { + padding-left: 0; + padding-right: 0; +} +.tabs-header-left .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.tabs-header-right .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 0 5px 5px 0; + -webkit-border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; +} +.tabs-panels-right { + float: right; + border-width: 1px 1px 1px 0; +} +.tabs-panels-left { + float: left; + border-width: 1px 0 1px 1px; +} +.tabs-header-noborder, +.tabs-panels-noborder { + border: 0px; +} +.tabs-header-plain { + border: 0px; + background: transparent; +} +.tabs-pill { + padding-bottom: 3px; +} +.tabs-header-bottom .tabs-pill { + padding-top: 3px; + padding-bottom: 0; +} +.tabs-header-left .tabs-pill { + padding-right: 3px; +} +.tabs-header-right .tabs-pill { + padding-left: 3px; +} +.tabs-header .tabs-pill li a.tabs-inner { + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.tabs-header-narrow, +.tabs-header-narrow .tabs-narrow { + padding: 0; +} +.tabs-narrow li, +.tabs-header-bottom .tabs-narrow li { + margin-left: 0; + margin-right: -1px; +} +.tabs-narrow li.tabs-last, +.tabs-header-bottom .tabs-narrow li.tabs-last { + margin-right: 0; +} +.tabs-header-left .tabs-narrow, +.tabs-header-right .tabs-narrow { + padding-top: 0; +} +.tabs-header-left .tabs-narrow li { + margin-bottom: -1px; + margin-right: -1px; +} +.tabs-header-left .tabs-narrow li.tabs-last, +.tabs-header-right .tabs-narrow li.tabs-last { + margin-bottom: 0; +} +.tabs-header-right .tabs-narrow li { + margin-bottom: -1px; + margin-left: -1px; +} +.tabs-scroller-left { + background: #f3f3f3 url('images/tabs_icons.png') no-repeat 1px center; +} +.tabs-scroller-right { + background: #f3f3f3 url('images/tabs_icons.png') no-repeat -15px center; +} +.tabs li a.tabs-close { + background: url('images/tabs_icons.png') no-repeat -34px center; +} +.tabs li a.tabs-inner:hover { + background: #e2e2e2; + color: #000000; + filter: none; +} +.tabs li.tabs-selected a.tabs-inner { + background-color: #ffffff; + color: #575765; + background: -webkit-linear-gradient(top,#F8F8F8 0,#ffffff 100%); + background: -moz-linear-gradient(top,#F8F8F8 0,#ffffff 100%); + background: -o-linear-gradient(top,#F8F8F8 0,#ffffff 100%); + background: linear-gradient(to bottom,#F8F8F8 0,#ffffff 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#ffffff,GradientType=0); +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(top,#ffffff 0,#F8F8F8 100%); + background: -moz-linear-gradient(top,#ffffff 0,#F8F8F8 100%); + background: -o-linear-gradient(top,#ffffff 0,#F8F8F8 100%); + background: linear-gradient(to bottom,#ffffff 0,#F8F8F8 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F8F8F8,GradientType=0); +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(left,#F8F8F8 0,#ffffff 100%); + background: -moz-linear-gradient(left,#F8F8F8 0,#ffffff 100%); + background: -o-linear-gradient(left,#F8F8F8 0,#ffffff 100%); + background: linear-gradient(to right,#F8F8F8 0,#ffffff 100%); + background-repeat: repeat-y; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#ffffff,GradientType=1); +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(left,#ffffff 0,#F8F8F8 100%); + background: -moz-linear-gradient(left,#ffffff 0,#F8F8F8 100%); + background: -o-linear-gradient(left,#ffffff 0,#F8F8F8 100%); + background: linear-gradient(to right,#ffffff 0,#F8F8F8 100%); + background-repeat: repeat-y; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F8F8F8,GradientType=1); +} +.tabs li a.tabs-inner { + color: #575765; + background-color: #f3f3f3; + background: -webkit-linear-gradient(top,#F8F8F8 0,#eeeeee 100%); + background: -moz-linear-gradient(top,#F8F8F8 0,#eeeeee 100%); + background: -o-linear-gradient(top,#F8F8F8 0,#eeeeee 100%); + background: linear-gradient(to bottom,#F8F8F8 0,#eeeeee 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#eeeeee,GradientType=0); +} +.tabs-header, +.tabs-tool { + background-color: #f3f3f3; +} +.tabs-header-plain { + background: transparent; +} +.tabs-header, +.tabs-scroller-left, +.tabs-scroller-right, +.tabs-tool, +.tabs, +.tabs-panels, +.tabs li a.tabs-inner, +.tabs li.tabs-selected a.tabs-inner, +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, +.tabs-header-left .tabs li.tabs-selected a.tabs-inner, +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-color: #D3D3D3; +} +.tabs-p-tool a:hover, +.tabs li a:hover.tabs-close, +.tabs-scroller-over { + background-color: #e2e2e2; +} +.tabs li.tabs-selected a.tabs-inner { + border-bottom: 1px solid #ffffff; +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + border-top: 1px solid #ffffff; +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + border-right: 1px solid #ffffff; +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-left: 1px solid #ffffff; +} +.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { + background: #0092DC; + color: #fff; + filter: none; + border-color: #D3D3D3; +} +.datagrid .panel-body { + overflow: hidden; + position: relative; +} +.datagrid-view { + position: relative; + overflow: hidden; +} +.datagrid-view1, +.datagrid-view2 { + position: absolute; + overflow: hidden; + top: 0; +} +.datagrid-view1 { + left: 0; +} +.datagrid-view2 { + right: 0; +} +.datagrid-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: 0.3; + filter: alpha(opacity=30); + display: none; +} +.datagrid-mask-msg { + position: absolute; + top: 50%; + margin-top: -20px; + padding: 10px 5px 10px 30px; + width: auto; + height: 16px; + border-width: 2px; + border-style: solid; + display: none; +} +.datagrid-empty { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 25px; + line-height: 25px; + text-align: center; +} +.datagrid-sort-icon { + padding: 0; + display: none; +} +.datagrid-toolbar { + height: auto; + padding: 1px 2px; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ccc; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.datagrid .datagrid-pager { + display: block; + margin: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.datagrid .datagrid-pager-top { + border-width: 0 0 1px 0; +} +.datagrid-header { + overflow: hidden; + cursor: default; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-header-inner { + float: left; + width: 10000px; +} +.datagrid-header-row, +.datagrid-row { + height: 25px; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-width: 0 1px 1px 0; + border-style: dotted; + margin: 0; + padding: 0; +} +.datagrid-cell, +.datagrid-cell-group, +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + margin: 0; + padding: 0 4px; + white-space: nowrap; + word-wrap: normal; + overflow: hidden; + height: 18px; + line-height: 18px; + font-size: 12px; +} +.datagrid-header .datagrid-cell { + height: auto; +} +.datagrid-header .datagrid-cell span { + font-size: 12px; +} +.datagrid-cell-group { + text-align: center; + text-overflow: ellipsis; +} +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + width: 30px; + text-align: center; + margin: 0; + padding: 0; +} +.datagrid-body { + margin: 0; + padding: 0; + overflow: auto; + zoom: 1; +} +.datagrid-view1 .datagrid-body-inner { + padding-bottom: 20px; +} +.datagrid-view1 .datagrid-body { + overflow: hidden; +} +.datagrid-footer { + overflow: hidden; +} +.datagrid-footer-inner { + border-width: 1px 0 0 0; + border-style: solid; + width: 10000px; + float: left; +} +.datagrid-row-editing .datagrid-cell { + height: auto; +} +.datagrid-header-check, +.datagrid-cell-check { + padding: 0; + width: 27px; + height: 18px; + font-size: 1px; + text-align: center; + overflow: hidden; +} +.datagrid-header-check input, +.datagrid-cell-check input { + margin: 0; + padding: 0; + width: 15px; + height: 18px; +} +.datagrid-resize-proxy { + position: absolute; + width: 1px; + height: 10000px; + top: 0; + cursor: e-resize; + display: none; +} +.datagrid-body .datagrid-editable { + margin: 0; + padding: 0; +} +.datagrid-body .datagrid-editable table { + width: 100%; + height: 100%; +} +.datagrid-body .datagrid-editable td { + border: 0; + margin: 0; + padding: 0; +} +.datagrid-view .datagrid-editable-input { + margin: 0; + padding: 2px 4px; + border: 1px solid #D3D3D3; + font-size: 12px; + outline-style: none; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-view .validatebox-invalid { + border-color: #ffa8a8; +} +.datagrid-sort .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -64px center; +} +.datagrid-sort-desc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -16px center; +} +.datagrid-sort-asc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat 0px center; +} +.datagrid-row-collapse { + background: url('images/datagrid_icons.png') no-repeat -48px center; +} +.datagrid-row-expand { + background: url('images/datagrid_icons.png') no-repeat -32px center; +} +.datagrid-mask-msg { + background: #ffffff url('images/loading.gif') no-repeat scroll 5px center; +} +.datagrid-header, +.datagrid-td-rownumber { + background-color: #fafafa; + background: -webkit-linear-gradient(top,#fdfdfd 0,#f5f5f5 100%); + background: -moz-linear-gradient(top,#fdfdfd 0,#f5f5f5 100%); + background: -o-linear-gradient(top,#fdfdfd 0,#f5f5f5 100%); + background: linear-gradient(to bottom,#fdfdfd 0,#f5f5f5 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#fdfdfd,endColorstr=#f5f5f5,GradientType=0); +} +.datagrid-cell-rownumber { + color: #000000; +} +.datagrid-resize-proxy { + background: #bfbfbf; +} +.datagrid-mask { + background: #ccc; +} +.datagrid-mask-msg { + border-color: #D3D3D3; +} +.datagrid-toolbar, +.datagrid-pager { + background: #fafafa; +} +.datagrid-header, +.datagrid-toolbar, +.datagrid-pager, +.datagrid-footer-inner { + border-color: #ddd; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-color: #ccc; +} +.datagrid-htable, +.datagrid-btable, +.datagrid-ftable { + color: #000000; + border-collapse: separate; +} +.datagrid-row-alt { + background: #fafafa; +} +.datagrid-row-over, +.datagrid-header td.datagrid-header-over { + background: #e2e2e2; + color: #000000; + cursor: default; +} +.datagrid-row-selected { + background: #0092DC; + color: #fff; +} +.datagrid-row-editing .textbox, +.datagrid-row-editing .textbox-text { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.propertygrid .datagrid-view1 .datagrid-body td { + padding-bottom: 1px; + border-width: 0 1px 0 0; +} +.propertygrid .datagrid-group { + height: 21px; + overflow: hidden; + border-width: 0 0 1px 0; + border-style: solid; +} +.propertygrid .datagrid-group span { + font-weight: bold; +} +.propertygrid .datagrid-view1 .datagrid-body td { + border-color: #ddd; +} +.propertygrid .datagrid-view1 .datagrid-group { + border-color: #f3f3f3; +} +.propertygrid .datagrid-view2 .datagrid-group { + border-color: #ddd; +} +.propertygrid .datagrid-group, +.propertygrid .datagrid-view1 .datagrid-body, +.propertygrid .datagrid-view1 .datagrid-row-over, +.propertygrid .datagrid-view1 .datagrid-row-selected { + background: #f3f3f3; +} +.datalist .datagrid-header { + border-width: 0; +} +.datalist .datagrid-group, +.m-list .m-list-group { + height: 25px; + line-height: 25px; + font-weight: bold; + overflow: hidden; + background-color: #fafafa; + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ccc; +} +.datalist .datagrid-group-expander { + display: none; +} +.datalist .datagrid-group-title { + padding: 0 4px; +} +.datalist .datagrid-btable { + width: 100%; + table-layout: fixed; +} +.datalist .datagrid-row td { + border-style: solid; + border-left-color: transparent; + border-right-color: transparent; + border-bottom-width: 0; +} +.datalist-lines .datagrid-row td { + border-bottom-width: 1px; +} +.datalist .datagrid-cell, +.m-list li { + width: auto; + height: auto; + padding: 2px 4px; + line-height: 18px; + position: relative; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link, +.m-list li>a { + display: block; + position: relative; + cursor: pointer; + color: #000000; + text-decoration: none; + overflow: hidden; + margin: -2px -4px; + padding: 2px 4px; + padding-right: 16px; + line-height: 18px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link::after, +.m-list li>a::after { + position: absolute; + display: block; + width: 8px; + height: 8px; + content: ''; + right: 6px; + top: 50%; + margin-top: -4px; + border-style: solid; + border-width: 1px 1px 0 0; + -ms-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -webkit-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); +} +.m-list { + margin: 0; + padding: 0; + list-style: none; +} +.m-list li { + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ccc; +} +.m-list li>a:hover { + background: #e2e2e2; + color: #000000; +} +.m-list .m-list-group { + padding: 0 4px; +} +.pagination { + zoom: 1; +} +.pagination table { + float: left; + height: 30px; +} +.pagination td { + border: 0; +} +.pagination-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ccc; + border-right: 1px solid #fff; + margin: 3px 1px; +} +.pagination .pagination-num { + border-width: 1px; + border-style: solid; + margin: 0 2px; + padding: 2px; + width: 2em; + height: auto; +} +.pagination-page-list { + margin: 0px 6px; + padding: 1px 2px; + width: auto; + height: auto; + border-width: 1px; + border-style: solid; +} +.pagination-info { + float: right; + margin: 0 6px; + padding: 0; + height: 30px; + line-height: 30px; + font-size: 12px; +} +.pagination span { + font-size: 12px; +} +.pagination-link .l-btn-text { + width: 24px; + text-align: center; + margin: 0; +} +.pagination-first { + background: url('images/pagination_icons.png') no-repeat 0 center; +} +.pagination-prev { + background: url('images/pagination_icons.png') no-repeat -16px center; +} +.pagination-next { + background: url('images/pagination_icons.png') no-repeat -32px center; +} +.pagination-last { + background: url('images/pagination_icons.png') no-repeat -48px center; +} +.pagination-load { + background: url('images/pagination_icons.png') no-repeat -64px center; +} +.pagination-loading { + background: url('images/loading.gif') no-repeat center center; +} +.pagination-page-list, +.pagination .pagination-num { + border-color: #D3D3D3; +} +.calendar { + border-width: 1px; + border-style: solid; + padding: 1px; + overflow: hidden; +} +.calendar table { + table-layout: fixed; + border-collapse: separate; + font-size: 12px; + width: 100%; + height: 100%; +} +.calendar table td, +.calendar table th { + font-size: 12px; +} +.calendar-noborder { + border: 0; +} +.calendar-header { + position: relative; + height: 22px; +} +.calendar-title { + text-align: center; + height: 22px; +} +.calendar-title span { + position: relative; + display: inline-block; + top: 2px; + padding: 0 3px; + height: 18px; + line-height: 18px; + font-size: 12px; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-prevmonth, +.calendar-nextmonth, +.calendar-prevyear, +.calendar-nextyear { + position: absolute; + top: 50%; + margin-top: -7px; + width: 14px; + height: 14px; + cursor: pointer; + font-size: 1px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-prevmonth { + left: 20px; + background: url('images/calendar_arrows.png') no-repeat -18px -2px; +} +.calendar-nextmonth { + right: 20px; + background: url('images/calendar_arrows.png') no-repeat -34px -2px; +} +.calendar-prevyear { + left: 3px; + background: url('images/calendar_arrows.png') no-repeat -1px -2px; +} +.calendar-nextyear { + right: 3px; + background: url('images/calendar_arrows.png') no-repeat -49px -2px; +} +.calendar-body { + position: relative; +} +.calendar-body th, +.calendar-body td { + text-align: center; +} +.calendar-day { + border: 0; + padding: 1px; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-other-month { + opacity: 0.3; + filter: alpha(opacity=30); +} +.calendar-disabled { + opacity: 0.6; + filter: alpha(opacity=60); + cursor: default; +} +.calendar-menu { + position: absolute; + top: 0; + left: 0; + width: 180px; + height: 150px; + padding: 5px; + font-size: 12px; + display: none; + overflow: hidden; +} +.calendar-menu-year-inner { + text-align: center; + padding-bottom: 5px; +} +.calendar-menu-year { + width: 50px; + text-align: center; + border-width: 1px; + border-style: solid; + outline-style: none; + resize: none; + margin: 0; + padding: 2px; + font-weight: bold; + font-size: 12px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-menu-prev, +.calendar-menu-next { + display: inline-block; + width: 21px; + height: 21px; + vertical-align: top; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-menu-prev { + margin-right: 10px; + background: url('images/calendar_arrows.png') no-repeat 2px 2px; +} +.calendar-menu-next { + margin-left: 10px; + background: url('images/calendar_arrows.png') no-repeat -45px 2px; +} +.calendar-menu-month { + text-align: center; + cursor: pointer; + font-weight: bold; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-body th, +.calendar-menu-month { + color: #4d4d4d; +} +.calendar-day { + color: #000000; +} +.calendar-sunday { + color: #CC2222; +} +.calendar-saturday { + color: #00ee00; +} +.calendar-today { + color: #0000ff; +} +.calendar-menu-year { + border-color: #D3D3D3; +} +.calendar { + border-color: #D3D3D3; +} +.calendar-header { + background: #f3f3f3; +} +.calendar-body, +.calendar-menu { + background: #ffffff; +} +.calendar-body th { + background: #fafafa; + padding: 2px 0; +} +.calendar-hover, +.calendar-nav-hover, +.calendar-menu-hover { + background-color: #e2e2e2; + color: #000000; +} +.calendar-hover { + border: 1px solid #ccc; + padding: 0; +} +.calendar-selected { + background-color: #0092DC; + color: #fff; + border: 1px solid #0070a9; + padding: 0; +} +.datebox-calendar-inner { + height: 180px; +} +.datebox-button { + padding: 0 5px; + text-align: center; +} +.datebox-button a { + line-height: 22px; + font-size: 12px; + font-weight: bold; + text-decoration: none; + opacity: 0.6; + filter: alpha(opacity=60); +} +.datebox-button a:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.datebox-current, +.datebox-close { + float: left; +} +.datebox-close { + float: right; +} +.datebox .combo-arrow { + background-image: url('images/datebox_arrow.png'); + background-position: center center; +} +.datebox-button { + background-color: #fafafa; +} +.datebox-button a { + color: #444; +} +.spinner-arrow { + background-color: #f3f3f3; + display: inline-block; + overflow: hidden; + vertical-align: top; + margin: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + width: 18px; +} +.spinner-arrow-up, +.spinner-arrow-down { + opacity: 0.6; + filter: alpha(opacity=60); + display: block; + font-size: 1px; + width: 18px; + height: 10px; + width: 100%; + height: 50%; + color: #444; + outline-style: none; +} +.spinner-arrow-hover { + background-color: #e2e2e2; + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-arrow-up:hover, +.spinner-arrow-down:hover { + opacity: 1.0; + filter: alpha(opacity=100); + background-color: #e2e2e2; +} +.textbox-icon-disabled .spinner-arrow-up:hover, +.textbox-icon-disabled .spinner-arrow-down:hover { + opacity: 0.6; + filter: alpha(opacity=60); + background-color: #f3f3f3; + cursor: default; +} +.spinner .textbox-icon-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-arrow-up { + background: url('images/spinner_arrows.png') no-repeat 1px center; +} +.spinner-arrow-down { + background: url('images/spinner_arrows.png') no-repeat -15px center; +} +.spinner-button-up { + background: url('images/spinner_arrows.png') no-repeat -32px center; +} +.spinner-button-down { + background: url('images/spinner_arrows.png') no-repeat -48px center; +} +.progressbar { + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + overflow: hidden; + position: relative; +} +.progressbar-text { + text-align: center; + position: absolute; +} +.progressbar-value { + position: relative; + overflow: hidden; + width: 0; + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.progressbar { + border-color: #D3D3D3; +} +.progressbar-text { + color: #000000; + font-size: 12px; +} +.progressbar-value .progressbar-text { + background-color: #0092DC; + color: #fff; +} +.searchbox-button { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.searchbox-button-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.searchbox .l-btn-plain { + border: 0; + padding: 0; + vertical-align: top; + opacity: 0.6; + filter: alpha(opacity=60); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .l-btn-plain:hover { + border: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox a.m-btn-plain-active { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .m-btn-active { + border-width: 0 1px 0 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .textbox-button-right { + border-width: 0 0 0 1px; +} +.searchbox .textbox-button-left { + border-width: 0 1px 0 0; +} +.searchbox-button { + background: url('images/searchbox_button.png') no-repeat center center; +} +.searchbox .l-btn-plain { + background: #f3f3f3; +} +.searchbox .l-btn-plain-disabled, +.searchbox .l-btn-plain-disabled:hover { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-h { + height: 22px; +} +.slider-v { + width: 22px; +} +.slider-inner { + position: relative; + height: 6px; + top: 7px; + border-width: 1px; + border-style: solid; + border-radius: 5px; +} +.slider-handle { + position: absolute; + display: block; + outline: none; + width: 20px; + height: 20px; + top: 50%; + margin-top: -10px; + margin-left: -10px; +} +.slider-tip { + position: absolute; + display: inline-block; + line-height: 12px; + font-size: 12px; + white-space: nowrap; + top: -22px; +} +.slider-rule { + position: relative; + top: 15px; +} +.slider-rule span { + position: absolute; + display: inline-block; + font-size: 0; + height: 5px; + border-width: 0 0 0 1px; + border-style: solid; +} +.slider-rulelabel { + position: relative; + top: 20px; +} +.slider-rulelabel span { + position: absolute; + display: inline-block; + font-size: 12px; +} +.slider-v .slider-inner { + width: 6px; + left: 7px; + top: 0; + float: left; +} +.slider-v .slider-handle { + left: 50%; + margin-top: -10px; +} +.slider-v .slider-tip { + left: -10px; + margin-top: -6px; +} +.slider-v .slider-rule { + float: left; + top: 0; + left: 16px; +} +.slider-v .slider-rule span { + width: 5px; + height: 'auto'; + border-left: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.slider-v .slider-rulelabel { + float: left; + top: 0; + left: 23px; +} +.slider-handle { + background: url('images/slider_handle.png') no-repeat; +} +.slider-inner { + border-color: #D3D3D3; + background: #f3f3f3; +} +.slider-rule span { + border-color: #D3D3D3; +} +.slider-rulelabel span { + color: #000000; +} +.menu { + position: absolute; + margin: 0; + padding: 2px; + border-width: 1px; + border-style: solid; + overflow: hidden; +} +.menu-inline { + position: relative; +} +.menu-item { + position: relative; + margin: 0; + padding: 0; + overflow: hidden; + white-space: nowrap; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.menu-text { + height: 20px; + line-height: 20px; + float: left; + padding-left: 28px; +} +.menu-icon { + position: absolute; + width: 16px; + height: 16px; + left: 2px; + top: 50%; + margin-top: -8px; +} +.menu-rightarrow { + position: absolute; + width: 16px; + height: 16px; + right: 0; + top: 50%; + margin-top: -8px; +} +.menu-line { + position: absolute; + left: 26px; + top: 0; + height: 2000px; + font-size: 1px; +} +.menu-sep { + margin: 3px 0px 3px 25px; + font-size: 1px; +} +.menu-noline .menu-line { + display: none; +} +.menu-noline .menu-sep { + margin-left: 0; + margin-right: 0; +} +.menu-active { + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.menu-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); + cursor: default; +} +.menu-text, +.menu-text span { + font-size: 12px; +} +.menu-shadow { + position: absolute; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + background: #ccc; + -moz-box-shadow: 2px 2px 3px #cccccc; + -webkit-box-shadow: 2px 2px 3px #cccccc; + box-shadow: 2px 2px 3px #cccccc; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.menu-rightarrow { + background: url('images/menu_arrows.png') no-repeat -32px center; +} +.menu-line { + border-left: 1px solid #ccc; + border-right: 1px solid #fff; +} +.menu-sep { + border-top: 1px solid #ccc; + border-bottom: 1px solid #fff; +} +.menu { + background-color: #f3f3f3; + border-color: #D3D3D3; + color: #444; +} +.menu-content { + background: #ffffff; +} +.menu-item { + border-color: transparent; + _border-color: #f3f3f3; +} +.menu-active { + border-color: #ccc; + color: #000000; + background: #e2e2e2; +} +.menu-active-disabled { + border-color: transparent; + background: transparent; + color: #444; +} +.m-btn-downarrow, +.s-btn-downarrow { + display: inline-block; + position: absolute; + width: 16px; + height: 16px; + font-size: 1px; + right: 0; + top: 50%; + margin-top: -8px; +} +.m-btn-active, +.s-btn-active { + background: #e2e2e2; + color: #000000; + border: 1px solid #ccc; + filter: none; +} +.m-btn-plain-active, +.s-btn-plain-active { + background: transparent; + padding: 0; + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.m-btn .l-btn-left .l-btn-text { + margin-right: 20px; +} +.m-btn .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.m-btn .l-btn-icon-right .l-btn-icon { + right: 20px; +} +.m-btn .l-btn-icon-top .l-btn-text { + margin-right: 4px; + margin-bottom: 14px; +} +.m-btn .l-btn-icon-bottom .l-btn-text { + margin-right: 4px; + margin-bottom: 34px; +} +.m-btn .l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 20px; +} +.m-btn .l-btn-icon-top .m-btn-downarrow, +.m-btn .l-btn-icon-bottom .m-btn-downarrow { + top: auto; + bottom: 0px; + left: 50%; + margin-left: -8px; +} +.m-btn-line { + display: inline-block; + position: absolute; + font-size: 1px; + display: none; +} +.m-btn .l-btn-left .m-btn-line { + right: 0; + width: 16px; + height: 500px; + border-style: solid; + border-color: #bfbfbf; + border-width: 0 0 0 1px; +} +.m-btn .l-btn-icon-top .m-btn-line, +.m-btn .l-btn-icon-bottom .m-btn-line { + left: 0; + bottom: 0; + width: 500px; + height: 16px; + border-width: 1px 0 0 0; +} +.m-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 56px; +} +.m-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 50px; +} +.m-btn-downarrow, +.s-btn-downarrow { + background: url('images/menu_arrows.png') no-repeat 0 center; +} +.m-btn-plain-active, +.s-btn-plain-active { + border-color: #ccc; + background-color: #e2e2e2; + color: #000000; +} +.s-btn:hover .m-btn-line, +.s-btn-active .m-btn-line, +.s-btn-plain-active .m-btn-line { + display: inline-block; +} +.l-btn:hover .s-btn-downarrow, +.s-btn-active .s-btn-downarrow, +.s-btn-plain-active .s-btn-downarrow { + border-style: solid; + border-color: #bfbfbf; + border-width: 0 0 0 1px; +} +.messager-body { + padding: 10px 10px 30px 10px; + overflow: auto; +} +.messager-button { + text-align: center; + padding: 5px; +} +.messager-button .l-btn { + width: 70px; +} +.messager-icon { + float: left; + width: 32px; + height: 32px; + margin: 0 10px 10px 0; +} +.messager-error { + background: url('images/messager_icons.png') no-repeat scroll -64px 0; +} +.messager-info { + background: url('images/messager_icons.png') no-repeat scroll 0 0; +} +.messager-question { + background: url('images/messager_icons.png') no-repeat scroll -32px 0; +} +.messager-warning { + background: url('images/messager_icons.png') no-repeat scroll -96px 0; +} +.messager-progress { + padding: 10px; +} +.messager-p-msg { + margin-bottom: 5px; +} +.messager-body .messager-input { + width: 100%; + padding: 4px 0; + outline-style: none; + border: 1px solid #D3D3D3; +} +.window-thinborder .messager-button { + padding-bottom: 8px; +} +.tree { + margin: 0; + padding: 0; + list-style-type: none; +} +.tree li { + white-space: nowrap; +} +.tree li ul { + list-style-type: none; + margin: 0; + padding: 0; +} +.tree-node { + height: 18px; + white-space: nowrap; + cursor: pointer; +} +.tree-hit { + cursor: pointer; +} +.tree-expanded, +.tree-collapsed, +.tree-folder, +.tree-file, +.tree-checkbox, +.tree-indent { + display: inline-block; + width: 16px; + height: 18px; + vertical-align: top; + overflow: hidden; +} +.tree-expanded { + background: url('images/tree_icons.png') no-repeat -18px 0px; +} +.tree-expanded-hover { + background: url('images/tree_icons.png') no-repeat -50px 0px; +} +.tree-collapsed { + background: url('images/tree_icons.png') no-repeat 0px 0px; +} +.tree-collapsed-hover { + background: url('images/tree_icons.png') no-repeat -32px 0px; +} +.tree-lines .tree-expanded, +.tree-lines .tree-root-first .tree-expanded { + background: url('images/tree_icons.png') no-repeat -144px 0; +} +.tree-lines .tree-collapsed, +.tree-lines .tree-root-first .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -128px 0; +} +.tree-lines .tree-node-last .tree-expanded, +.tree-lines .tree-root-one .tree-expanded { + background: url('images/tree_icons.png') no-repeat -80px 0; +} +.tree-lines .tree-node-last .tree-collapsed, +.tree-lines .tree-root-one .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -64px 0; +} +.tree-line { + background: url('images/tree_icons.png') no-repeat -176px 0; +} +.tree-join { + background: url('images/tree_icons.png') no-repeat -192px 0; +} +.tree-joinbottom { + background: url('images/tree_icons.png') no-repeat -160px 0; +} +.tree-folder { + background: url('images/tree_icons.png') no-repeat -208px 0; +} +.tree-folder-open { + background: url('images/tree_icons.png') no-repeat -224px 0; +} +.tree-file { + background: url('images/tree_icons.png') no-repeat -240px 0; +} +.tree-loading { + background: url('images/loading.gif') no-repeat center center; +} +.tree-checkbox0 { + background: url('images/tree_icons.png') no-repeat -208px -18px; +} +.tree-checkbox1 { + background: url('images/tree_icons.png') no-repeat -224px -18px; +} +.tree-checkbox2 { + background: url('images/tree_icons.png') no-repeat -240px -18px; +} +.tree-title { + font-size: 12px; + display: inline-block; + text-decoration: none; + vertical-align: top; + white-space: nowrap; + padding: 0 2px; + height: 18px; + line-height: 18px; +} +.tree-node-proxy { + font-size: 12px; + line-height: 20px; + padding: 0 2px 0 20px; + border-width: 1px; + border-style: solid; + z-index: 9900000; +} +.tree-dnd-icon { + display: inline-block; + position: absolute; + width: 16px; + height: 18px; + left: 2px; + top: 50%; + margin-top: -9px; +} +.tree-dnd-yes { + background: url('images/tree_icons.png') no-repeat -256px 0; +} +.tree-dnd-no { + background: url('images/tree_icons.png') no-repeat -256px -18px; +} +.tree-node-top { + border-top: 1px dotted red; +} +.tree-node-bottom { + border-bottom: 1px dotted red; +} +.tree-node-append .tree-title { + border: 1px dotted red; +} +.tree-editor { + border: 1px solid #D3D3D3; + font-size: 12px; + line-height: 16px; + padding: 0 4px; + margin: 0; + width: 80px; + outline-style: none; + vertical-align: top; + position: absolute; + top: 0; +} +.tree-node-proxy { + background-color: #ffffff; + color: #000000; + border-color: #D3D3D3; +} +.tree-node-hover { + background: #e2e2e2; + color: #000000; +} +.tree-node-selected { + background: #0092DC; + color: #fff; +} +.tree-node-hidden { + display: none; +} +.validatebox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; + color: #000; +} +.tooltip { + position: absolute; + display: none; + z-index: 9900000; + outline: none; + opacity: 1; + filter: alpha(opacity=100); + padding: 5px; + border-width: 1px; + border-style: solid; + border-radius: 5px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.tooltip-content { + font-size: 12px; +} +.tooltip-arrow-outer, +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + line-height: 0; + font-size: 0; + border-style: solid; + border-width: 6px; + border-color: transparent; + _border-color: tomato; + _filter: chroma(color=tomato); +} +.tooltip-arrow { + display: none \9; +} +.tooltip-right .tooltip-arrow-outer { + left: 0; + top: 50%; + margin: -6px 0 0 -13px; +} +.tooltip-right .tooltip-arrow { + left: 0; + top: 50%; + margin: -6px 0 0 -12px; +} +.tooltip-left .tooltip-arrow-outer { + right: 0; + top: 50%; + margin: -6px -13px 0 0; +} +.tooltip-left .tooltip-arrow { + right: 0; + top: 50%; + margin: -6px -12px 0 0; +} +.tooltip-top .tooltip-arrow-outer { + bottom: 0; + left: 50%; + margin: 0 0 -13px -6px; +} +.tooltip-top .tooltip-arrow { + bottom: 0; + left: 50%; + margin: 0 0 -12px -6px; +} +.tooltip-bottom .tooltip-arrow-outer { + top: 0; + left: 50%; + margin: -13px 0 0 -6px; +} +.tooltip-bottom .tooltip-arrow { + top: 0; + left: 50%; + margin: -12px 0 0 -6px; +} +.tooltip { + background-color: #ffffff; + border-color: #D3D3D3; + color: #000000; +} +.tooltip-right .tooltip-arrow-outer { + border-right-color: #D3D3D3; +} +.tooltip-right .tooltip-arrow { + border-right-color: #ffffff; +} +.tooltip-left .tooltip-arrow-outer { + border-left-color: #D3D3D3; +} +.tooltip-left .tooltip-arrow { + border-left-color: #ffffff; +} +.tooltip-top .tooltip-arrow-outer { + border-top-color: #D3D3D3; +} +.tooltip-top .tooltip-arrow { + border-top-color: #ffffff; +} +.tooltip-bottom .tooltip-arrow-outer { + border-bottom-color: #D3D3D3; +} +.tooltip-bottom .tooltip-arrow { + border-bottom-color: #ffffff; +} +.switchbutton { + text-decoration: none; + display: inline-block; + overflow: hidden; + vertical-align: middle; + margin: 0; + padding: 0; + cursor: pointer; + background: #bbb; + border: 1px solid #bbb; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.switchbutton-inner { + display: inline-block; + overflow: hidden; + position: relative; + top: -1px; + left: -1px; +} +.switchbutton-on, +.switchbutton-off, +.switchbutton-handle { + display: inline-block; + text-align: center; + height: 100%; + float: left; + font-size: 12px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.switchbutton-on { + background: #0092DC; + color: #fff; +} +.switchbutton-off { + background-color: #ffffff; + color: #000000; +} +.switchbutton-on, +.switchbutton-reversed .switchbutton-off { + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.switchbutton-off, +.switchbutton-reversed .switchbutton-on { + -moz-border-radius: 0 5px 5px 0; + -webkit-border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; +} +.switchbutton-handle { + position: absolute; + top: 0; + left: 50%; + background-color: #ffffff; + color: #000000; + border: 1px solid #bbb; + -moz-box-shadow: 0 0 3px 0 #bbb; + -webkit-box-shadow: 0 0 3px 0 #bbb; + box-shadow: 0 0 3px 0 #bbb; +} +.switchbutton-value { + position: absolute; + top: 0; + left: -5000px; +} +.switchbutton-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.switchbutton-disabled, +.switchbutton-readonly { + cursor: default; +} diff --git a/src/main/webapp/css/themes/gray/filebox.css b/src/main/webapp/css/themes/gray/filebox.css new file mode 100644 index 0000000..c6bac66 --- /dev/null +++ b/src/main/webapp/css/themes/gray/filebox.css @@ -0,0 +1,20 @@ +.filebox .textbox-value { + vertical-align: top; + position: absolute; + top: 0; + left: -5000px; +} +.filebox-label { + display: inline-block; + position: absolute; + width: 100%; + height: 100%; + cursor: pointer; + left: 0; + top: 0; + z-index: 10; + background: url('images/blank.gif') no-repeat; +} +.l-btn-disabled .filebox-label { + cursor: default; +} diff --git a/src/main/webapp/css/themes/gray/images/accordion_arrows.png b/src/main/webapp/css/themes/gray/images/accordion_arrows.png new file mode 100644 index 0000000..a0b8769 Binary files /dev/null and b/src/main/webapp/css/themes/gray/images/accordion_arrows.png differ diff --git a/src/main/webapp/css/themes/gray/images/blank.gif b/src/main/webapp/css/themes/gray/images/blank.gif new file mode 100644 index 0000000..1d11fa9 Binary files /dev/null and b/src/main/webapp/css/themes/gray/images/blank.gif differ diff --git a/src/main/webapp/css/themes/gray/images/calendar_arrows.png b/src/main/webapp/css/themes/gray/images/calendar_arrows.png new file mode 100644 index 0000000..430c4ad Binary files /dev/null and b/src/main/webapp/css/themes/gray/images/calendar_arrows.png differ diff --git a/src/main/webapp/css/themes/gray/images/combo_arrow.png b/src/main/webapp/css/themes/gray/images/combo_arrow.png new file mode 100644 index 0000000..04f4ba0 Binary files /dev/null and b/src/main/webapp/css/themes/gray/images/combo_arrow.png differ diff --git a/src/main/webapp/css/themes/gray/images/datagrid_icons.png b/src/main/webapp/css/themes/gray/images/datagrid_icons.png new file mode 100644 index 0000000..66b8343 Binary files /dev/null and b/src/main/webapp/css/themes/gray/images/datagrid_icons.png differ diff --git a/src/main/webapp/css/themes/gray/images/datebox_arrow.png b/src/main/webapp/css/themes/gray/images/datebox_arrow.png new file mode 100644 index 0000000..783c833 Binary files /dev/null and b/src/main/webapp/css/themes/gray/images/datebox_arrow.png differ diff --git a/src/main/webapp/css/themes/gray/images/layout_arrows.png b/src/main/webapp/css/themes/gray/images/layout_arrows.png new file mode 100644 index 0000000..bf7929f Binary files /dev/null and b/src/main/webapp/css/themes/gray/images/layout_arrows.png differ diff --git a/src/main/webapp/css/themes/gray/images/linkbutton_bg.png b/src/main/webapp/css/themes/gray/images/linkbutton_bg.png new file mode 100644 index 0000000..fc66bd2 Binary files /dev/null and b/src/main/webapp/css/themes/gray/images/linkbutton_bg.png differ diff --git a/src/main/webapp/css/themes/gray/images/loading.gif b/src/main/webapp/css/themes/gray/images/loading.gif new file mode 100644 index 0000000..68f01d0 Binary files /dev/null and b/src/main/webapp/css/themes/gray/images/loading.gif differ diff --git a/src/main/webapp/css/themes/gray/images/menu_arrows.png b/src/main/webapp/css/themes/gray/images/menu_arrows.png new file mode 100644 index 0000000..b986842 Binary files /dev/null and b/src/main/webapp/css/themes/gray/images/menu_arrows.png differ diff --git a/src/main/webapp/css/themes/gray/images/messager_icons.png b/src/main/webapp/css/themes/gray/images/messager_icons.png new file mode 100644 index 0000000..62c18c1 Binary files /dev/null and b/src/main/webapp/css/themes/gray/images/messager_icons.png differ diff --git a/src/main/webapp/css/themes/gray/images/pagination_icons.png b/src/main/webapp/css/themes/gray/images/pagination_icons.png new file mode 100644 index 0000000..e0f1b07 Binary files /dev/null and b/src/main/webapp/css/themes/gray/images/pagination_icons.png differ diff --git a/src/main/webapp/css/themes/gray/images/panel_tools.png b/src/main/webapp/css/themes/gray/images/panel_tools.png new file mode 100644 index 0000000..f33f8c9 Binary files /dev/null and b/src/main/webapp/css/themes/gray/images/panel_tools.png differ diff --git a/src/main/webapp/css/themes/gray/images/passwordbox_close.png b/src/main/webapp/css/themes/gray/images/passwordbox_close.png new file mode 100644 index 0000000..276b579 Binary files /dev/null and b/src/main/webapp/css/themes/gray/images/passwordbox_close.png differ diff --git a/src/main/webapp/css/themes/gray/images/passwordbox_open.png b/src/main/webapp/css/themes/gray/images/passwordbox_open.png new file mode 100644 index 0000000..0f25d53 Binary files /dev/null and b/src/main/webapp/css/themes/gray/images/passwordbox_open.png differ diff --git a/src/main/webapp/css/themes/gray/images/searchbox_button.png b/src/main/webapp/css/themes/gray/images/searchbox_button.png new file mode 100644 index 0000000..6dd1931 Binary files /dev/null and b/src/main/webapp/css/themes/gray/images/searchbox_button.png differ diff --git a/src/main/webapp/css/themes/gray/images/slider_handle.png b/src/main/webapp/css/themes/gray/images/slider_handle.png new file mode 100644 index 0000000..b9802ba Binary files /dev/null and b/src/main/webapp/css/themes/gray/images/slider_handle.png differ diff --git a/src/main/webapp/css/themes/gray/images/spinner_arrows.png b/src/main/webapp/css/themes/gray/images/spinner_arrows.png new file mode 100644 index 0000000..b1773c2 Binary files /dev/null and b/src/main/webapp/css/themes/gray/images/spinner_arrows.png differ diff --git a/src/main/webapp/css/themes/gray/images/tabs_icons.png b/src/main/webapp/css/themes/gray/images/tabs_icons.png new file mode 100644 index 0000000..dfa10f7 Binary files /dev/null and b/src/main/webapp/css/themes/gray/images/tabs_icons.png differ diff --git a/src/main/webapp/css/themes/gray/images/tagbox_icons.png b/src/main/webapp/css/themes/gray/images/tagbox_icons.png new file mode 100644 index 0000000..8ec6436 Binary files /dev/null and b/src/main/webapp/css/themes/gray/images/tagbox_icons.png differ diff --git a/src/main/webapp/css/themes/gray/images/tree_icons.png b/src/main/webapp/css/themes/gray/images/tree_icons.png new file mode 100644 index 0000000..e9be4f3 Binary files /dev/null and b/src/main/webapp/css/themes/gray/images/tree_icons.png differ diff --git a/src/main/webapp/css/themes/gray/images/validatebox_warning.png b/src/main/webapp/css/themes/gray/images/validatebox_warning.png new file mode 100644 index 0000000..2b3d4f0 Binary files /dev/null and b/src/main/webapp/css/themes/gray/images/validatebox_warning.png differ diff --git a/src/main/webapp/css/themes/gray/layout.css b/src/main/webapp/css/themes/gray/layout.css new file mode 100644 index 0000000..2321dfc --- /dev/null +++ b/src/main/webapp/css/themes/gray/layout.css @@ -0,0 +1,150 @@ +.layout { + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + z-index: 0; +} +.layout-panel { + position: absolute; + overflow: hidden; +} +.layout-body { + min-width: 1px; + min-height: 1px; +} +.layout-panel-east, +.layout-panel-west { + z-index: 2; +} +.layout-panel-north, +.layout-panel-south { + z-index: 3; +} +.layout-expand { + position: absolute; + padding: 0px; + font-size: 1px; + cursor: pointer; + z-index: 1; +} +.layout-expand .panel-header, +.layout-expand .panel-body { + background: transparent; + filter: none; + overflow: hidden; +} +.layout-expand .panel-header { + border-bottom-width: 0px; +} +.layout-expand .panel-body { + position: relative; +} +.layout-expand .panel-body .panel-icon { + margin-top: 0; + top: 0; + left: 50%; + margin-left: -8px; +} +.layout-expand-west .panel-header .panel-icon, +.layout-expand-east .panel-header .panel-icon { + display: none; +} +.layout-expand-title { + position: absolute; + top: 0; + left: 21px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.layout-expand-title-up { + position: absolute; + top: 0; + left: 0; + text-align: right; + padding-left: 5px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 0; +} +.layout-expand-with-icon { + top: 18px; +} +.layout-expand .panel-body-noheader .layout-expand-title, +.layout-expand .panel-body-noheader .panel-icon { + top: 5px; +} +.layout-expand .panel-body-noheader .layout-expand-with-icon { + top: 23px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + position: absolute; + font-size: 1px; + display: none; + z-index: 5; +} +.layout-split-proxy-h { + width: 5px; + cursor: e-resize; +} +.layout-split-proxy-v { + height: 5px; + cursor: n-resize; +} +.layout-mask { + position: absolute; + background: #fafafa; + filter: alpha(opacity=10); + opacity: 0.10; + z-index: 4; +} +.layout-button-up { + background: url('images/layout_arrows.png') no-repeat -16px -16px; +} +.layout-button-down { + background: url('images/layout_arrows.png') no-repeat -16px 0; +} +.layout-button-left { + background: url('images/layout_arrows.png') no-repeat 0 0; +} +.layout-button-right { + background: url('images/layout_arrows.png') no-repeat 0 -16px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + background-color: #bfbfbf; +} +.layout-split-north { + border-bottom: 5px solid #efefef; +} +.layout-split-south { + border-top: 5px solid #efefef; +} +.layout-split-east { + border-left: 5px solid #efefef; +} +.layout-split-west { + border-right: 5px solid #efefef; +} +.layout-expand { + background-color: #f3f3f3; +} +.layout-expand-over { + background-color: #f3f3f3; +} diff --git a/src/main/webapp/css/themes/gray/linkbutton.css b/src/main/webapp/css/themes/gray/linkbutton.css new file mode 100644 index 0000000..53280e6 --- /dev/null +++ b/src/main/webapp/css/themes/gray/linkbutton.css @@ -0,0 +1,203 @@ +.l-btn { + text-decoration: none; + display: inline-block; + overflow: hidden; + margin: 0; + padding: 0; + cursor: pointer; + outline: none; + text-align: center; + vertical-align: middle; + line-height: normal; +} +.l-btn-plain { + border-width: 0; + padding: 1px; +} +.l-btn-left { + display: inline-block; + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + vertical-align: top; +} +.l-btn-text { + display: inline-block; + vertical-align: top; + width: auto; + line-height: 24px; + font-size: 12px; + padding: 0; + margin: 0 4px; +} +.l-btn-icon { + display: inline-block; + width: 16px; + height: 16px; + line-height: 16px; + position: absolute; + top: 50%; + margin-top: -8px; + font-size: 1px; +} +.l-btn span span .l-btn-empty { + display: inline-block; + margin: 0; + width: 16px; + height: 24px; + font-size: 1px; + vertical-align: top; +} +.l-btn span .l-btn-icon-left { + padding: 0 0 0 20px; + background-position: left center; +} +.l-btn span .l-btn-icon-right { + padding: 0 20px 0 0; + background-position: right center; +} +.l-btn-icon-left .l-btn-text { + margin: 0 4px 0 24px; +} +.l-btn-icon-left .l-btn-icon { + left: 4px; +} +.l-btn-icon-right .l-btn-text { + margin: 0 24px 0 4px; +} +.l-btn-icon-right .l-btn-icon { + right: 4px; +} +.l-btn-icon-top .l-btn-text { + margin: 20px 4px 0 4px; +} +.l-btn-icon-top .l-btn-icon { + top: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-icon-bottom .l-btn-text { + margin: 0 4px 20px 4px; +} +.l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-left .l-btn-empty { + margin: 0 4px; + width: 16px; +} +.l-btn-plain:hover { + padding: 0; +} +.l-btn-focus { + outline: #0000FF dotted thin; +} +.l-btn-large .l-btn-text { + line-height: 40px; +} +.l-btn-large .l-btn-icon { + width: 32px; + height: 32px; + line-height: 32px; + margin-top: -16px; +} +.l-btn-large .l-btn-icon-left .l-btn-text { + margin-left: 40px; +} +.l-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.l-btn-large .l-btn-icon-top .l-btn-text { + margin-top: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-top .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-left .l-btn-empty { + margin: 0 4px; + width: 32px; +} +.l-btn { + color: #444; + background: #fafafa; + background-repeat: repeat-x; + border: 1px solid #bbb; + background: -webkit-linear-gradient(top,#ffffff 0,#eeeeee 100%); + background: -moz-linear-gradient(top,#ffffff 0,#eeeeee 100%); + background: -o-linear-gradient(top,#ffffff 0,#eeeeee 100%); + background: linear-gradient(to bottom,#ffffff 0,#eeeeee 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#eeeeee,GradientType=0); + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.l-btn:hover { + background: #e2e2e2; + color: #000000; + border: 1px solid #ccc; + filter: none; +} +.l-btn-plain { + background: transparent; + border-width: 0; + filter: none; +} +.l-btn-outline { + border-width: 1px; + border-color: #ccc; + padding: 0; +} +.l-btn-plain:hover { + background: #e2e2e2; + color: #000000; + border: 1px solid #ccc; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.l-btn-disabled, +.l-btn-disabled:hover { + opacity: 0.5; + cursor: default; + background: #fafafa; + color: #444; + background: -webkit-linear-gradient(top,#ffffff 0,#eeeeee 100%); + background: -moz-linear-gradient(top,#ffffff 0,#eeeeee 100%); + background: -o-linear-gradient(top,#ffffff 0,#eeeeee 100%); + background: linear-gradient(to bottom,#ffffff 0,#eeeeee 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#eeeeee,GradientType=0); +} +.l-btn-disabled .l-btn-text, +.l-btn-disabled .l-btn-icon { + filter: alpha(opacity=50); +} +.l-btn-plain-disabled, +.l-btn-plain-disabled:hover { + background: transparent; + filter: alpha(opacity=50); +} +.l-btn-selected, +.l-btn-selected:hover { + background: #ddd; + filter: none; +} +.l-btn-plain-selected, +.l-btn-plain-selected:hover { + background: #ddd; +} diff --git a/src/main/webapp/css/themes/gray/menu.css b/src/main/webapp/css/themes/gray/menu.css new file mode 100644 index 0000000..72ca080 --- /dev/null +++ b/src/main/webapp/css/themes/gray/menu.css @@ -0,0 +1,119 @@ +.menu { + position: absolute; + margin: 0; + padding: 2px; + border-width: 1px; + border-style: solid; + overflow: hidden; +} +.menu-inline { + position: relative; +} +.menu-item { + position: relative; + margin: 0; + padding: 0; + overflow: hidden; + white-space: nowrap; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.menu-text { + height: 20px; + line-height: 20px; + float: left; + padding-left: 28px; +} +.menu-icon { + position: absolute; + width: 16px; + height: 16px; + left: 2px; + top: 50%; + margin-top: -8px; +} +.menu-rightarrow { + position: absolute; + width: 16px; + height: 16px; + right: 0; + top: 50%; + margin-top: -8px; +} +.menu-line { + position: absolute; + left: 26px; + top: 0; + height: 2000px; + font-size: 1px; +} +.menu-sep { + margin: 3px 0px 3px 25px; + font-size: 1px; +} +.menu-noline .menu-line { + display: none; +} +.menu-noline .menu-sep { + margin-left: 0; + margin-right: 0; +} +.menu-active { + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.menu-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); + cursor: default; +} +.menu-text, +.menu-text span { + font-size: 12px; +} +.menu-shadow { + position: absolute; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + background: #ccc; + -moz-box-shadow: 2px 2px 3px #cccccc; + -webkit-box-shadow: 2px 2px 3px #cccccc; + box-shadow: 2px 2px 3px #cccccc; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.menu-rightarrow { + background: url('images/menu_arrows.png') no-repeat -32px center; +} +.menu-line { + border-left: 1px solid #ccc; + border-right: 1px solid #fff; +} +.menu-sep { + border-top: 1px solid #ccc; + border-bottom: 1px solid #fff; +} +.menu { + background-color: #f3f3f3; + border-color: #D3D3D3; + color: #444; +} +.menu-content { + background: #ffffff; +} +.menu-item { + border-color: transparent; + _border-color: #f3f3f3; +} +.menu-active { + border-color: #ccc; + color: #000000; + background: #e2e2e2; +} +.menu-active-disabled { + border-color: transparent; + background: transparent; + color: #444; +} diff --git a/src/main/webapp/css/themes/gray/menubutton.css b/src/main/webapp/css/themes/gray/menubutton.css new file mode 100644 index 0000000..f5732d5 --- /dev/null +++ b/src/main/webapp/css/themes/gray/menubutton.css @@ -0,0 +1,94 @@ +.m-btn-downarrow, +.s-btn-downarrow { + display: inline-block; + position: absolute; + width: 16px; + height: 16px; + font-size: 1px; + right: 0; + top: 50%; + margin-top: -8px; +} +.m-btn-active, +.s-btn-active { + background: #e2e2e2; + color: #000000; + border: 1px solid #ccc; + filter: none; +} +.m-btn-plain-active, +.s-btn-plain-active { + background: transparent; + padding: 0; + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.m-btn .l-btn-left .l-btn-text { + margin-right: 20px; +} +.m-btn .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.m-btn .l-btn-icon-right .l-btn-icon { + right: 20px; +} +.m-btn .l-btn-icon-top .l-btn-text { + margin-right: 4px; + margin-bottom: 14px; +} +.m-btn .l-btn-icon-bottom .l-btn-text { + margin-right: 4px; + margin-bottom: 34px; +} +.m-btn .l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 20px; +} +.m-btn .l-btn-icon-top .m-btn-downarrow, +.m-btn .l-btn-icon-bottom .m-btn-downarrow { + top: auto; + bottom: 0px; + left: 50%; + margin-left: -8px; +} +.m-btn-line { + display: inline-block; + position: absolute; + font-size: 1px; + display: none; +} +.m-btn .l-btn-left .m-btn-line { + right: 0; + width: 16px; + height: 500px; + border-style: solid; + border-color: #bfbfbf; + border-width: 0 0 0 1px; +} +.m-btn .l-btn-icon-top .m-btn-line, +.m-btn .l-btn-icon-bottom .m-btn-line { + left: 0; + bottom: 0; + width: 500px; + height: 16px; + border-width: 1px 0 0 0; +} +.m-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 56px; +} +.m-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 50px; +} +.m-btn-downarrow, +.s-btn-downarrow { + background: url('images/menu_arrows.png') no-repeat 0 center; +} +.m-btn-plain-active, +.s-btn-plain-active { + border-color: #ccc; + background-color: #e2e2e2; + color: #000000; +} diff --git a/src/main/webapp/css/themes/gray/messager.css b/src/main/webapp/css/themes/gray/messager.css new file mode 100644 index 0000000..1f20816 --- /dev/null +++ b/src/main/webapp/css/themes/gray/messager.css @@ -0,0 +1,44 @@ +.messager-body { + padding: 10px 10px 30px 10px; + overflow: auto; +} +.messager-button { + text-align: center; + padding: 5px; +} +.messager-button .l-btn { + width: 70px; +} +.messager-icon { + float: left; + width: 32px; + height: 32px; + margin: 0 10px 10px 0; +} +.messager-error { + background: url('images/messager_icons.png') no-repeat scroll -64px 0; +} +.messager-info { + background: url('images/messager_icons.png') no-repeat scroll 0 0; +} +.messager-question { + background: url('images/messager_icons.png') no-repeat scroll -32px 0; +} +.messager-warning { + background: url('images/messager_icons.png') no-repeat scroll -96px 0; +} +.messager-progress { + padding: 10px; +} +.messager-p-msg { + margin-bottom: 5px; +} +.messager-body .messager-input { + width: 100%; + padding: 4px 0; + outline-style: none; + border: 1px solid #D3D3D3; +} +.window-thinborder .messager-button { + padding-bottom: 8px; +} diff --git a/src/main/webapp/css/themes/gray/numberbox.css b/src/main/webapp/css/themes/gray/numberbox.css new file mode 100644 index 0000000..e69de29 diff --git a/src/main/webapp/css/themes/gray/pagination.css b/src/main/webapp/css/themes/gray/pagination.css new file mode 100644 index 0000000..11df655 --- /dev/null +++ b/src/main/webapp/css/themes/gray/pagination.css @@ -0,0 +1,71 @@ +.pagination { + zoom: 1; +} +.pagination table { + float: left; + height: 30px; +} +.pagination td { + border: 0; +} +.pagination-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ccc; + border-right: 1px solid #fff; + margin: 3px 1px; +} +.pagination .pagination-num { + border-width: 1px; + border-style: solid; + margin: 0 2px; + padding: 2px; + width: 2em; + height: auto; +} +.pagination-page-list { + margin: 0px 6px; + padding: 1px 2px; + width: auto; + height: auto; + border-width: 1px; + border-style: solid; +} +.pagination-info { + float: right; + margin: 0 6px; + padding: 0; + height: 30px; + line-height: 30px; + font-size: 12px; +} +.pagination span { + font-size: 12px; +} +.pagination-link .l-btn-text { + width: 24px; + text-align: center; + margin: 0; +} +.pagination-first { + background: url('images/pagination_icons.png') no-repeat 0 center; +} +.pagination-prev { + background: url('images/pagination_icons.png') no-repeat -16px center; +} +.pagination-next { + background: url('images/pagination_icons.png') no-repeat -32px center; +} +.pagination-last { + background: url('images/pagination_icons.png') no-repeat -48px center; +} +.pagination-load { + background: url('images/pagination_icons.png') no-repeat -64px center; +} +.pagination-loading { + background: url('images/loading.gif') no-repeat center center; +} +.pagination-page-list, +.pagination .pagination-num { + border-color: #D3D3D3; +} diff --git a/src/main/webapp/css/themes/gray/panel.css b/src/main/webapp/css/themes/gray/panel.css new file mode 100644 index 0000000..36e873e --- /dev/null +++ b/src/main/webapp/css/themes/gray/panel.css @@ -0,0 +1,265 @@ +.panel { + overflow: hidden; + text-align: left; + margin: 0; + border: 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.panel-header, +.panel-body { + border-width: 1px; + border-style: solid; +} +.panel-header { + padding: 5px; + position: relative; +} +.panel-title { + background: url('images/blank.gif') no-repeat; +} +.panel-header-noborder { + border-width: 0 0 1px 0; +} +.panel-body { + overflow: auto; + border-top-width: 0; + padding: 0; +} +.panel-body-noheader { + border-top-width: 1px; +} +.panel-body-noborder { + border-width: 0px; +} +.panel-body-nobottom { + border-bottom-width: 0; +} +.panel-with-icon { + padding-left: 18px; +} +.panel-icon, +.panel-tool { + position: absolute; + top: 50%; + margin-top: -8px; + height: 16px; + overflow: hidden; +} +.panel-icon { + left: 5px; + width: 16px; +} +.panel-tool { + right: 5px; + width: auto; +} +.panel-tool a { + display: inline-block; + width: 16px; + height: 16px; + opacity: 0.6; + filter: alpha(opacity=60); + margin: 0 0 0 2px; + vertical-align: top; +} +.panel-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + background-color: #e2e2e2; + -moz-border-radius: 3px 3px 3px 3px; + -webkit-border-radius: 3px 3px 3px 3px; + border-radius: 3px 3px 3px 3px; +} +.panel-loading { + padding: 11px 0px 10px 30px; +} +.panel-noscroll { + overflow: hidden; +} +.panel-fit, +.panel-fit body { + height: 100%; + margin: 0; + padding: 0; + border: 0; + overflow: hidden; +} +.panel-loading { + background: url('images/loading.gif') no-repeat 10px 10px; +} +.panel-tool-close { + background: url('images/panel_tools.png') no-repeat -16px 0px; +} +.panel-tool-min { + background: url('images/panel_tools.png') no-repeat 0px 0px; +} +.panel-tool-max { + background: url('images/panel_tools.png') no-repeat 0px -16px; +} +.panel-tool-restore { + background: url('images/panel_tools.png') no-repeat -16px -16px; +} +.panel-tool-collapse { + background: url('images/panel_tools.png') no-repeat -32px 0; +} +.panel-tool-expand { + background: url('images/panel_tools.png') no-repeat -32px -16px; +} +.panel-header, +.panel-body { + border-color: #D3D3D3; +} +.panel-header { + background-color: #f3f3f3; + background: -webkit-linear-gradient(top,#F8F8F8 0,#eeeeee 100%); + background: -moz-linear-gradient(top,#F8F8F8 0,#eeeeee 100%); + background: -o-linear-gradient(top,#F8F8F8 0,#eeeeee 100%); + background: linear-gradient(to bottom,#F8F8F8 0,#eeeeee 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#eeeeee,GradientType=0); +} +.panel-body { + background-color: #ffffff; + color: #000000; + font-size: 12px; +} +.panel-title { + font-size: 12px; + font-weight: bold; + color: #575765; + height: 16px; + line-height: 16px; +} +.panel-footer { + border: 1px solid #D3D3D3; + overflow: hidden; + background: #fafafa; +} +.panel-footer-noborder { + border-width: 1px 0 0 0; +} +.panel-hleft, +.panel-hright { + position: relative; +} +.panel-hleft>.panel-body, +.panel-hright>.panel-body { + position: absolute; +} +.panel-hleft>.panel-header { + float: left; +} +.panel-hright>.panel-header { + float: right; +} +.panel-hleft>.panel-body { + border-top-width: 1px; + border-left-width: 0; +} +.panel-hright>.panel-body { + border-top-width: 1px; + border-right-width: 0; +} +.panel-hleft>.panel-body-nobottom { + border-bottom-width: 1px; + border-right-width: 0; +} +.panel-hright>.panel-body-nobottom { + border-bottom-width: 1px; + border-left-width: 0; +} +.panel-hleft>.panel-footer { + position: absolute; + right: 0; +} +.panel-hright>.panel-footer { + position: absolute; + left: 0; +} +.panel-hleft>.panel-header-noborder { + border-width: 0 1px 0 0; +} +.panel-hright>.panel-header-noborder { + border-width: 0 0 0 1px; +} +.panel-hleft>.panel-body-noborder { + border-width: 0; +} +.panel-hright>.panel-body-noborder { + border-width: 0; +} +.panel-hleft>.panel-body-noheader { + border-left-width: 1px; +} +.panel-hright>.panel-body-noheader { + border-right-width: 1px; +} +.panel-hleft>.panel-footer-noborder { + border-width: 0 0 0 1px; +} +.panel-hright>.panel-footer-noborder { + border-width: 0 1px 0 0; +} +.panel-hleft>.panel-header .panel-icon, +.panel-hright>.panel-header .panel-icon { + margin-top: 0; + top: 5px; +} +.panel-hleft>.panel-header .panel-title, +.panel-hright>.panel-header .panel-title { + position: absolute; + min-width: 16px; + left: 21px; + top: 5px; + bottom: auto; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.panel-hleft>.panel-header .panel-title-up, +.panel-hright>.panel-header .panel-title-up { + position: absolute; + min-width: 16px; + left: 21px; + top: auto; + bottom: 5px; + text-align: right; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 16px; +} +.panel-hleft>.panel-header .panel-with-icon.panel-title-up, +.panel-hright>.panel-header .panel-with-icon.panel-title-up { + padding-left: 0; + padding-right: 18px; +} +.panel-hleft>.panel-header .panel-tool, +.panel-hright>.panel-header .panel-tool { + top: auto; + bottom: 5px; + width: 16px; + height: auto; + left: 50%; + margin-left: -8px; + margin-top: 0; +} +.panel-hleft>.panel-header .panel-tool a, +.panel-hright>.panel-header .panel-tool a { + margin: 2px 0 0 0; +} diff --git a/src/main/webapp/css/themes/gray/passwordbox.css b/src/main/webapp/css/themes/gray/passwordbox.css new file mode 100644 index 0000000..92c9ce5 --- /dev/null +++ b/src/main/webapp/css/themes/gray/passwordbox.css @@ -0,0 +1,6 @@ +.passwordbox-open { + background: url('images/passwordbox_open.png') no-repeat center center; +} +.passwordbox-close { + background: url('images/passwordbox_close.png') no-repeat center center; +} diff --git a/src/main/webapp/css/themes/gray/progressbar.css b/src/main/webapp/css/themes/gray/progressbar.css new file mode 100644 index 0000000..93818e3 --- /dev/null +++ b/src/main/webapp/css/themes/gray/progressbar.css @@ -0,0 +1,32 @@ +.progressbar { + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + overflow: hidden; + position: relative; +} +.progressbar-text { + text-align: center; + position: absolute; +} +.progressbar-value { + position: relative; + overflow: hidden; + width: 0; + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.progressbar { + border-color: #D3D3D3; +} +.progressbar-text { + color: #000000; + font-size: 12px; +} +.progressbar-value .progressbar-text { + background-color: #0092DC; + color: #fff; +} diff --git a/src/main/webapp/css/themes/gray/propertygrid.css b/src/main/webapp/css/themes/gray/propertygrid.css new file mode 100644 index 0000000..90e4520 --- /dev/null +++ b/src/main/webapp/css/themes/gray/propertygrid.css @@ -0,0 +1,28 @@ +.propertygrid .datagrid-view1 .datagrid-body td { + padding-bottom: 1px; + border-width: 0 1px 0 0; +} +.propertygrid .datagrid-group { + height: 21px; + overflow: hidden; + border-width: 0 0 1px 0; + border-style: solid; +} +.propertygrid .datagrid-group span { + font-weight: bold; +} +.propertygrid .datagrid-view1 .datagrid-body td { + border-color: #ddd; +} +.propertygrid .datagrid-view1 .datagrid-group { + border-color: #f3f3f3; +} +.propertygrid .datagrid-view2 .datagrid-group { + border-color: #ddd; +} +.propertygrid .datagrid-group, +.propertygrid .datagrid-view1 .datagrid-body, +.propertygrid .datagrid-view1 .datagrid-row-over, +.propertygrid .datagrid-view1 .datagrid-row-selected { + background: #f3f3f3; +} diff --git a/src/main/webapp/css/themes/gray/searchbox.css b/src/main/webapp/css/themes/gray/searchbox.css new file mode 100644 index 0000000..7b15815 --- /dev/null +++ b/src/main/webapp/css/themes/gray/searchbox.css @@ -0,0 +1,61 @@ +.searchbox-button { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.searchbox-button-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.searchbox .l-btn-plain { + border: 0; + padding: 0; + vertical-align: top; + opacity: 0.6; + filter: alpha(opacity=60); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .l-btn-plain:hover { + border: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox a.m-btn-plain-active { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .m-btn-active { + border-width: 0 1px 0 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .textbox-button-right { + border-width: 0 0 0 1px; +} +.searchbox .textbox-button-left { + border-width: 0 1px 0 0; +} +.searchbox-button { + background: url('images/searchbox_button.png') no-repeat center center; +} +.searchbox .l-btn-plain { + background: #f3f3f3; +} +.searchbox .l-btn-plain-disabled, +.searchbox .l-btn-plain-disabled:hover { + opacity: 0.5; + filter: alpha(opacity=50); +} diff --git a/src/main/webapp/css/themes/gray/slider.css b/src/main/webapp/css/themes/gray/slider.css new file mode 100644 index 0000000..b163812 --- /dev/null +++ b/src/main/webapp/css/themes/gray/slider.css @@ -0,0 +1,101 @@ +.slider-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-h { + height: 22px; +} +.slider-v { + width: 22px; +} +.slider-inner { + position: relative; + height: 6px; + top: 7px; + border-width: 1px; + border-style: solid; + border-radius: 5px; +} +.slider-handle { + position: absolute; + display: block; + outline: none; + width: 20px; + height: 20px; + top: 50%; + margin-top: -10px; + margin-left: -10px; +} +.slider-tip { + position: absolute; + display: inline-block; + line-height: 12px; + font-size: 12px; + white-space: nowrap; + top: -22px; +} +.slider-rule { + position: relative; + top: 15px; +} +.slider-rule span { + position: absolute; + display: inline-block; + font-size: 0; + height: 5px; + border-width: 0 0 0 1px; + border-style: solid; +} +.slider-rulelabel { + position: relative; + top: 20px; +} +.slider-rulelabel span { + position: absolute; + display: inline-block; + font-size: 12px; +} +.slider-v .slider-inner { + width: 6px; + left: 7px; + top: 0; + float: left; +} +.slider-v .slider-handle { + left: 50%; + margin-top: -10px; +} +.slider-v .slider-tip { + left: -10px; + margin-top: -6px; +} +.slider-v .slider-rule { + float: left; + top: 0; + left: 16px; +} +.slider-v .slider-rule span { + width: 5px; + height: 'auto'; + border-left: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.slider-v .slider-rulelabel { + float: left; + top: 0; + left: 23px; +} +.slider-handle { + background: url('images/slider_handle.png') no-repeat; +} +.slider-inner { + border-color: #D3D3D3; + background: #f3f3f3; +} +.slider-rule span { + border-color: #D3D3D3; +} +.slider-rulelabel span { + color: #000000; +} diff --git a/src/main/webapp/css/themes/gray/spinner.css b/src/main/webapp/css/themes/gray/spinner.css new file mode 100644 index 0000000..a61944d --- /dev/null +++ b/src/main/webapp/css/themes/gray/spinner.css @@ -0,0 +1,58 @@ +.spinner-arrow { + background-color: #f3f3f3; + display: inline-block; + overflow: hidden; + vertical-align: top; + margin: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + width: 18px; +} +.spinner-arrow-up, +.spinner-arrow-down { + opacity: 0.6; + filter: alpha(opacity=60); + display: block; + font-size: 1px; + width: 18px; + height: 10px; + width: 100%; + height: 50%; + color: #444; + outline-style: none; +} +.spinner-arrow-hover { + background-color: #e2e2e2; + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-arrow-up:hover, +.spinner-arrow-down:hover { + opacity: 1.0; + filter: alpha(opacity=100); + background-color: #e2e2e2; +} +.textbox-icon-disabled .spinner-arrow-up:hover, +.textbox-icon-disabled .spinner-arrow-down:hover { + opacity: 0.6; + filter: alpha(opacity=60); + background-color: #f3f3f3; + cursor: default; +} +.spinner .textbox-icon-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-arrow-up { + background: url('images/spinner_arrows.png') no-repeat 1px center; +} +.spinner-arrow-down { + background: url('images/spinner_arrows.png') no-repeat -15px center; +} +.spinner-button-up { + background: url('images/spinner_arrows.png') no-repeat -32px center; +} +.spinner-button-down { + background: url('images/spinner_arrows.png') no-repeat -48px center; +} diff --git a/src/main/webapp/css/themes/gray/splitbutton.css b/src/main/webapp/css/themes/gray/splitbutton.css new file mode 100644 index 0000000..bb2b6da --- /dev/null +++ b/src/main/webapp/css/themes/gray/splitbutton.css @@ -0,0 +1,12 @@ +.s-btn:hover .m-btn-line, +.s-btn-active .m-btn-line, +.s-btn-plain-active .m-btn-line { + display: inline-block; +} +.l-btn:hover .s-btn-downarrow, +.s-btn-active .s-btn-downarrow, +.s-btn-plain-active .s-btn-downarrow { + border-style: solid; + border-color: #bfbfbf; + border-width: 0 0 0 1px; +} diff --git a/src/main/webapp/css/themes/gray/switchbutton.css b/src/main/webapp/css/themes/gray/switchbutton.css new file mode 100644 index 0000000..a33305c --- /dev/null +++ b/src/main/webapp/css/themes/gray/switchbutton.css @@ -0,0 +1,77 @@ +.switchbutton { + text-decoration: none; + display: inline-block; + overflow: hidden; + vertical-align: middle; + margin: 0; + padding: 0; + cursor: pointer; + background: #bbb; + border: 1px solid #bbb; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.switchbutton-inner { + display: inline-block; + overflow: hidden; + position: relative; + top: -1px; + left: -1px; +} +.switchbutton-on, +.switchbutton-off, +.switchbutton-handle { + display: inline-block; + text-align: center; + height: 100%; + float: left; + font-size: 12px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.switchbutton-on { + background: #0092DC; + color: #fff; +} +.switchbutton-off { + background-color: #ffffff; + color: #000000; +} +.switchbutton-on, +.switchbutton-reversed .switchbutton-off { + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.switchbutton-off, +.switchbutton-reversed .switchbutton-on { + -moz-border-radius: 0 5px 5px 0; + -webkit-border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; +} +.switchbutton-handle { + position: absolute; + top: 0; + left: 50%; + background-color: #ffffff; + color: #000000; + border: 1px solid #bbb; + -moz-box-shadow: 0 0 3px 0 #bbb; + -webkit-box-shadow: 0 0 3px 0 #bbb; + box-shadow: 0 0 3px 0 #bbb; +} +.switchbutton-value { + position: absolute; + top: 0; + left: -5000px; +} +.switchbutton-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.switchbutton-disabled, +.switchbutton-readonly { + cursor: default; +} diff --git a/src/main/webapp/css/themes/gray/tabs.css b/src/main/webapp/css/themes/gray/tabs.css new file mode 100644 index 0000000..bbdd989 --- /dev/null +++ b/src/main/webapp/css/themes/gray/tabs.css @@ -0,0 +1,413 @@ +.tabs-container { + overflow: hidden; +} +.tabs-header { + border-width: 1px; + border-style: solid; + border-bottom-width: 0; + position: relative; + padding: 0; + padding-top: 2px; + overflow: hidden; +} +.tabs-scroller-left, +.tabs-scroller-right { + position: absolute; + top: auto; + bottom: 0; + width: 18px; + font-size: 1px; + display: none; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.tabs-scroller-left { + left: 0; +} +.tabs-scroller-right { + right: 0; +} +.tabs-tool { + position: absolute; + bottom: 0; + padding: 1px; + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.tabs-header-plain .tabs-tool { + padding: 0 1px; +} +.tabs-wrap { + position: relative; + left: 0; + overflow: hidden; + width: 100%; + margin: 0; + padding: 0; +} +.tabs-scrolling { + margin-left: 18px; + margin-right: 18px; +} +.tabs-disabled { + opacity: 0.3; + filter: alpha(opacity=30); +} +.tabs { + list-style-type: none; + height: 26px; + margin: 0px; + padding: 0px; + padding-left: 4px; + width: 50000px; + border-style: solid; + border-width: 0 0 1px 0; +} +.tabs li { + float: left; + display: inline-block; + margin: 0 4px -1px 0; + padding: 0; + position: relative; + border: 0; +} +.tabs li a.tabs-inner { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0 10px; + height: 25px; + line-height: 25px; + text-align: center; + white-space: nowrap; + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 0 0; + -webkit-border-radius: 5px 5px 0 0; + border-radius: 5px 5px 0 0; +} +.tabs li.tabs-selected a.tabs-inner { + font-weight: bold; + outline: none; +} +.tabs li.tabs-selected a:hover.tabs-inner { + cursor: default; + pointer: default; +} +.tabs li a.tabs-close, +.tabs-p-tool { + position: absolute; + font-size: 1px; + display: block; + height: 12px; + padding: 0; + top: 50%; + margin-top: -6px; + overflow: hidden; +} +.tabs li a.tabs-close { + width: 12px; + right: 5px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs-p-tool { + right: 16px; +} +.tabs-p-tool a { + display: inline-block; + font-size: 1px; + width: 12px; + height: 12px; + margin: 0; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs li a:hover.tabs-close, +.tabs-p-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + cursor: hand; + cursor: pointer; +} +.tabs-with-icon { + padding-left: 18px; +} +.tabs-icon { + position: absolute; + width: 16px; + height: 16px; + left: 10px; + top: 50%; + margin-top: -8px; +} +.tabs-title { + font-size: 12px; +} +.tabs-closable { + padding-right: 8px; +} +.tabs-panels { + margin: 0px; + padding: 0px; + border-width: 1px; + border-style: solid; + border-top-width: 0; + overflow: hidden; +} +.tabs-header-bottom { + border-width: 0 1px 1px 1px; + padding: 0 0 2px 0; +} +.tabs-header-bottom .tabs { + border-width: 1px 0 0 0; +} +.tabs-header-bottom .tabs li { + margin: -1px 4px 0 0; +} +.tabs-header-bottom .tabs li a.tabs-inner { + -moz-border-radius: 0 0 5px 5px; + -webkit-border-radius: 0 0 5px 5px; + border-radius: 0 0 5px 5px; +} +.tabs-header-bottom .tabs-tool { + top: 0; +} +.tabs-header-bottom .tabs-scroller-left, +.tabs-header-bottom .tabs-scroller-right { + top: 0; + bottom: auto; +} +.tabs-panels-top { + border-width: 1px 1px 0 1px; +} +.tabs-header-left { + float: left; + border-width: 1px 0 1px 1px; + padding: 0; +} +.tabs-header-right { + float: right; + border-width: 1px 1px 1px 0; + padding: 0; +} +.tabs-header-left .tabs-wrap, +.tabs-header-right .tabs-wrap { + height: 100%; +} +.tabs-header-left .tabs { + height: 100%; + padding: 4px 0 0 2px; + border-width: 0 1px 0 0; +} +.tabs-header-right .tabs { + height: 100%; + padding: 4px 2px 0 0; + border-width: 0 0 0 1px; +} +.tabs-header-left .tabs li, +.tabs-header-right .tabs li { + display: block; + width: 100%; + position: relative; +} +.tabs-header-left .tabs li { + left: auto; + right: 0; + margin: 0 -1px 4px 0; + float: right; +} +.tabs-header-right .tabs li { + left: 0; + right: auto; + margin: 0 0 4px -1px; + float: left; +} +.tabs-justified li a.tabs-inner { + padding-left: 0; + padding-right: 0; +} +.tabs-header-left .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.tabs-header-right .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 0 5px 5px 0; + -webkit-border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; +} +.tabs-panels-right { + float: right; + border-width: 1px 1px 1px 0; +} +.tabs-panels-left { + float: left; + border-width: 1px 0 1px 1px; +} +.tabs-header-noborder, +.tabs-panels-noborder { + border: 0px; +} +.tabs-header-plain { + border: 0px; + background: transparent; +} +.tabs-pill { + padding-bottom: 3px; +} +.tabs-header-bottom .tabs-pill { + padding-top: 3px; + padding-bottom: 0; +} +.tabs-header-left .tabs-pill { + padding-right: 3px; +} +.tabs-header-right .tabs-pill { + padding-left: 3px; +} +.tabs-header .tabs-pill li a.tabs-inner { + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.tabs-header-narrow, +.tabs-header-narrow .tabs-narrow { + padding: 0; +} +.tabs-narrow li, +.tabs-header-bottom .tabs-narrow li { + margin-left: 0; + margin-right: -1px; +} +.tabs-narrow li.tabs-last, +.tabs-header-bottom .tabs-narrow li.tabs-last { + margin-right: 0; +} +.tabs-header-left .tabs-narrow, +.tabs-header-right .tabs-narrow { + padding-top: 0; +} +.tabs-header-left .tabs-narrow li { + margin-bottom: -1px; + margin-right: -1px; +} +.tabs-header-left .tabs-narrow li.tabs-last, +.tabs-header-right .tabs-narrow li.tabs-last { + margin-bottom: 0; +} +.tabs-header-right .tabs-narrow li { + margin-bottom: -1px; + margin-left: -1px; +} +.tabs-scroller-left { + background: #f3f3f3 url('images/tabs_icons.png') no-repeat 1px center; +} +.tabs-scroller-right { + background: #f3f3f3 url('images/tabs_icons.png') no-repeat -15px center; +} +.tabs li a.tabs-close { + background: url('images/tabs_icons.png') no-repeat -34px center; +} +.tabs li a.tabs-inner:hover { + background: #e2e2e2; + color: #000000; + filter: none; +} +.tabs li.tabs-selected a.tabs-inner { + background-color: #ffffff; + color: #575765; + background: -webkit-linear-gradient(top,#F8F8F8 0,#ffffff 100%); + background: -moz-linear-gradient(top,#F8F8F8 0,#ffffff 100%); + background: -o-linear-gradient(top,#F8F8F8 0,#ffffff 100%); + background: linear-gradient(to bottom,#F8F8F8 0,#ffffff 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#ffffff,GradientType=0); +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(top,#ffffff 0,#F8F8F8 100%); + background: -moz-linear-gradient(top,#ffffff 0,#F8F8F8 100%); + background: -o-linear-gradient(top,#ffffff 0,#F8F8F8 100%); + background: linear-gradient(to bottom,#ffffff 0,#F8F8F8 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F8F8F8,GradientType=0); +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(left,#F8F8F8 0,#ffffff 100%); + background: -moz-linear-gradient(left,#F8F8F8 0,#ffffff 100%); + background: -o-linear-gradient(left,#F8F8F8 0,#ffffff 100%); + background: linear-gradient(to right,#F8F8F8 0,#ffffff 100%); + background-repeat: repeat-y; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#ffffff,GradientType=1); +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(left,#ffffff 0,#F8F8F8 100%); + background: -moz-linear-gradient(left,#ffffff 0,#F8F8F8 100%); + background: -o-linear-gradient(left,#ffffff 0,#F8F8F8 100%); + background: linear-gradient(to right,#ffffff 0,#F8F8F8 100%); + background-repeat: repeat-y; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#F8F8F8,GradientType=1); +} +.tabs li a.tabs-inner { + color: #575765; + background-color: #f3f3f3; + background: -webkit-linear-gradient(top,#F8F8F8 0,#eeeeee 100%); + background: -moz-linear-gradient(top,#F8F8F8 0,#eeeeee 100%); + background: -o-linear-gradient(top,#F8F8F8 0,#eeeeee 100%); + background: linear-gradient(to bottom,#F8F8F8 0,#eeeeee 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#eeeeee,GradientType=0); +} +.tabs-header, +.tabs-tool { + background-color: #f3f3f3; +} +.tabs-header-plain { + background: transparent; +} +.tabs-header, +.tabs-scroller-left, +.tabs-scroller-right, +.tabs-tool, +.tabs, +.tabs-panels, +.tabs li a.tabs-inner, +.tabs li.tabs-selected a.tabs-inner, +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, +.tabs-header-left .tabs li.tabs-selected a.tabs-inner, +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-color: #D3D3D3; +} +.tabs-p-tool a:hover, +.tabs li a:hover.tabs-close, +.tabs-scroller-over { + background-color: #e2e2e2; +} +.tabs li.tabs-selected a.tabs-inner { + border-bottom: 1px solid #ffffff; +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + border-top: 1px solid #ffffff; +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + border-right: 1px solid #ffffff; +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-left: 1px solid #ffffff; +} +.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { + background: #0092DC; + color: #fff; + filter: none; + border-color: #D3D3D3; +} diff --git a/src/main/webapp/css/themes/gray/tagbox.css b/src/main/webapp/css/themes/gray/tagbox.css new file mode 100644 index 0000000..46cbd33 --- /dev/null +++ b/src/main/webapp/css/themes/gray/tagbox.css @@ -0,0 +1,44 @@ +.tagbox { + cursor: text; +} +.tagbox .textbox-text { + float: left; +} +.tagbox-label { + position: relative; + display: block; + margin: 4px 0 0 4px; + padding: 0 20px 0 4px; + float: left; + vertical-align: top; + text-decoration: none; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + background: #e2e2e2; + color: #000000; +} +.tagbox-remove { + background: url('images/tagbox_icons.png') no-repeat -16px center; + position: absolute; + display: block; + width: 16px; + height: 16px; + right: 2px; + top: 50%; + margin-top: -8px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tagbox-remove:hover { + opacity: 1; + filter: alpha(opacity=100); +} +.textbox-disabled .tagbox-label { + cursor: default; +} +.textbox-disabled .tagbox-remove:hover { + cursor: default; + opacity: 0.6; + filter: alpha(opacity=60); +} diff --git a/src/main/webapp/css/themes/gray/textbox.css b/src/main/webapp/css/themes/gray/textbox.css new file mode 100644 index 0000000..d86f4b3 --- /dev/null +++ b/src/main/webapp/css/themes/gray/textbox.css @@ -0,0 +1,139 @@ +.textbox { + position: relative; + border: 1px solid #D3D3D3; + background-color: #fff; + vertical-align: middle; + display: inline-block; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.textbox .textbox-text { + font-size: 12px; + border: 0; + margin: 0; + padding: 4px; + white-space: normal; + vertical-align: top; + outline-style: none; + resize: none; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.textbox .textbox-text::-ms-clear, +.textbox .textbox-text::-ms-reveal { + display: none; +} +.textbox textarea.textbox-text { + white-space: pre-wrap; +} +.textbox .textbox-prompt { + font-size: 12px; + color: #aaa; +} +.textbox .textbox-bgicon { + background-position: 3px center; + padding-left: 21px; +} +.textbox .textbox-button, +.textbox .textbox-button:hover { + position: absolute; + top: 0; + padding: 0; + vertical-align: top; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.textbox .textbox-button-right, +.textbox .textbox-button-right:hover { + right: 0; + border-width: 0 0 0 1px; +} +.textbox .textbox-button-left, +.textbox .textbox-button-left:hover { + left: 0; + border-width: 0 1px 0 0; +} +.textbox .textbox-button-top, +.textbox .textbox-button-top:hover { + left: 0; + border-width: 0 0 1px 0; +} +.textbox .textbox-button-bottom, +.textbox .textbox-button-bottom:hover { + top: auto; + bottom: 0; + left: 0; + border-width: 1px 0 0 0; +} +.textbox-addon { + position: absolute; + top: 0; +} +.textbox-label { + display: inline-block; + width: 80px; + height: 22px; + line-height: 22px; + vertical-align: middle; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + margin: 0; + padding-right: 5px; +} +.textbox-label-after { + padding-left: 5px; + padding-right: 0; +} +.textbox-label-top { + display: block; + width: auto; + padding: 0; +} +.textbox-disabled, +.textbox-label-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-icon { + display: inline-block; + width: 18px; + height: 20px; + overflow: hidden; + vertical-align: top; + background-position: center center; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); + text-decoration: none; + outline-style: none; +} +.textbox-icon-disabled, +.textbox-icon-readonly { + cursor: default; +} +.textbox-icon:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.textbox-icon-disabled:hover { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-focused { + border-color: #bababa; + -moz-box-shadow: 0 0 3px 0 #D3D3D3; + -webkit-box-shadow: 0 0 3px 0 #D3D3D3; + box-shadow: 0 0 3px 0 #D3D3D3; +} +.textbox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; +} diff --git a/src/main/webapp/css/themes/gray/tooltip.css b/src/main/webapp/css/themes/gray/tooltip.css new file mode 100644 index 0000000..e2ba0c5 --- /dev/null +++ b/src/main/webapp/css/themes/gray/tooltip.css @@ -0,0 +1,103 @@ +.tooltip { + position: absolute; + display: none; + z-index: 9900000; + outline: none; + opacity: 1; + filter: alpha(opacity=100); + padding: 5px; + border-width: 1px; + border-style: solid; + border-radius: 5px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.tooltip-content { + font-size: 12px; +} +.tooltip-arrow-outer, +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + line-height: 0; + font-size: 0; + border-style: solid; + border-width: 6px; + border-color: transparent; + _border-color: tomato; + _filter: chroma(color=tomato); +} +.tooltip-arrow { + display: none \9; +} +.tooltip-right .tooltip-arrow-outer { + left: 0; + top: 50%; + margin: -6px 0 0 -13px; +} +.tooltip-right .tooltip-arrow { + left: 0; + top: 50%; + margin: -6px 0 0 -12px; +} +.tooltip-left .tooltip-arrow-outer { + right: 0; + top: 50%; + margin: -6px -13px 0 0; +} +.tooltip-left .tooltip-arrow { + right: 0; + top: 50%; + margin: -6px -12px 0 0; +} +.tooltip-top .tooltip-arrow-outer { + bottom: 0; + left: 50%; + margin: 0 0 -13px -6px; +} +.tooltip-top .tooltip-arrow { + bottom: 0; + left: 50%; + margin: 0 0 -12px -6px; +} +.tooltip-bottom .tooltip-arrow-outer { + top: 0; + left: 50%; + margin: -13px 0 0 -6px; +} +.tooltip-bottom .tooltip-arrow { + top: 0; + left: 50%; + margin: -12px 0 0 -6px; +} +.tooltip { + background-color: #ffffff; + border-color: #D3D3D3; + color: #000000; +} +.tooltip-right .tooltip-arrow-outer { + border-right-color: #D3D3D3; +} +.tooltip-right .tooltip-arrow { + border-right-color: #ffffff; +} +.tooltip-left .tooltip-arrow-outer { + border-left-color: #D3D3D3; +} +.tooltip-left .tooltip-arrow { + border-left-color: #ffffff; +} +.tooltip-top .tooltip-arrow-outer { + border-top-color: #D3D3D3; +} +.tooltip-top .tooltip-arrow { + border-top-color: #ffffff; +} +.tooltip-bottom .tooltip-arrow-outer { + border-bottom-color: #D3D3D3; +} +.tooltip-bottom .tooltip-arrow { + border-bottom-color: #ffffff; +} diff --git a/src/main/webapp/css/themes/gray/tree.css b/src/main/webapp/css/themes/gray/tree.css new file mode 100644 index 0000000..a39504f --- /dev/null +++ b/src/main/webapp/css/themes/gray/tree.css @@ -0,0 +1,161 @@ +.tree { + margin: 0; + padding: 0; + list-style-type: none; +} +.tree li { + white-space: nowrap; +} +.tree li ul { + list-style-type: none; + margin: 0; + padding: 0; +} +.tree-node { + height: 18px; + white-space: nowrap; + cursor: pointer; +} +.tree-hit { + cursor: pointer; +} +.tree-expanded, +.tree-collapsed, +.tree-folder, +.tree-file, +.tree-checkbox, +.tree-indent { + display: inline-block; + width: 16px; + height: 18px; + vertical-align: top; + overflow: hidden; +} +.tree-expanded { + background: url('images/tree_icons.png') no-repeat -18px 0px; +} +.tree-expanded-hover { + background: url('images/tree_icons.png') no-repeat -50px 0px; +} +.tree-collapsed { + background: url('images/tree_icons.png') no-repeat 0px 0px; +} +.tree-collapsed-hover { + background: url('images/tree_icons.png') no-repeat -32px 0px; +} +.tree-lines .tree-expanded, +.tree-lines .tree-root-first .tree-expanded { + background: url('images/tree_icons.png') no-repeat -144px 0; +} +.tree-lines .tree-collapsed, +.tree-lines .tree-root-first .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -128px 0; +} +.tree-lines .tree-node-last .tree-expanded, +.tree-lines .tree-root-one .tree-expanded { + background: url('images/tree_icons.png') no-repeat -80px 0; +} +.tree-lines .tree-node-last .tree-collapsed, +.tree-lines .tree-root-one .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -64px 0; +} +.tree-line { + background: url('images/tree_icons.png') no-repeat -176px 0; +} +.tree-join { + background: url('images/tree_icons.png') no-repeat -192px 0; +} +.tree-joinbottom { + background: url('images/tree_icons.png') no-repeat -160px 0; +} +.tree-folder { + background: url('images/tree_icons.png') no-repeat -208px 0; +} +.tree-folder-open { + background: url('images/tree_icons.png') no-repeat -224px 0; +} +.tree-file { + background: url('images/tree_icons.png') no-repeat -240px 0; +} +.tree-loading { + background: url('images/loading.gif') no-repeat center center; +} +.tree-checkbox0 { + background: url('images/tree_icons.png') no-repeat -208px -18px; +} +.tree-checkbox1 { + background: url('images/tree_icons.png') no-repeat -224px -18px; +} +.tree-checkbox2 { + background: url('images/tree_icons.png') no-repeat -240px -18px; +} +.tree-title { + font-size: 12px; + display: inline-block; + text-decoration: none; + vertical-align: top; + white-space: nowrap; + padding: 0 2px; + height: 18px; + line-height: 18px; +} +.tree-node-proxy { + font-size: 12px; + line-height: 20px; + padding: 0 2px 0 20px; + border-width: 1px; + border-style: solid; + z-index: 9900000; +} +.tree-dnd-icon { + display: inline-block; + position: absolute; + width: 16px; + height: 18px; + left: 2px; + top: 50%; + margin-top: -9px; +} +.tree-dnd-yes { + background: url('images/tree_icons.png') no-repeat -256px 0; +} +.tree-dnd-no { + background: url('images/tree_icons.png') no-repeat -256px -18px; +} +.tree-node-top { + border-top: 1px dotted red; +} +.tree-node-bottom { + border-bottom: 1px dotted red; +} +.tree-node-append .tree-title { + border: 1px dotted red; +} +.tree-editor { + border: 1px solid #D3D3D3; + font-size: 12px; + line-height: 16px; + padding: 0 4px; + margin: 0; + width: 80px; + outline-style: none; + vertical-align: top; + position: absolute; + top: 0; +} +.tree-node-proxy { + background-color: #ffffff; + color: #000000; + border-color: #D3D3D3; +} +.tree-node-hover { + background: #e2e2e2; + color: #000000; +} +.tree-node-selected { + background: #0092DC; + color: #fff; +} +.tree-node-hidden { + display: none; +} diff --git a/src/main/webapp/css/themes/gray/validatebox.css b/src/main/webapp/css/themes/gray/validatebox.css new file mode 100644 index 0000000..1fc3ad6 --- /dev/null +++ b/src/main/webapp/css/themes/gray/validatebox.css @@ -0,0 +1,5 @@ +.validatebox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; + color: #000; +} diff --git a/src/main/webapp/css/themes/gray/window.css b/src/main/webapp/css/themes/gray/window.css new file mode 100644 index 0000000..bd69fdb --- /dev/null +++ b/src/main/webapp/css/themes/gray/window.css @@ -0,0 +1,183 @@ +.window { + overflow: hidden; + padding: 5px; + border-width: 1px; + border-style: solid; +} +.window .window-header { + background: transparent; + padding: 0px 0px 6px 0px; +} +.window .window-body { + border-width: 1px; + border-style: solid; + border-top-width: 0px; +} +.window .window-body-noheader { + border-top-width: 1px; +} +.window .panel-body-nobottom { + border-bottom-width: 0; +} +.window .window-header .panel-icon, +.window .window-header .panel-tool { + top: 50%; + margin-top: -11px; +} +.window .window-header .panel-icon { + left: 1px; +} +.window .window-header .panel-tool { + right: 1px; +} +.window .window-header .panel-with-icon { + padding-left: 18px; +} +.window-proxy { + position: absolute; + overflow: hidden; +} +.window-proxy-mask { + position: absolute; + filter: alpha(opacity=5); + opacity: 0.05; +} +.window-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + filter: alpha(opacity=40); + opacity: 0.40; + font-size: 1px; + overflow: hidden; +} +.window, +.window-shadow { + position: absolute; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.window-shadow { + background: #ccc; + -moz-box-shadow: 2px 2px 3px #cccccc; + -webkit-box-shadow: 2px 2px 3px #cccccc; + box-shadow: 2px 2px 3px #cccccc; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.window, +.window .window-body { + border-color: #D3D3D3; +} +.window { + background-color: #f3f3f3; + background: -webkit-linear-gradient(top,#F8F8F8 0,#eeeeee 20%); + background: -moz-linear-gradient(top,#F8F8F8 0,#eeeeee 20%); + background: -o-linear-gradient(top,#F8F8F8 0,#eeeeee 20%); + background: linear-gradient(to bottom,#F8F8F8 0,#eeeeee 20%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F8F8F8,endColorstr=#eeeeee,GradientType=0); +} +.window-proxy { + border: 1px dashed #D3D3D3; +} +.window-proxy-mask, +.window-mask { + background: #ccc; +} +.window .panel-footer { + border: 1px solid #D3D3D3; + position: relative; + top: -1px; +} +.window-thinborder { + padding: 0; +} +.window-thinborder .window-header { + padding: 5px 5px 6px 5px; +} +.window-thinborder .window-body { + border-width: 0px; +} +.window-thinborder .window-header .panel-icon, +.window-thinborder .window-header .panel-tool { + margin-top: -9px; + margin-left: 5px; + margin-right: 5px; +} +.window-noborder { + border: 0; +} +.window.panel-hleft .window-header { + padding: 0 6px 0 0; +} +.window.panel-hright .window-header { + padding: 0 0 0 6px; +} +.window.panel-hleft>.panel-header .panel-title { + top: auto; + left: 16px; +} +.window.panel-hright>.panel-header .panel-title { + top: auto; + right: 16px; +} +.window.panel-hleft>.panel-header .panel-title-up, +.window.panel-hright>.panel-header .panel-title-up { + bottom: 0; +} +.window.panel-hleft .window-body { + border-width: 1px 1px 1px 0; +} +.window.panel-hright .window-body { + border-width: 1px 0 1px 1px; +} +.window.panel-hleft .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: 0; +} +.window.panel-hright .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: auto; + right: 1px; +} +.window.panel-hleft .window-header .panel-tool, +.window.panel-hright .window-header .panel-tool { + margin-top: 0; + top: auto; + bottom: 1px; + right: auto; + margin-right: 0; + left: 50%; + margin-left: -11px; +} +.window.panel-hright .window-header .panel-tool { + left: auto; + right: 1px; +} +.window-thinborder.panel-hleft .window-header { + padding: 5px 6px 5px 5px; +} +.window-thinborder.panel-hright .window-header { + padding: 5px 5px 5px 6px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title { + left: 21px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title-up, +.window-thinborder.panel-hright>.panel-header .panel-title-up { + bottom: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-icon, +.window-thinborder.panel-hright .window-header .panel-icon { + margin-top: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-tool, +.window-thinborder.panel-hright .window-header .panel-tool { + left: 16px; + bottom: 5px; +} diff --git a/src/main/webapp/css/themes/icon.css b/src/main/webapp/css/themes/icon.css new file mode 100644 index 0000000..c2d3b21 --- /dev/null +++ b/src/main/webapp/css/themes/icon.css @@ -0,0 +1,96 @@ +.icon-blank{ + background:url('icons/blank.gif') no-repeat center center; +} +.icon-add{ + background:url('icons/edit_add.png') no-repeat center center; +} +.icon-edit{ + background:url('icons/pencil.png') no-repeat center center; +} +.icon-clear{ + background:url('icons/clear.png') no-repeat center center; +} +.icon-remove{ + background:url('icons/edit_remove.png') no-repeat center center; +} +.icon-save{ + background:url('icons/filesave.png') no-repeat center center; +} +.icon-cut{ + background:url('icons/cut.png') no-repeat center center; +} +.icon-ok{ + background:url('icons/ok.png') no-repeat center center; +} +.icon-no{ + background:url('icons/no.png') no-repeat center center; +} +.icon-cancel{ + background:url('icons/cancel.png') no-repeat center center; +} +.icon-reload{ + background:url('icons/reload.png') no-repeat center center; +} +.icon-search{ + background:url('icons/search.png') no-repeat center center; +} +.icon-print{ + background:url('icons/print.png') no-repeat center center; +} +.icon-help{ + background:url('icons/help.png') no-repeat center center; +} +.icon-undo{ + background:url('icons/undo.png') no-repeat center center; +} +.icon-redo{ + background:url('icons/redo.png') no-repeat center center; +} +.icon-back{ + background:url('icons/back.png') no-repeat center center; +} +.icon-sum{ + background:url('icons/sum.png') no-repeat center center; +} +.icon-tip{ + background:url('icons/tip.png') no-repeat center center; +} +.icon-filter{ + background:url('icons/filter.png') no-repeat center center; +} +.icon-man{ + background:url('icons/man.png') no-repeat center center; +} +.icon-lock{ + background:url('icons/lock.png') no-repeat center center; +} +.icon-more{ + background:url('icons/more.png') no-repeat center center; +} + + +.icon-mini-add{ + background:url('icons/mini_add.png') no-repeat center center; +} +.icon-mini-edit{ + background:url('icons/mini_edit.png') no-repeat center center; +} +.icon-mini-refresh{ + background:url('icons/mini_refresh.png') no-repeat center center; +} + +.icon-large-picture{ + background:url('icons/large_picture.png') no-repeat center center; +} +.icon-large-clipart{ + background:url('icons/large_clipart.png') no-repeat center center; +} +.icon-large-shapes{ + background:url('icons/large_shapes.png') no-repeat center center; +} +.icon-large-smartart{ + background:url('icons/large_smartart.png') no-repeat center center; +} +.icon-large-chart{ + background:url('icons/large_chart.png') no-repeat center center; +} diff --git a/src/main/webapp/css/themes/icons/back.png b/src/main/webapp/css/themes/icons/back.png new file mode 100644 index 0000000..3fe8b17 Binary files /dev/null and b/src/main/webapp/css/themes/icons/back.png differ diff --git a/src/main/webapp/css/themes/icons/blank.gif b/src/main/webapp/css/themes/icons/blank.gif new file mode 100644 index 0000000..1d11fa9 Binary files /dev/null and b/src/main/webapp/css/themes/icons/blank.gif differ diff --git a/src/main/webapp/css/themes/icons/cancel.png b/src/main/webapp/css/themes/icons/cancel.png new file mode 100644 index 0000000..a432b49 Binary files /dev/null and b/src/main/webapp/css/themes/icons/cancel.png differ diff --git a/src/main/webapp/css/themes/icons/clear.png b/src/main/webapp/css/themes/icons/clear.png new file mode 100644 index 0000000..74b9af9 Binary files /dev/null and b/src/main/webapp/css/themes/icons/clear.png differ diff --git a/src/main/webapp/css/themes/icons/cut.png b/src/main/webapp/css/themes/icons/cut.png new file mode 100644 index 0000000..21fdb4d Binary files /dev/null and b/src/main/webapp/css/themes/icons/cut.png differ diff --git a/src/main/webapp/css/themes/icons/edit_add.png b/src/main/webapp/css/themes/icons/edit_add.png new file mode 100644 index 0000000..e948508 Binary files /dev/null and b/src/main/webapp/css/themes/icons/edit_add.png differ diff --git a/src/main/webapp/css/themes/icons/edit_remove.png b/src/main/webapp/css/themes/icons/edit_remove.png new file mode 100644 index 0000000..d555d92 Binary files /dev/null and b/src/main/webapp/css/themes/icons/edit_remove.png differ diff --git a/src/main/webapp/css/themes/icons/filesave.png b/src/main/webapp/css/themes/icons/filesave.png new file mode 100644 index 0000000..fd0048d Binary files /dev/null and b/src/main/webapp/css/themes/icons/filesave.png differ diff --git a/src/main/webapp/css/themes/icons/filter.png b/src/main/webapp/css/themes/icons/filter.png new file mode 100644 index 0000000..1fedf7a Binary files /dev/null and b/src/main/webapp/css/themes/icons/filter.png differ diff --git a/src/main/webapp/css/themes/icons/help.png b/src/main/webapp/css/themes/icons/help.png new file mode 100644 index 0000000..28a0f9e Binary files /dev/null and b/src/main/webapp/css/themes/icons/help.png differ diff --git a/src/main/webapp/css/themes/icons/large_chart.png b/src/main/webapp/css/themes/icons/large_chart.png new file mode 100644 index 0000000..527608e Binary files /dev/null and b/src/main/webapp/css/themes/icons/large_chart.png differ diff --git a/src/main/webapp/css/themes/icons/large_clipart.png b/src/main/webapp/css/themes/icons/large_clipart.png new file mode 100644 index 0000000..9c9c440 Binary files /dev/null and b/src/main/webapp/css/themes/icons/large_clipart.png differ diff --git a/src/main/webapp/css/themes/icons/large_picture.png b/src/main/webapp/css/themes/icons/large_picture.png new file mode 100644 index 0000000..a005b0c Binary files /dev/null and b/src/main/webapp/css/themes/icons/large_picture.png differ diff --git a/src/main/webapp/css/themes/icons/large_shapes.png b/src/main/webapp/css/themes/icons/large_shapes.png new file mode 100644 index 0000000..90a0dca Binary files /dev/null and b/src/main/webapp/css/themes/icons/large_shapes.png differ diff --git a/src/main/webapp/css/themes/icons/large_smartart.png b/src/main/webapp/css/themes/icons/large_smartart.png new file mode 100644 index 0000000..b47da08 Binary files /dev/null and b/src/main/webapp/css/themes/icons/large_smartart.png differ diff --git a/src/main/webapp/css/themes/icons/lock.png b/src/main/webapp/css/themes/icons/lock.png new file mode 100644 index 0000000..15bd643 Binary files /dev/null and b/src/main/webapp/css/themes/icons/lock.png differ diff --git a/src/main/webapp/css/themes/icons/man.png b/src/main/webapp/css/themes/icons/man.png new file mode 100644 index 0000000..a8cafcb Binary files /dev/null and b/src/main/webapp/css/themes/icons/man.png differ diff --git a/src/main/webapp/css/themes/icons/mini_add.png b/src/main/webapp/css/themes/icons/mini_add.png new file mode 100644 index 0000000..fd82b92 Binary files /dev/null and b/src/main/webapp/css/themes/icons/mini_add.png differ diff --git a/src/main/webapp/css/themes/icons/mini_edit.png b/src/main/webapp/css/themes/icons/mini_edit.png new file mode 100644 index 0000000..db9221a Binary files /dev/null and b/src/main/webapp/css/themes/icons/mini_edit.png differ diff --git a/src/main/webapp/css/themes/icons/mini_refresh.png b/src/main/webapp/css/themes/icons/mini_refresh.png new file mode 100644 index 0000000..6cdd016 Binary files /dev/null and b/src/main/webapp/css/themes/icons/mini_refresh.png differ diff --git a/src/main/webapp/css/themes/icons/more.png b/src/main/webapp/css/themes/icons/more.png new file mode 100644 index 0000000..94922a2 Binary files /dev/null and b/src/main/webapp/css/themes/icons/more.png differ diff --git a/src/main/webapp/css/themes/icons/no.png b/src/main/webapp/css/themes/icons/no.png new file mode 100644 index 0000000..37a7c74 Binary files /dev/null and b/src/main/webapp/css/themes/icons/no.png differ diff --git a/src/main/webapp/css/themes/icons/ok.png b/src/main/webapp/css/themes/icons/ok.png new file mode 100644 index 0000000..5b0f6a6 Binary files /dev/null and b/src/main/webapp/css/themes/icons/ok.png differ diff --git a/src/main/webapp/css/themes/icons/pencil.png b/src/main/webapp/css/themes/icons/pencil.png new file mode 100644 index 0000000..5b8cc89 Binary files /dev/null and b/src/main/webapp/css/themes/icons/pencil.png differ diff --git a/src/main/webapp/css/themes/icons/print.png b/src/main/webapp/css/themes/icons/print.png new file mode 100644 index 0000000..fdf67a1 Binary files /dev/null and b/src/main/webapp/css/themes/icons/print.png differ diff --git a/src/main/webapp/css/themes/icons/redo.png b/src/main/webapp/css/themes/icons/redo.png new file mode 100644 index 0000000..f1e45cf Binary files /dev/null and b/src/main/webapp/css/themes/icons/redo.png differ diff --git a/src/main/webapp/css/themes/icons/reload.png b/src/main/webapp/css/themes/icons/reload.png new file mode 100644 index 0000000..f51cab8 Binary files /dev/null and b/src/main/webapp/css/themes/icons/reload.png differ diff --git a/src/main/webapp/css/themes/icons/search.png b/src/main/webapp/css/themes/icons/search.png new file mode 100644 index 0000000..6dd1931 Binary files /dev/null and b/src/main/webapp/css/themes/icons/search.png differ diff --git a/src/main/webapp/css/themes/icons/sum.png b/src/main/webapp/css/themes/icons/sum.png new file mode 100644 index 0000000..fd7b32e Binary files /dev/null and b/src/main/webapp/css/themes/icons/sum.png differ diff --git a/src/main/webapp/css/themes/icons/tip.png b/src/main/webapp/css/themes/icons/tip.png new file mode 100644 index 0000000..845e110 Binary files /dev/null and b/src/main/webapp/css/themes/icons/tip.png differ diff --git a/src/main/webapp/css/themes/icons/undo.png b/src/main/webapp/css/themes/icons/undo.png new file mode 100644 index 0000000..6129fa0 Binary files /dev/null and b/src/main/webapp/css/themes/icons/undo.png differ diff --git a/src/main/webapp/css/themes/material/accordion.css b/src/main/webapp/css/themes/material/accordion.css new file mode 100644 index 0000000..51d0c70 --- /dev/null +++ b/src/main/webapp/css/themes/material/accordion.css @@ -0,0 +1,89 @@ +.accordion { + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.accordion .accordion-header { + border-width: 0 0 1px; + cursor: pointer; +} +.accordion .accordion-body { + border-width: 0 0 1px; +} +.accordion-noborder { + border-width: 0; +} +.accordion-noborder .accordion-header { + border-width: 0 0 1px; +} +.accordion-noborder .accordion-body { + border-width: 0 0 1px; +} +.accordion-collapse { + background: url('images/accordion_arrows.png') no-repeat 0 0; +} +.accordion-expand { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.accordion { + background: #ffffff; + border-color: #ddd; +} +.accordion .accordion-header { + background: #f5f5f5; + filter: none; +} +.accordion .accordion-header-selected { + background: #00bbee; +} +.accordion .accordion-header-selected .panel-title { + color: #fff; +} +.accordion .panel-last > .accordion-header { + border-bottom-color: #f5f5f5; +} +.accordion .panel-last > .accordion-body { + border-bottom-color: #ffffff; +} +.accordion .panel-last > .accordion-header-selected, +.accordion .panel-last > .accordion-header-border { + border-bottom-color: #ddd; +} +.accordion> .panel-hleft { + float: left; +} +.accordion> .panel-hleft>.panel-header { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft> .panel-body { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft.panel-last > .accordion-header { + border-right-color: #f5f5f5; +} +.accordion> .panel-hleft.panel-last > .accordion-body { + border-right-color: #ffffff; +} +.accordion> .panel-hleft.panel-last > .accordion-header-selected, +.accordion> .panel-hleft.panel-last > .accordion-header-border { + border-right-color: #ddd; +} +.accordion> .panel-hright { + float: right; +} +.accordion> .panel-hright>.panel-header { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright> .panel-body { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright.panel-last > .accordion-header { + border-left-color: #f5f5f5; +} +.accordion> .panel-hright.panel-last > .accordion-body { + border-left-color: #ffffff; +} +.accordion> .panel-hright.panel-last > .accordion-header-selected, +.accordion> .panel-hright.panel-last > .accordion-header-border { + border-left-color: #ddd; +} diff --git a/src/main/webapp/css/themes/material/calendar.css b/src/main/webapp/css/themes/material/calendar.css new file mode 100644 index 0000000..47ba4b1 --- /dev/null +++ b/src/main/webapp/css/themes/material/calendar.css @@ -0,0 +1,202 @@ +.calendar { + border-width: 1px; + border-style: solid; + padding: 1px; + overflow: hidden; +} +.calendar table { + table-layout: fixed; + border-collapse: separate; + font-size: 12px; + width: 100%; + height: 100%; +} +.calendar table td, +.calendar table th { + font-size: 12px; +} +.calendar-noborder { + border: 0; +} +.calendar-header { + position: relative; + height: 22px; +} +.calendar-title { + text-align: center; + height: 22px; +} +.calendar-title span { + position: relative; + display: inline-block; + top: 2px; + padding: 0 3px; + height: 18px; + line-height: 18px; + font-size: 12px; + cursor: pointer; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.calendar-prevmonth, +.calendar-nextmonth, +.calendar-prevyear, +.calendar-nextyear { + position: absolute; + top: 50%; + margin-top: -7px; + width: 14px; + height: 14px; + cursor: pointer; + font-size: 1px; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.calendar-prevmonth { + left: 20px; + background: url('images/calendar_arrows.png') no-repeat -18px -2px; +} +.calendar-nextmonth { + right: 20px; + background: url('images/calendar_arrows.png') no-repeat -34px -2px; +} +.calendar-prevyear { + left: 3px; + background: url('images/calendar_arrows.png') no-repeat -1px -2px; +} +.calendar-nextyear { + right: 3px; + background: url('images/calendar_arrows.png') no-repeat -49px -2px; +} +.calendar-body { + position: relative; +} +.calendar-body th, +.calendar-body td { + text-align: center; +} +.calendar-day { + border: 0; + padding: 1px; + cursor: pointer; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.calendar-other-month { + opacity: 0.3; + filter: alpha(opacity=30); +} +.calendar-disabled { + opacity: 0.6; + filter: alpha(opacity=60); + cursor: default; +} +.calendar-menu { + position: absolute; + top: 0; + left: 0; + width: 180px; + height: 150px; + padding: 5px; + font-size: 12px; + display: none; + overflow: hidden; +} +.calendar-menu-year-inner { + text-align: center; + padding-bottom: 5px; +} +.calendar-menu-year { + width: 50px; + text-align: center; + border-width: 1px; + border-style: solid; + outline-style: none; + resize: none; + margin: 0; + padding: 2px; + font-weight: bold; + font-size: 12px; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.calendar-menu-prev, +.calendar-menu-next { + display: inline-block; + width: 21px; + height: 21px; + vertical-align: top; + cursor: pointer; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.calendar-menu-prev { + margin-right: 10px; + background: url('images/calendar_arrows.png') no-repeat 2px 2px; +} +.calendar-menu-next { + margin-left: 10px; + background: url('images/calendar_arrows.png') no-repeat -45px 2px; +} +.calendar-menu-month { + text-align: center; + cursor: pointer; + font-weight: bold; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.calendar-body th, +.calendar-menu-month { + color: #8d8d8d; +} +.calendar-day { + color: #404040; +} +.calendar-sunday { + color: #CC2222; +} +.calendar-saturday { + color: #00ee00; +} +.calendar-today { + color: #0000ff; +} +.calendar-menu-year { + border-color: #ddd; +} +.calendar { + border-color: #ddd; +} +.calendar-header { + background: #f5f5f5; +} +.calendar-body, +.calendar-menu { + background: #ffffff; +} +.calendar-body th { + background: #fafafa; + padding: 2px 0; +} +.calendar-hover, +.calendar-nav-hover, +.calendar-menu-hover { + background-color: #eee; + color: #404040; +} +.calendar-hover { + border: 1px solid #ccc; + padding: 0; +} +.calendar-selected { + background-color: #00bbee; + color: #fff; + border: 1px solid #9cc8f7; + padding: 0; +} diff --git a/src/main/webapp/css/themes/material/combo.css b/src/main/webapp/css/themes/material/combo.css new file mode 100644 index 0000000..622d7c2 --- /dev/null +++ b/src/main/webapp/css/themes/material/combo.css @@ -0,0 +1,35 @@ +.combo-arrow { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.combo-arrow-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.combo-panel { + overflow: auto; +} +.combo-arrow { + background: url('images/combo_arrow.png') no-repeat center center; +} +.combo-panel { + background-color: #ffffff; +} +.combo-arrow { + background-color: #f5f5f5; +} +.combo-arrow-hover { + background-color: #eee; +} +.combo-arrow:hover { + background-color: #eee; +} +.combo .textbox-icon-disabled:hover { + cursor: default; +} diff --git a/src/main/webapp/css/themes/material/combobox.css b/src/main/webapp/css/themes/material/combobox.css new file mode 100644 index 0000000..8f97a2b --- /dev/null +++ b/src/main/webapp/css/themes/material/combobox.css @@ -0,0 +1,39 @@ +.combobox-item, +.combobox-group, +.combobox-stick { + font-size: 12px; + padding: 3px; +} +.combobox-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.combobox-gitem { + padding-left: 10px; +} +.combobox-group, +.combobox-stick { + font-weight: bold; +} +.combobox-stick { + position: absolute; + top: 1px; + left: 1px; + right: 1px; + background: inherit; +} +.combobox-item-hover { + background-color: #eee; + color: #404040; +} +.combobox-item-selected { + background-color: #00bbee; + color: #fff; +} +.combobox-icon { + display: inline-block; + width: 16px; + height: 16px; + vertical-align: middle; + margin-right: 2px; +} diff --git a/src/main/webapp/css/themes/material/datagrid.css b/src/main/webapp/css/themes/material/datagrid.css new file mode 100644 index 0000000..7259808 --- /dev/null +++ b/src/main/webapp/css/themes/material/datagrid.css @@ -0,0 +1,282 @@ +.datagrid .panel-body { + overflow: hidden; + position: relative; +} +.datagrid-view { + position: relative; + overflow: hidden; +} +.datagrid-view1, +.datagrid-view2 { + position: absolute; + overflow: hidden; + top: 0; +} +.datagrid-view1 { + left: 0; +} +.datagrid-view2 { + right: 0; +} +.datagrid-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: 0.3; + filter: alpha(opacity=30); + display: none; +} +.datagrid-mask-msg { + position: absolute; + top: 50%; + margin-top: -20px; + padding: 10px 5px 10px 30px; + width: auto; + height: 16px; + border-width: 2px; + border-style: solid; + display: none; +} +.datagrid-empty { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 25px; + line-height: 25px; + text-align: center; +} +.datagrid-sort-icon { + padding: 0; + display: none; +} +.datagrid-toolbar { + height: auto; + padding: 1px 2px; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ddd; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.datagrid .datagrid-pager { + display: block; + margin: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.datagrid .datagrid-pager-top { + border-width: 0 0 1px 0; +} +.datagrid-header { + overflow: hidden; + cursor: default; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-header-inner { + float: left; + width: 10000px; +} +.datagrid-header-row, +.datagrid-row { + height: 25px; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-width: 0 1px 1px 0; + border-style: dotted; + margin: 0; + padding: 0; +} +.datagrid-cell, +.datagrid-cell-group, +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + margin: 0; + padding: 0 4px; + white-space: nowrap; + word-wrap: normal; + overflow: hidden; + height: 18px; + line-height: 18px; + font-size: 12px; +} +.datagrid-header .datagrid-cell { + height: auto; +} +.datagrid-header .datagrid-cell span { + font-size: 12px; +} +.datagrid-cell-group { + text-align: center; + text-overflow: ellipsis; +} +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + width: 30px; + text-align: center; + margin: 0; + padding: 0; +} +.datagrid-body { + margin: 0; + padding: 0; + overflow: auto; + zoom: 1; +} +.datagrid-view1 .datagrid-body-inner { + padding-bottom: 20px; +} +.datagrid-view1 .datagrid-body { + overflow: hidden; +} +.datagrid-footer { + overflow: hidden; +} +.datagrid-footer-inner { + border-width: 1px 0 0 0; + border-style: solid; + width: 10000px; + float: left; +} +.datagrid-row-editing .datagrid-cell { + height: auto; +} +.datagrid-header-check, +.datagrid-cell-check { + padding: 0; + width: 27px; + height: 18px; + font-size: 1px; + text-align: center; + overflow: hidden; +} +.datagrid-header-check input, +.datagrid-cell-check input { + margin: 0; + padding: 0; + width: 15px; + height: 18px; +} +.datagrid-resize-proxy { + position: absolute; + width: 1px; + height: 10000px; + top: 0; + cursor: e-resize; + display: none; +} +.datagrid-body .datagrid-editable { + margin: 0; + padding: 0; +} +.datagrid-body .datagrid-editable table { + width: 100%; + height: 100%; +} +.datagrid-body .datagrid-editable td { + border: 0; + margin: 0; + padding: 0; +} +.datagrid-view .datagrid-editable-input { + margin: 0; + padding: 2px 4px; + border: 1px solid #ddd; + font-size: 12px; + outline-style: none; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-view .validatebox-invalid { + border-color: #ffa8a8; +} +.datagrid-sort .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -64px center; +} +.datagrid-sort-desc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -16px center; +} +.datagrid-sort-asc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat 0px center; +} +.datagrid-row-collapse { + background: url('images/datagrid_icons.png') no-repeat -48px center; +} +.datagrid-row-expand { + background: url('images/datagrid_icons.png') no-repeat -32px center; +} +.datagrid-mask-msg { + background: #ffffff url('images/loading.gif') no-repeat scroll 5px center; +} +.datagrid-header, +.datagrid-td-rownumber { + background-color: #fafafa; +} +.datagrid-cell-rownumber { + color: #404040; +} +.datagrid-resize-proxy { + background: #ccc; +} +.datagrid-mask { + background: #eee; +} +.datagrid-mask-msg { + border-color: #ddd; +} +.datagrid-toolbar, +.datagrid-pager { + background: #fafafa; +} +.datagrid-header, +.datagrid-toolbar, +.datagrid-pager, +.datagrid-footer-inner { + border-color: #eee; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-color: #ebebeb; +} +.datagrid-htable, +.datagrid-btable, +.datagrid-ftable { + color: #404040; + border-collapse: separate; +} +.datagrid-row-alt { + background: #f9f9f9; +} +.datagrid-row-over, +.datagrid-header td.datagrid-header-over { + background: #eee; + color: #404040; + cursor: default; +} +.datagrid-row-selected { + background: #00bbee; + color: #fff; +} +.datagrid-row-editing .textbox, +.datagrid-row-editing .textbox-text { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} diff --git a/src/main/webapp/css/themes/material/datalist.css b/src/main/webapp/css/themes/material/datalist.css new file mode 100644 index 0000000..27617f0 --- /dev/null +++ b/src/main/webapp/css/themes/material/datalist.css @@ -0,0 +1,95 @@ +.datalist .datagrid-header { + border-width: 0; +} +.datalist .datagrid-group, +.m-list .m-list-group { + height: 25px; + line-height: 25px; + font-weight: bold; + overflow: hidden; + background-color: #fafafa; + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ebebeb; +} +.datalist .datagrid-group-expander { + display: none; +} +.datalist .datagrid-group-title { + padding: 0 4px; +} +.datalist .datagrid-btable { + width: 100%; + table-layout: fixed; +} +.datalist .datagrid-row td { + border-style: solid; + border-left-color: transparent; + border-right-color: transparent; + border-bottom-width: 0; +} +.datalist-lines .datagrid-row td { + border-bottom-width: 1px; +} +.datalist .datagrid-cell, +.m-list li { + width: auto; + height: auto; + padding: 2px 4px; + line-height: 18px; + position: relative; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link, +.m-list li>a { + display: block; + position: relative; + cursor: pointer; + color: #404040; + text-decoration: none; + overflow: hidden; + margin: -2px -4px; + padding: 2px 4px; + padding-right: 16px; + line-height: 18px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link::after, +.m-list li>a::after { + position: absolute; + display: block; + width: 8px; + height: 8px; + content: ''; + right: 6px; + top: 50%; + margin-top: -4px; + border-style: solid; + border-width: 1px 1px 0 0; + -ms-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -webkit-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); +} +.m-list { + margin: 0; + padding: 0; + list-style: none; +} +.m-list li { + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ebebeb; +} +.m-list li>a:hover { + background: #eee; + color: #404040; +} +.m-list .m-list-group { + padding: 0 4px; +} diff --git a/src/main/webapp/css/themes/material/datebox.css b/src/main/webapp/css/themes/material/datebox.css new file mode 100644 index 0000000..e2874e8 --- /dev/null +++ b/src/main/webapp/css/themes/material/datebox.css @@ -0,0 +1,36 @@ +.datebox-calendar-inner { + height: 180px; +} +.datebox-button { + padding: 0 5px; + text-align: center; +} +.datebox-button a { + line-height: 22px; + font-size: 12px; + font-weight: bold; + text-decoration: none; + opacity: 0.6; + filter: alpha(opacity=60); +} +.datebox-button a:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.datebox-current, +.datebox-close { + float: left; +} +.datebox-close { + float: right; +} +.datebox .combo-arrow { + background-image: url('images/datebox_arrow.png'); + background-position: center center; +} +.datebox-button { + background-color: #fafafa; +} +.datebox-button a { + color: #404040; +} diff --git a/src/main/webapp/css/themes/material/dialog.css b/src/main/webapp/css/themes/material/dialog.css new file mode 100644 index 0000000..82a1bb8 --- /dev/null +++ b/src/main/webapp/css/themes/material/dialog.css @@ -0,0 +1,47 @@ +.dialog-content { + overflow: auto; +} +.dialog-toolbar { + position: relative; + padding: 2px 5px; +} +.dialog-tool-separator { + float: left; + height: 24px; + border-left: 1px solid #ddd; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.dialog-button { + position: relative; + top: -1px; + padding: 5px; + text-align: right; +} +.dialog-button .l-btn { + margin-left: 5px; +} +.dialog-toolbar, +.dialog-button { + background: #fafafa; + border-width: 1px; + border-style: solid; +} +.dialog-toolbar { + border-color: #ddd #ddd #eee #ddd; +} +.dialog-button { + border-color: #eee #ddd #ddd #ddd; +} +.window-thinborder .dialog-toolbar { + border-left: transparent; + border-right: transparent; + border-top-color: #fafafa; +} +.window-thinborder .dialog-button { + top: 0px; + padding: 5px 8px 8px 8px; + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} diff --git a/src/main/webapp/css/themes/material/easyui.css b/src/main/webapp/css/themes/material/easyui.css new file mode 100644 index 0000000..3b79252 --- /dev/null +++ b/src/main/webapp/css/themes/material/easyui.css @@ -0,0 +1,3229 @@ +.panel { + overflow: hidden; + text-align: left; + margin: 0; + border: 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.panel-header, +.panel-body { + border-width: 1px; + border-style: solid; +} +.panel-header { + padding: 5px; + position: relative; +} +.panel-title { + background: url('images/blank.gif') no-repeat; +} +.panel-header-noborder { + border-width: 0 0 1px 0; +} +.panel-body { + overflow: auto; + border-top-width: 0; + padding: 0; +} +.panel-body-noheader { + border-top-width: 1px; +} +.panel-body-noborder { + border-width: 0px; +} +.panel-body-nobottom { + border-bottom-width: 0; +} +.panel-with-icon { + padding-left: 18px; +} +.panel-icon, +.panel-tool { + position: absolute; + top: 50%; + margin-top: -8px; + height: 16px; + overflow: hidden; +} +.panel-icon { + left: 5px; + width: 16px; +} +.panel-tool { + right: 5px; + width: auto; +} +.panel-tool a { + display: inline-block; + width: 16px; + height: 16px; + opacity: 0.6; + filter: alpha(opacity=60); + margin: 0 0 0 2px; + vertical-align: top; +} +.panel-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + background-color: #eee; + -moz-border-radius: 2px 2px 2px 2px; + -webkit-border-radius: 2px 2px 2px 2px; + border-radius: 2px 2px 2px 2px; +} +.panel-loading { + padding: 11px 0px 10px 30px; +} +.panel-noscroll { + overflow: hidden; +} +.panel-fit, +.panel-fit body { + height: 100%; + margin: 0; + padding: 0; + border: 0; + overflow: hidden; +} +.panel-loading { + background: url('images/loading.gif') no-repeat 10px 10px; +} +.panel-tool-close { + background: url('images/panel_tools.png') no-repeat -16px 0px; +} +.panel-tool-min { + background: url('images/panel_tools.png') no-repeat 0px 0px; +} +.panel-tool-max { + background: url('images/panel_tools.png') no-repeat 0px -16px; +} +.panel-tool-restore { + background: url('images/panel_tools.png') no-repeat -16px -16px; +} +.panel-tool-collapse { + background: url('images/panel_tools.png') no-repeat -32px 0; +} +.panel-tool-expand { + background: url('images/panel_tools.png') no-repeat -32px -16px; +} +.panel-header, +.panel-body { + border-color: #ddd; +} +.panel-header { + background-color: #f5f5f5; +} +.panel-body { + background-color: #ffffff; + color: #404040; + font-size: 12px; +} +.panel-title { + font-size: 12px; + font-weight: bold; + color: #000000; + height: 16px; + line-height: 16px; +} +.panel-footer { + border: 1px solid #ddd; + overflow: hidden; + background: #fafafa; +} +.panel-footer-noborder { + border-width: 1px 0 0 0; +} +.panel-hleft, +.panel-hright { + position: relative; +} +.panel-hleft>.panel-body, +.panel-hright>.panel-body { + position: absolute; +} +.panel-hleft>.panel-header { + float: left; +} +.panel-hright>.panel-header { + float: right; +} +.panel-hleft>.panel-body { + border-top-width: 1px; + border-left-width: 0; +} +.panel-hright>.panel-body { + border-top-width: 1px; + border-right-width: 0; +} +.panel-hleft>.panel-body-nobottom { + border-bottom-width: 1px; + border-right-width: 0; +} +.panel-hright>.panel-body-nobottom { + border-bottom-width: 1px; + border-left-width: 0; +} +.panel-hleft>.panel-footer { + position: absolute; + right: 0; +} +.panel-hright>.panel-footer { + position: absolute; + left: 0; +} +.panel-hleft>.panel-header-noborder { + border-width: 0 1px 0 0; +} +.panel-hright>.panel-header-noborder { + border-width: 0 0 0 1px; +} +.panel-hleft>.panel-body-noborder { + border-width: 0; +} +.panel-hright>.panel-body-noborder { + border-width: 0; +} +.panel-hleft>.panel-body-noheader { + border-left-width: 1px; +} +.panel-hright>.panel-body-noheader { + border-right-width: 1px; +} +.panel-hleft>.panel-footer-noborder { + border-width: 0 0 0 1px; +} +.panel-hright>.panel-footer-noborder { + border-width: 0 1px 0 0; +} +.panel-hleft>.panel-header .panel-icon, +.panel-hright>.panel-header .panel-icon { + margin-top: 0; + top: 5px; +} +.panel-hleft>.panel-header .panel-title, +.panel-hright>.panel-header .panel-title { + position: absolute; + min-width: 16px; + left: 21px; + top: 5px; + bottom: auto; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.panel-hleft>.panel-header .panel-title-up, +.panel-hright>.panel-header .panel-title-up { + position: absolute; + min-width: 16px; + left: 21px; + top: auto; + bottom: 5px; + text-align: right; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 16px; +} +.panel-hleft>.panel-header .panel-with-icon.panel-title-up, +.panel-hright>.panel-header .panel-with-icon.panel-title-up { + padding-left: 0; + padding-right: 18px; +} +.panel-hleft>.panel-header .panel-tool, +.panel-hright>.panel-header .panel-tool { + top: auto; + bottom: 5px; + width: 16px; + height: auto; + left: 50%; + margin-left: -8px; + margin-top: 0; +} +.panel-hleft>.panel-header .panel-tool a, +.panel-hright>.panel-header .panel-tool a { + margin: 2px 0 0 0; +} +.accordion { + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.accordion .accordion-header { + border-width: 0 0 1px; + cursor: pointer; +} +.accordion .accordion-body { + border-width: 0 0 1px; +} +.accordion-noborder { + border-width: 0; +} +.accordion-noborder .accordion-header { + border-width: 0 0 1px; +} +.accordion-noborder .accordion-body { + border-width: 0 0 1px; +} +.accordion-collapse { + background: url('images/accordion_arrows.png') no-repeat 0 0; +} +.accordion-expand { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.accordion { + background: #ffffff; + border-color: #ddd; +} +.accordion .accordion-header { + background: #f5f5f5; + filter: none; +} +.accordion .accordion-header-selected { + background: #00bbee; +} +.accordion .accordion-header-selected .panel-title { + color: #fff; +} +.accordion .panel-last > .accordion-header { + border-bottom-color: #f5f5f5; +} +.accordion .panel-last > .accordion-body { + border-bottom-color: #ffffff; +} +.accordion .panel-last > .accordion-header-selected, +.accordion .panel-last > .accordion-header-border { + border-bottom-color: #ddd; +} +.accordion> .panel-hleft { + float: left; +} +.accordion> .panel-hleft>.panel-header { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft> .panel-body { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft.panel-last > .accordion-header { + border-right-color: #f5f5f5; +} +.accordion> .panel-hleft.panel-last > .accordion-body { + border-right-color: #ffffff; +} +.accordion> .panel-hleft.panel-last > .accordion-header-selected, +.accordion> .panel-hleft.panel-last > .accordion-header-border { + border-right-color: #ddd; +} +.accordion> .panel-hright { + float: right; +} +.accordion> .panel-hright>.panel-header { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright> .panel-body { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright.panel-last > .accordion-header { + border-left-color: #f5f5f5; +} +.accordion> .panel-hright.panel-last > .accordion-body { + border-left-color: #ffffff; +} +.accordion> .panel-hright.panel-last > .accordion-header-selected, +.accordion> .panel-hright.panel-last > .accordion-header-border { + border-left-color: #ddd; +} +.window { + overflow: hidden; + padding: 5px; + border-width: 1px; + border-style: solid; +} +.window .window-header { + background: transparent; + padding: 0px 0px 6px 0px; +} +.window .window-body { + border-width: 1px; + border-style: solid; + border-top-width: 0px; +} +.window .window-body-noheader { + border-top-width: 1px; +} +.window .panel-body-nobottom { + border-bottom-width: 0; +} +.window .window-header .panel-icon, +.window .window-header .panel-tool { + top: 50%; + margin-top: -11px; +} +.window .window-header .panel-icon { + left: 1px; +} +.window .window-header .panel-tool { + right: 1px; +} +.window .window-header .panel-with-icon { + padding-left: 18px; +} +.window-proxy { + position: absolute; + overflow: hidden; +} +.window-proxy-mask { + position: absolute; + filter: alpha(opacity=5); + opacity: 0.05; +} +.window-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + filter: alpha(opacity=40); + opacity: 0.40; + font-size: 1px; + overflow: hidden; +} +.window, +.window-shadow { + position: absolute; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.window-shadow { + background: #fafafa; + -moz-box-shadow: 2px 2px 3px #fafafa; + -webkit-box-shadow: 2px 2px 3px #fafafa; + box-shadow: 2px 2px 3px #fafafa; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.window, +.window .window-body { + border-color: #ddd; +} +.window { + background-color: #f5f5f5; +} +.window-proxy { + border: 1px dashed #ddd; +} +.window-proxy-mask, +.window-mask { + background: #eee; +} +.window .panel-footer { + border: 1px solid #ddd; + position: relative; + top: -1px; +} +.window-thinborder { + padding: 0; +} +.window-thinborder .window-header { + padding: 5px 5px 6px 5px; +} +.window-thinborder .window-body { + border-width: 0px; +} +.window-thinborder .window-header .panel-icon, +.window-thinborder .window-header .panel-tool { + margin-top: -9px; + margin-left: 5px; + margin-right: 5px; +} +.window-noborder { + border: 0; +} +.window.panel-hleft .window-header { + padding: 0 6px 0 0; +} +.window.panel-hright .window-header { + padding: 0 0 0 6px; +} +.window.panel-hleft>.panel-header .panel-title { + top: auto; + left: 16px; +} +.window.panel-hright>.panel-header .panel-title { + top: auto; + right: 16px; +} +.window.panel-hleft>.panel-header .panel-title-up, +.window.panel-hright>.panel-header .panel-title-up { + bottom: 0; +} +.window.panel-hleft .window-body { + border-width: 1px 1px 1px 0; +} +.window.panel-hright .window-body { + border-width: 1px 0 1px 1px; +} +.window.panel-hleft .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: 0; +} +.window.panel-hright .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: auto; + right: 1px; +} +.window.panel-hleft .window-header .panel-tool, +.window.panel-hright .window-header .panel-tool { + margin-top: 0; + top: auto; + bottom: 1px; + right: auto; + margin-right: 0; + left: 50%; + margin-left: -11px; +} +.window.panel-hright .window-header .panel-tool { + left: auto; + right: 1px; +} +.window-thinborder.panel-hleft .window-header { + padding: 5px 6px 5px 5px; +} +.window-thinborder.panel-hright .window-header { + padding: 5px 5px 5px 6px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title { + left: 21px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title-up, +.window-thinborder.panel-hright>.panel-header .panel-title-up { + bottom: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-icon, +.window-thinborder.panel-hright .window-header .panel-icon { + margin-top: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-tool, +.window-thinborder.panel-hright .window-header .panel-tool { + left: 16px; + bottom: 5px; +} +.dialog-content { + overflow: auto; +} +.dialog-toolbar { + position: relative; + padding: 2px 5px; +} +.dialog-tool-separator { + float: left; + height: 24px; + border-left: 1px solid #ddd; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.dialog-button { + position: relative; + top: -1px; + padding: 5px; + text-align: right; +} +.dialog-button .l-btn { + margin-left: 5px; +} +.dialog-toolbar, +.dialog-button { + background: #fafafa; + border-width: 1px; + border-style: solid; +} +.dialog-toolbar { + border-color: #ddd #ddd #eee #ddd; +} +.dialog-button { + border-color: #eee #ddd #ddd #ddd; +} +.window-thinborder .dialog-toolbar { + border-left: transparent; + border-right: transparent; + border-top-color: #fafafa; +} +.window-thinborder .dialog-button { + top: 0px; + padding: 5px 8px 8px 8px; + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} +.l-btn { + text-decoration: none; + display: inline-block; + overflow: hidden; + margin: 0; + padding: 0; + cursor: pointer; + outline: none; + text-align: center; + vertical-align: middle; + line-height: normal; +} +.l-btn-plain { + border-width: 0; + padding: 1px; +} +.l-btn-left { + display: inline-block; + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + vertical-align: top; +} +.l-btn-text { + display: inline-block; + vertical-align: top; + width: auto; + line-height: 24px; + font-size: 12px; + padding: 0; + margin: 0 4px; +} +.l-btn-icon { + display: inline-block; + width: 16px; + height: 16px; + line-height: 16px; + position: absolute; + top: 50%; + margin-top: -8px; + font-size: 1px; +} +.l-btn span span .l-btn-empty { + display: inline-block; + margin: 0; + width: 16px; + height: 24px; + font-size: 1px; + vertical-align: top; +} +.l-btn span .l-btn-icon-left { + padding: 0 0 0 20px; + background-position: left center; +} +.l-btn span .l-btn-icon-right { + padding: 0 20px 0 0; + background-position: right center; +} +.l-btn-icon-left .l-btn-text { + margin: 0 4px 0 24px; +} +.l-btn-icon-left .l-btn-icon { + left: 4px; +} +.l-btn-icon-right .l-btn-text { + margin: 0 24px 0 4px; +} +.l-btn-icon-right .l-btn-icon { + right: 4px; +} +.l-btn-icon-top .l-btn-text { + margin: 20px 4px 0 4px; +} +.l-btn-icon-top .l-btn-icon { + top: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-icon-bottom .l-btn-text { + margin: 0 4px 20px 4px; +} +.l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-left .l-btn-empty { + margin: 0 4px; + width: 16px; +} +.l-btn-plain:hover { + padding: 0; +} +.l-btn-focus { + outline: #0000FF dotted thin; +} +.l-btn-large .l-btn-text { + line-height: 40px; +} +.l-btn-large .l-btn-icon { + width: 32px; + height: 32px; + line-height: 32px; + margin-top: -16px; +} +.l-btn-large .l-btn-icon-left .l-btn-text { + margin-left: 40px; +} +.l-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.l-btn-large .l-btn-icon-top .l-btn-text { + margin-top: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-top .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-left .l-btn-empty { + margin: 0 4px; + width: 32px; +} +.l-btn { + color: #404040; + background: #fafafa; + background-repeat: repeat-x; + border: 1px solid #d9d9d9; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.l-btn:hover { + background: #eee; + color: #404040; + border: 1px solid #ccc; + filter: none; +} +.l-btn-plain { + background: transparent; + border-width: 0; + filter: none; +} +.l-btn-outline { + border-width: 1px; + border-color: #ccc; + padding: 0; +} +.l-btn-plain:hover { + background: #eee; + color: #404040; + border: 1px solid #ccc; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.l-btn-disabled, +.l-btn-disabled:hover { + opacity: 0.5; + cursor: default; + background: #fafafa; + color: #404040; +} +.l-btn-disabled .l-btn-text, +.l-btn-disabled .l-btn-icon { + filter: alpha(opacity=50); +} +.l-btn-plain-disabled, +.l-btn-plain-disabled:hover { + background: transparent; + filter: alpha(opacity=50); +} +.l-btn-selected, +.l-btn-selected:hover { + background: #00bbee; + filter: none; +} +.l-btn-plain-selected, +.l-btn-plain-selected:hover { + background: #00bbee; +} +.textbox { + position: relative; + border: 1px solid #ddd; + background-color: #fff; + vertical-align: middle; + display: inline-block; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.textbox .textbox-text { + font-size: 12px; + border: 0; + margin: 0; + padding: 4px; + white-space: normal; + vertical-align: top; + outline-style: none; + resize: none; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.textbox .textbox-text::-ms-clear, +.textbox .textbox-text::-ms-reveal { + display: none; +} +.textbox textarea.textbox-text { + white-space: pre-wrap; +} +.textbox .textbox-prompt { + font-size: 12px; + color: #aaa; +} +.textbox .textbox-bgicon { + background-position: 3px center; + padding-left: 21px; +} +.textbox .textbox-button, +.textbox .textbox-button:hover { + position: absolute; + top: 0; + padding: 0; + vertical-align: top; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.textbox .textbox-button-right, +.textbox .textbox-button-right:hover { + right: 0; + border-width: 0 0 0 1px; +} +.textbox .textbox-button-left, +.textbox .textbox-button-left:hover { + left: 0; + border-width: 0 1px 0 0; +} +.textbox .textbox-button-top, +.textbox .textbox-button-top:hover { + left: 0; + border-width: 0 0 1px 0; +} +.textbox .textbox-button-bottom, +.textbox .textbox-button-bottom:hover { + top: auto; + bottom: 0; + left: 0; + border-width: 1px 0 0 0; +} +.textbox-addon { + position: absolute; + top: 0; +} +.textbox-label { + display: inline-block; + width: 80px; + height: 22px; + line-height: 22px; + vertical-align: middle; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + margin: 0; + padding-right: 5px; +} +.textbox-label-after { + padding-left: 5px; + padding-right: 0; +} +.textbox-label-top { + display: block; + width: auto; + padding: 0; +} +.textbox-disabled, +.textbox-label-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-icon { + display: inline-block; + width: 18px; + height: 20px; + overflow: hidden; + vertical-align: top; + background-position: center center; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); + text-decoration: none; + outline-style: none; +} +.textbox-icon-disabled, +.textbox-icon-readonly { + cursor: default; +} +.textbox-icon:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.textbox-icon-disabled:hover { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-focused { + border-color: #c4c4c4; + -moz-box-shadow: 0 0 3px 0 #ddd; + -webkit-box-shadow: 0 0 3px 0 #ddd; + box-shadow: 0 0 3px 0 #ddd; +} +.textbox-invalid { + border-color: #ffa8a8; + background-color: #fff; +} +.passwordbox-open { + background: url('images/passwordbox_open.png') no-repeat center center; +} +.passwordbox-close { + background: url('images/passwordbox_close.png') no-repeat center center; +} +.filebox .textbox-value { + vertical-align: top; + position: absolute; + top: 0; + left: -5000px; +} +.filebox-label { + display: inline-block; + position: absolute; + width: 100%; + height: 100%; + cursor: pointer; + left: 0; + top: 0; + z-index: 10; + background: url('images/blank.gif') no-repeat; +} +.l-btn-disabled .filebox-label { + cursor: default; +} +.combo-arrow { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.combo-arrow-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.combo-panel { + overflow: auto; +} +.combo-arrow { + background: url('images/combo_arrow.png') no-repeat center center; +} +.combo-panel { + background-color: #ffffff; +} +.combo-arrow { + background-color: #f5f5f5; +} +.combo-arrow-hover { + background-color: #eee; +} +.combo-arrow:hover { + background-color: #eee; +} +.combo .textbox-icon-disabled:hover { + cursor: default; +} +.combobox-item, +.combobox-group, +.combobox-stick { + font-size: 12px; + padding: 3px; +} +.combobox-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.combobox-gitem { + padding-left: 10px; +} +.combobox-group, +.combobox-stick { + font-weight: bold; +} +.combobox-stick { + position: absolute; + top: 1px; + left: 1px; + right: 1px; + background: inherit; +} +.combobox-item-hover { + background-color: #eee; + color: #404040; +} +.combobox-item-selected { + background-color: #00bbee; + color: #fff; +} +.combobox-icon { + display: inline-block; + width: 16px; + height: 16px; + vertical-align: middle; + margin-right: 2px; +} +.tagbox { + cursor: text; +} +.tagbox .textbox-text { + float: left; +} +.tagbox-label { + position: relative; + display: block; + margin: 4px 0 0 4px; + padding: 0 20px 0 4px; + float: left; + vertical-align: top; + text-decoration: none; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; + background: #eee; + color: #404040; +} +.tagbox-remove { + background: url('images/tagbox_icons.png') no-repeat -16px center; + position: absolute; + display: block; + width: 16px; + height: 16px; + right: 2px; + top: 50%; + margin-top: -8px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tagbox-remove:hover { + opacity: 1; + filter: alpha(opacity=100); +} +.textbox-disabled .tagbox-label { + cursor: default; +} +.textbox-disabled .tagbox-remove:hover { + cursor: default; + opacity: 0.6; + filter: alpha(opacity=60); +} +.layout { + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + z-index: 0; +} +.layout-panel { + position: absolute; + overflow: hidden; +} +.layout-body { + min-width: 1px; + min-height: 1px; +} +.layout-panel-east, +.layout-panel-west { + z-index: 2; +} +.layout-panel-north, +.layout-panel-south { + z-index: 3; +} +.layout-expand { + position: absolute; + padding: 0px; + font-size: 1px; + cursor: pointer; + z-index: 1; +} +.layout-expand .panel-header, +.layout-expand .panel-body { + background: transparent; + filter: none; + overflow: hidden; +} +.layout-expand .panel-header { + border-bottom-width: 0px; +} +.layout-expand .panel-body { + position: relative; +} +.layout-expand .panel-body .panel-icon { + margin-top: 0; + top: 0; + left: 50%; + margin-left: -8px; +} +.layout-expand-west .panel-header .panel-icon, +.layout-expand-east .panel-header .panel-icon { + display: none; +} +.layout-expand-title { + position: absolute; + top: 0; + left: 21px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.layout-expand-title-up { + position: absolute; + top: 0; + left: 0; + text-align: right; + padding-left: 5px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 0; +} +.layout-expand-with-icon { + top: 18px; +} +.layout-expand .panel-body-noheader .layout-expand-title, +.layout-expand .panel-body-noheader .panel-icon { + top: 5px; +} +.layout-expand .panel-body-noheader .layout-expand-with-icon { + top: 23px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + position: absolute; + font-size: 1px; + display: none; + z-index: 5; +} +.layout-split-proxy-h { + width: 5px; + cursor: e-resize; +} +.layout-split-proxy-v { + height: 5px; + cursor: n-resize; +} +.layout-mask { + position: absolute; + background: #fafafa; + filter: alpha(opacity=10); + opacity: 0.10; + z-index: 4; +} +.layout-button-up { + background: url('images/layout_arrows.png') no-repeat -16px -16px; +} +.layout-button-down { + background: url('images/layout_arrows.png') no-repeat -16px 0; +} +.layout-button-left { + background: url('images/layout_arrows.png') no-repeat 0 0; +} +.layout-button-right { + background: url('images/layout_arrows.png') no-repeat 0 -16px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + background-color: #ccc; +} +.layout-split-north { + border-bottom: 5px solid #ffffff; +} +.layout-split-south { + border-top: 5px solid #ffffff; +} +.layout-split-east { + border-left: 5px solid #ffffff; +} +.layout-split-west { + border-right: 5px solid #ffffff; +} +.layout-expand { + background-color: #f5f5f5; +} +.layout-expand-over { + background-color: #f5f5f5; +} +.tabs-container { + overflow: hidden; +} +.tabs-header { + border-width: 1px; + border-style: solid; + border-bottom-width: 0; + position: relative; + padding: 0; + padding-top: 2px; + overflow: hidden; +} +.tabs-scroller-left, +.tabs-scroller-right { + position: absolute; + top: auto; + bottom: 0; + width: 18px; + font-size: 1px; + display: none; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.tabs-scroller-left { + left: 0; +} +.tabs-scroller-right { + right: 0; +} +.tabs-tool { + position: absolute; + bottom: 0; + padding: 1px; + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.tabs-header-plain .tabs-tool { + padding: 0 1px; +} +.tabs-wrap { + position: relative; + left: 0; + overflow: hidden; + width: 100%; + margin: 0; + padding: 0; +} +.tabs-scrolling { + margin-left: 18px; + margin-right: 18px; +} +.tabs-disabled { + opacity: 0.3; + filter: alpha(opacity=30); +} +.tabs { + list-style-type: none; + height: 26px; + margin: 0px; + padding: 0px; + padding-left: 4px; + width: 50000px; + border-style: solid; + border-width: 0 0 1px 0; +} +.tabs li { + float: left; + display: inline-block; + margin: 0 4px -1px 0; + padding: 0; + position: relative; + border: 0; +} +.tabs li a.tabs-inner { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0 10px; + height: 25px; + line-height: 25px; + text-align: center; + white-space: nowrap; + border-width: 1px; + border-style: solid; + -moz-border-radius: 4px 4px 0 0; + -webkit-border-radius: 4px 4px 0 0; + border-radius: 4px 4px 0 0; +} +.tabs li.tabs-selected a.tabs-inner { + font-weight: bold; + outline: none; +} +.tabs li.tabs-selected a:hover.tabs-inner { + cursor: default; + pointer: default; +} +.tabs li a.tabs-close, +.tabs-p-tool { + position: absolute; + font-size: 1px; + display: block; + height: 12px; + padding: 0; + top: 50%; + margin-top: -6px; + overflow: hidden; +} +.tabs li a.tabs-close { + width: 12px; + right: 5px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs-p-tool { + right: 16px; +} +.tabs-p-tool a { + display: inline-block; + font-size: 1px; + width: 12px; + height: 12px; + margin: 0; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs li a:hover.tabs-close, +.tabs-p-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + cursor: hand; + cursor: pointer; +} +.tabs-with-icon { + padding-left: 18px; +} +.tabs-icon { + position: absolute; + width: 16px; + height: 16px; + left: 10px; + top: 50%; + margin-top: -8px; +} +.tabs-title { + font-size: 12px; +} +.tabs-closable { + padding-right: 8px; +} +.tabs-panels { + margin: 0px; + padding: 0px; + border-width: 1px; + border-style: solid; + border-top-width: 0; + overflow: hidden; +} +.tabs-header-bottom { + border-width: 0 1px 1px 1px; + padding: 0 0 2px 0; +} +.tabs-header-bottom .tabs { + border-width: 1px 0 0 0; +} +.tabs-header-bottom .tabs li { + margin: -1px 4px 0 0; +} +.tabs-header-bottom .tabs li a.tabs-inner { + -moz-border-radius: 0 0 4px 4px; + -webkit-border-radius: 0 0 4px 4px; + border-radius: 0 0 4px 4px; +} +.tabs-header-bottom .tabs-tool { + top: 0; +} +.tabs-header-bottom .tabs-scroller-left, +.tabs-header-bottom .tabs-scroller-right { + top: 0; + bottom: auto; +} +.tabs-panels-top { + border-width: 1px 1px 0 1px; +} +.tabs-header-left { + float: left; + border-width: 1px 0 1px 1px; + padding: 0; +} +.tabs-header-right { + float: right; + border-width: 1px 1px 1px 0; + padding: 0; +} +.tabs-header-left .tabs-wrap, +.tabs-header-right .tabs-wrap { + height: 100%; +} +.tabs-header-left .tabs { + height: 100%; + padding: 4px 0 0 2px; + border-width: 0 1px 0 0; +} +.tabs-header-right .tabs { + height: 100%; + padding: 4px 2px 0 0; + border-width: 0 0 0 1px; +} +.tabs-header-left .tabs li, +.tabs-header-right .tabs li { + display: block; + width: 100%; + position: relative; +} +.tabs-header-left .tabs li { + left: auto; + right: 0; + margin: 0 -1px 4px 0; + float: right; +} +.tabs-header-right .tabs li { + left: 0; + right: auto; + margin: 0 0 4px -1px; + float: left; +} +.tabs-justified li a.tabs-inner { + padding-left: 0; + padding-right: 0; +} +.tabs-header-left .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 4px 0 0 4px; + -webkit-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} +.tabs-header-right .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 0 4px 4px 0; + -webkit-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} +.tabs-panels-right { + float: right; + border-width: 1px 1px 1px 0; +} +.tabs-panels-left { + float: left; + border-width: 1px 0 1px 1px; +} +.tabs-header-noborder, +.tabs-panels-noborder { + border: 0px; +} +.tabs-header-plain { + border: 0px; + background: transparent; +} +.tabs-pill { + padding-bottom: 3px; +} +.tabs-header-bottom .tabs-pill { + padding-top: 3px; + padding-bottom: 0; +} +.tabs-header-left .tabs-pill { + padding-right: 3px; +} +.tabs-header-right .tabs-pill { + padding-left: 3px; +} +.tabs-header .tabs-pill li a.tabs-inner { + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.tabs-header-narrow, +.tabs-header-narrow .tabs-narrow { + padding: 0; +} +.tabs-narrow li, +.tabs-header-bottom .tabs-narrow li { + margin-left: 0; + margin-right: -1px; +} +.tabs-narrow li.tabs-last, +.tabs-header-bottom .tabs-narrow li.tabs-last { + margin-right: 0; +} +.tabs-header-left .tabs-narrow, +.tabs-header-right .tabs-narrow { + padding-top: 0; +} +.tabs-header-left .tabs-narrow li { + margin-bottom: -1px; + margin-right: -1px; +} +.tabs-header-left .tabs-narrow li.tabs-last, +.tabs-header-right .tabs-narrow li.tabs-last { + margin-bottom: 0; +} +.tabs-header-right .tabs-narrow li { + margin-bottom: -1px; + margin-left: -1px; +} +.tabs-scroller-left { + background: #f5f5f5 url('images/tabs_icons.png') no-repeat 1px center; +} +.tabs-scroller-right { + background: #f5f5f5 url('images/tabs_icons.png') no-repeat -15px center; +} +.tabs li a.tabs-close { + background: url('images/tabs_icons.png') no-repeat -34px center; +} +.tabs li a.tabs-inner:hover { + background: #eee; + color: #404040; + filter: none; +} +.tabs li.tabs-selected a.tabs-inner { + background-color: #ffffff; + color: #000000; +} +.tabs li a.tabs-inner { + color: #000000; + background-color: #f5f5f5; +} +.tabs-header, +.tabs-tool { + background-color: #f5f5f5; +} +.tabs-header-plain { + background: transparent; +} +.tabs-header, +.tabs-scroller-left, +.tabs-scroller-right, +.tabs-tool, +.tabs, +.tabs-panels, +.tabs li a.tabs-inner, +.tabs li.tabs-selected a.tabs-inner, +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, +.tabs-header-left .tabs li.tabs-selected a.tabs-inner, +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-color: #ddd; +} +.tabs-p-tool a:hover, +.tabs li a:hover.tabs-close, +.tabs-scroller-over { + background-color: #eee; +} +.tabs li.tabs-selected a.tabs-inner { + border-bottom: 1px solid #ffffff; +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + border-top: 1px solid #ffffff; +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + border-right: 1px solid #ffffff; +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-left: 1px solid #ffffff; +} +.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { + background: #00bbee; + color: #fff; + filter: none; + border-color: #ddd; +} +.datagrid .panel-body { + overflow: hidden; + position: relative; +} +.datagrid-view { + position: relative; + overflow: hidden; +} +.datagrid-view1, +.datagrid-view2 { + position: absolute; + overflow: hidden; + top: 0; +} +.datagrid-view1 { + left: 0; +} +.datagrid-view2 { + right: 0; +} +.datagrid-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: 0.3; + filter: alpha(opacity=30); + display: none; +} +.datagrid-mask-msg { + position: absolute; + top: 50%; + margin-top: -20px; + padding: 10px 5px 10px 30px; + width: auto; + height: 16px; + border-width: 2px; + border-style: solid; + display: none; +} +.datagrid-empty { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 25px; + line-height: 25px; + text-align: center; +} +.datagrid-sort-icon { + padding: 0; + display: none; +} +.datagrid-toolbar { + height: auto; + padding: 1px 2px; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ddd; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.datagrid .datagrid-pager { + display: block; + margin: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.datagrid .datagrid-pager-top { + border-width: 0 0 1px 0; +} +.datagrid-header { + overflow: hidden; + cursor: default; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-header-inner { + float: left; + width: 10000px; +} +.datagrid-header-row, +.datagrid-row { + height: 25px; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-width: 0 1px 1px 0; + border-style: dotted; + margin: 0; + padding: 0; +} +.datagrid-cell, +.datagrid-cell-group, +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + margin: 0; + padding: 0 4px; + white-space: nowrap; + word-wrap: normal; + overflow: hidden; + height: 18px; + line-height: 18px; + font-size: 12px; +} +.datagrid-header .datagrid-cell { + height: auto; +} +.datagrid-header .datagrid-cell span { + font-size: 12px; +} +.datagrid-cell-group { + text-align: center; + text-overflow: ellipsis; +} +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + width: 30px; + text-align: center; + margin: 0; + padding: 0; +} +.datagrid-body { + margin: 0; + padding: 0; + overflow: auto; + zoom: 1; +} +.datagrid-view1 .datagrid-body-inner { + padding-bottom: 20px; +} +.datagrid-view1 .datagrid-body { + overflow: hidden; +} +.datagrid-footer { + overflow: hidden; +} +.datagrid-footer-inner { + border-width: 1px 0 0 0; + border-style: solid; + width: 10000px; + float: left; +} +.datagrid-row-editing .datagrid-cell { + height: auto; +} +.datagrid-header-check, +.datagrid-cell-check { + padding: 0; + width: 27px; + height: 18px; + font-size: 1px; + text-align: center; + overflow: hidden; +} +.datagrid-header-check input, +.datagrid-cell-check input { + margin: 0; + padding: 0; + width: 15px; + height: 18px; +} +.datagrid-resize-proxy { + position: absolute; + width: 1px; + height: 10000px; + top: 0; + cursor: e-resize; + display: none; +} +.datagrid-body .datagrid-editable { + margin: 0; + padding: 0; +} +.datagrid-body .datagrid-editable table { + width: 100%; + height: 100%; +} +.datagrid-body .datagrid-editable td { + border: 0; + margin: 0; + padding: 0; +} +.datagrid-view .datagrid-editable-input { + margin: 0; + padding: 2px 4px; + border: 1px solid #ddd; + font-size: 12px; + outline-style: none; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-view .validatebox-invalid { + border-color: #ffa8a8; +} +.datagrid-sort .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -64px center; +} +.datagrid-sort-desc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -16px center; +} +.datagrid-sort-asc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat 0px center; +} +.datagrid-row-collapse { + background: url('images/datagrid_icons.png') no-repeat -48px center; +} +.datagrid-row-expand { + background: url('images/datagrid_icons.png') no-repeat -32px center; +} +.datagrid-mask-msg { + background: #ffffff url('images/loading.gif') no-repeat scroll 5px center; +} +.datagrid-header, +.datagrid-td-rownumber { + background-color: #fafafa; +} +.datagrid-cell-rownumber { + color: #404040; +} +.datagrid-resize-proxy { + background: #ccc; +} +.datagrid-mask { + background: #eee; +} +.datagrid-mask-msg { + border-color: #ddd; +} +.datagrid-toolbar, +.datagrid-pager { + background: #fafafa; +} +.datagrid-header, +.datagrid-toolbar, +.datagrid-pager, +.datagrid-footer-inner { + border-color: #eee; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-color: #ebebeb; +} +.datagrid-htable, +.datagrid-btable, +.datagrid-ftable { + color: #404040; + border-collapse: separate; +} +.datagrid-row-alt { + background: #f9f9f9; +} +.datagrid-row-over, +.datagrid-header td.datagrid-header-over { + background: #eee; + color: #404040; + cursor: default; +} +.datagrid-row-selected { + background: #00bbee; + color: #fff; +} +.datagrid-row-editing .textbox, +.datagrid-row-editing .textbox-text { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.propertygrid .datagrid-view1 .datagrid-body td { + padding-bottom: 1px; + border-width: 0 1px 0 0; +} +.propertygrid .datagrid-group { + height: 21px; + overflow: hidden; + border-width: 0 0 1px 0; + border-style: solid; +} +.propertygrid .datagrid-group span { + font-weight: bold; +} +.propertygrid .datagrid-view1 .datagrid-body td { + border-color: #eee; +} +.propertygrid .datagrid-view1 .datagrid-group { + border-color: #f5f5f5; +} +.propertygrid .datagrid-view2 .datagrid-group { + border-color: #eee; +} +.propertygrid .datagrid-group, +.propertygrid .datagrid-view1 .datagrid-body, +.propertygrid .datagrid-view1 .datagrid-row-over, +.propertygrid .datagrid-view1 .datagrid-row-selected { + background: #f5f5f5; +} +.datalist .datagrid-header { + border-width: 0; +} +.datalist .datagrid-group, +.m-list .m-list-group { + height: 25px; + line-height: 25px; + font-weight: bold; + overflow: hidden; + background-color: #fafafa; + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ebebeb; +} +.datalist .datagrid-group-expander { + display: none; +} +.datalist .datagrid-group-title { + padding: 0 4px; +} +.datalist .datagrid-btable { + width: 100%; + table-layout: fixed; +} +.datalist .datagrid-row td { + border-style: solid; + border-left-color: transparent; + border-right-color: transparent; + border-bottom-width: 0; +} +.datalist-lines .datagrid-row td { + border-bottom-width: 1px; +} +.datalist .datagrid-cell, +.m-list li { + width: auto; + height: auto; + padding: 2px 4px; + line-height: 18px; + position: relative; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link, +.m-list li>a { + display: block; + position: relative; + cursor: pointer; + color: #404040; + text-decoration: none; + overflow: hidden; + margin: -2px -4px; + padding: 2px 4px; + padding-right: 16px; + line-height: 18px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link::after, +.m-list li>a::after { + position: absolute; + display: block; + width: 8px; + height: 8px; + content: ''; + right: 6px; + top: 50%; + margin-top: -4px; + border-style: solid; + border-width: 1px 1px 0 0; + -ms-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -webkit-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); +} +.m-list { + margin: 0; + padding: 0; + list-style: none; +} +.m-list li { + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ebebeb; +} +.m-list li>a:hover { + background: #eee; + color: #404040; +} +.m-list .m-list-group { + padding: 0 4px; +} +.pagination { + zoom: 1; +} +.pagination table { + float: left; + height: 30px; +} +.pagination td { + border: 0; +} +.pagination-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ddd; + border-right: 1px solid #fff; + margin: 3px 1px; +} +.pagination .pagination-num { + border-width: 1px; + border-style: solid; + margin: 0 2px; + padding: 2px; + width: 2em; + height: auto; +} +.pagination-page-list { + margin: 0px 6px; + padding: 1px 2px; + width: auto; + height: auto; + border-width: 1px; + border-style: solid; +} +.pagination-info { + float: right; + margin: 0 6px; + padding: 0; + height: 30px; + line-height: 30px; + font-size: 12px; +} +.pagination span { + font-size: 12px; +} +.pagination-link .l-btn-text { + width: 24px; + text-align: center; + margin: 0; +} +.pagination-first { + background: url('images/pagination_icons.png') no-repeat 0 center; +} +.pagination-prev { + background: url('images/pagination_icons.png') no-repeat -16px center; +} +.pagination-next { + background: url('images/pagination_icons.png') no-repeat -32px center; +} +.pagination-last { + background: url('images/pagination_icons.png') no-repeat -48px center; +} +.pagination-load { + background: url('images/pagination_icons.png') no-repeat -64px center; +} +.pagination-loading { + background: url('images/loading.gif') no-repeat center center; +} +.pagination-page-list, +.pagination .pagination-num { + border-color: #ddd; +} +.calendar { + border-width: 1px; + border-style: solid; + padding: 1px; + overflow: hidden; +} +.calendar table { + table-layout: fixed; + border-collapse: separate; + font-size: 12px; + width: 100%; + height: 100%; +} +.calendar table td, +.calendar table th { + font-size: 12px; +} +.calendar-noborder { + border: 0; +} +.calendar-header { + position: relative; + height: 22px; +} +.calendar-title { + text-align: center; + height: 22px; +} +.calendar-title span { + position: relative; + display: inline-block; + top: 2px; + padding: 0 3px; + height: 18px; + line-height: 18px; + font-size: 12px; + cursor: pointer; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.calendar-prevmonth, +.calendar-nextmonth, +.calendar-prevyear, +.calendar-nextyear { + position: absolute; + top: 50%; + margin-top: -7px; + width: 14px; + height: 14px; + cursor: pointer; + font-size: 1px; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.calendar-prevmonth { + left: 20px; + background: url('images/calendar_arrows.png') no-repeat -18px -2px; +} +.calendar-nextmonth { + right: 20px; + background: url('images/calendar_arrows.png') no-repeat -34px -2px; +} +.calendar-prevyear { + left: 3px; + background: url('images/calendar_arrows.png') no-repeat -1px -2px; +} +.calendar-nextyear { + right: 3px; + background: url('images/calendar_arrows.png') no-repeat -49px -2px; +} +.calendar-body { + position: relative; +} +.calendar-body th, +.calendar-body td { + text-align: center; +} +.calendar-day { + border: 0; + padding: 1px; + cursor: pointer; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.calendar-other-month { + opacity: 0.3; + filter: alpha(opacity=30); +} +.calendar-disabled { + opacity: 0.6; + filter: alpha(opacity=60); + cursor: default; +} +.calendar-menu { + position: absolute; + top: 0; + left: 0; + width: 180px; + height: 150px; + padding: 5px; + font-size: 12px; + display: none; + overflow: hidden; +} +.calendar-menu-year-inner { + text-align: center; + padding-bottom: 5px; +} +.calendar-menu-year { + width: 50px; + text-align: center; + border-width: 1px; + border-style: solid; + outline-style: none; + resize: none; + margin: 0; + padding: 2px; + font-weight: bold; + font-size: 12px; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.calendar-menu-prev, +.calendar-menu-next { + display: inline-block; + width: 21px; + height: 21px; + vertical-align: top; + cursor: pointer; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.calendar-menu-prev { + margin-right: 10px; + background: url('images/calendar_arrows.png') no-repeat 2px 2px; +} +.calendar-menu-next { + margin-left: 10px; + background: url('images/calendar_arrows.png') no-repeat -45px 2px; +} +.calendar-menu-month { + text-align: center; + cursor: pointer; + font-weight: bold; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.calendar-body th, +.calendar-menu-month { + color: #8d8d8d; +} +.calendar-day { + color: #404040; +} +.calendar-sunday { + color: #CC2222; +} +.calendar-saturday { + color: #00ee00; +} +.calendar-today { + color: #0000ff; +} +.calendar-menu-year { + border-color: #ddd; +} +.calendar { + border-color: #ddd; +} +.calendar-header { + background: #f5f5f5; +} +.calendar-body, +.calendar-menu { + background: #ffffff; +} +.calendar-body th { + background: #fafafa; + padding: 2px 0; +} +.calendar-hover, +.calendar-nav-hover, +.calendar-menu-hover { + background-color: #eee; + color: #404040; +} +.calendar-hover { + border: 1px solid #ccc; + padding: 0; +} +.calendar-selected { + background-color: #00bbee; + color: #fff; + border: 1px solid #9cc8f7; + padding: 0; +} +.datebox-calendar-inner { + height: 180px; +} +.datebox-button { + padding: 0 5px; + text-align: center; +} +.datebox-button a { + line-height: 22px; + font-size: 12px; + font-weight: bold; + text-decoration: none; + opacity: 0.6; + filter: alpha(opacity=60); +} +.datebox-button a:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.datebox-current, +.datebox-close { + float: left; +} +.datebox-close { + float: right; +} +.datebox .combo-arrow { + background-image: url('images/datebox_arrow.png'); + background-position: center center; +} +.datebox-button { + background-color: #fafafa; +} +.datebox-button a { + color: #404040; +} +.spinner-arrow { + background-color: #f5f5f5; + display: inline-block; + overflow: hidden; + vertical-align: top; + margin: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + width: 18px; +} +.spinner-arrow-up, +.spinner-arrow-down { + opacity: 0.6; + filter: alpha(opacity=60); + display: block; + font-size: 1px; + width: 18px; + height: 10px; + width: 100%; + height: 50%; + color: #404040; + outline-style: none; +} +.spinner-arrow-hover { + background-color: #eee; + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-arrow-up:hover, +.spinner-arrow-down:hover { + opacity: 1.0; + filter: alpha(opacity=100); + background-color: #eee; +} +.textbox-icon-disabled .spinner-arrow-up:hover, +.textbox-icon-disabled .spinner-arrow-down:hover { + opacity: 0.6; + filter: alpha(opacity=60); + background-color: #f5f5f5; + cursor: default; +} +.spinner .textbox-icon-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-arrow-up { + background: url('images/spinner_arrows.png') no-repeat 1px center; +} +.spinner-arrow-down { + background: url('images/spinner_arrows.png') no-repeat -15px center; +} +.spinner-button-up { + background: url('images/spinner_arrows.png') no-repeat -32px center; +} +.spinner-button-down { + background: url('images/spinner_arrows.png') no-repeat -48px center; +} +.progressbar { + border-width: 1px; + border-style: solid; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; + overflow: hidden; + position: relative; +} +.progressbar-text { + text-align: center; + position: absolute; +} +.progressbar-value { + position: relative; + overflow: hidden; + width: 0; + -moz-border-radius: 4px 0 0 4px; + -webkit-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} +.progressbar { + border-color: #ddd; +} +.progressbar-text { + color: #404040; + font-size: 12px; +} +.progressbar-value .progressbar-text { + background-color: #00bbee; + color: #fff; +} +.searchbox-button { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.searchbox-button-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.searchbox .l-btn-plain { + border: 0; + padding: 0; + vertical-align: top; + opacity: 0.6; + filter: alpha(opacity=60); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .l-btn-plain:hover { + border: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox a.m-btn-plain-active { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .m-btn-active { + border-width: 0 1px 0 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .textbox-button-right { + border-width: 0 0 0 1px; +} +.searchbox .textbox-button-left { + border-width: 0 1px 0 0; +} +.searchbox-button { + background: url('images/searchbox_button.png') no-repeat center center; +} +.searchbox .l-btn-plain { + background: #f5f5f5; +} +.searchbox .l-btn-plain-disabled, +.searchbox .l-btn-plain-disabled:hover { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-h { + height: 22px; +} +.slider-v { + width: 22px; +} +.slider-inner { + position: relative; + height: 6px; + top: 7px; + border-width: 1px; + border-style: solid; + border-radius: 4px; +} +.slider-handle { + position: absolute; + display: block; + outline: none; + width: 20px; + height: 20px; + top: 50%; + margin-top: -10px; + margin-left: -10px; +} +.slider-tip { + position: absolute; + display: inline-block; + line-height: 12px; + font-size: 12px; + white-space: nowrap; + top: -22px; +} +.slider-rule { + position: relative; + top: 15px; +} +.slider-rule span { + position: absolute; + display: inline-block; + font-size: 0; + height: 5px; + border-width: 0 0 0 1px; + border-style: solid; +} +.slider-rulelabel { + position: relative; + top: 20px; +} +.slider-rulelabel span { + position: absolute; + display: inline-block; + font-size: 12px; +} +.slider-v .slider-inner { + width: 6px; + left: 7px; + top: 0; + float: left; +} +.slider-v .slider-handle { + left: 50%; + margin-top: -10px; +} +.slider-v .slider-tip { + left: -10px; + margin-top: -6px; +} +.slider-v .slider-rule { + float: left; + top: 0; + left: 16px; +} +.slider-v .slider-rule span { + width: 5px; + height: 'auto'; + border-left: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.slider-v .slider-rulelabel { + float: left; + top: 0; + left: 23px; +} +.slider-handle { + background: url('images/slider_handle.png') no-repeat; +} +.slider-inner { + border-color: #ddd; + background: #f5f5f5; +} +.slider-rule span { + border-color: #ddd; +} +.slider-rulelabel span { + color: #404040; +} +.menu { + position: absolute; + margin: 0; + padding: 2px; + border-width: 1px; + border-style: solid; + overflow: hidden; +} +.menu-inline { + position: relative; +} +.menu-item { + position: relative; + margin: 0; + padding: 0; + overflow: hidden; + white-space: nowrap; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.menu-text { + height: 20px; + line-height: 20px; + float: left; + padding-left: 28px; +} +.menu-icon { + position: absolute; + width: 16px; + height: 16px; + left: 2px; + top: 50%; + margin-top: -8px; +} +.menu-rightarrow { + position: absolute; + width: 16px; + height: 16px; + right: 0; + top: 50%; + margin-top: -8px; +} +.menu-line { + position: absolute; + left: 26px; + top: 0; + height: 2000px; + font-size: 1px; +} +.menu-sep { + margin: 3px 0px 3px 25px; + font-size: 1px; +} +.menu-noline .menu-line { + display: none; +} +.menu-noline .menu-sep { + margin-left: 0; + margin-right: 0; +} +.menu-active { + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.menu-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); + cursor: default; +} +.menu-text, +.menu-text span { + font-size: 12px; +} +.menu-shadow { + position: absolute; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; + background: #fafafa; + -moz-box-shadow: 2px 2px 3px #fafafa; + -webkit-box-shadow: 2px 2px 3px #fafafa; + box-shadow: 2px 2px 3px #fafafa; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.menu-rightarrow { + background: url('images/menu_arrows.png') no-repeat -32px center; +} +.menu-line { + border-left: 1px solid #ddd; + border-right: 1px solid #fff; +} +.menu-sep { + border-top: 1px solid #ddd; + border-bottom: 1px solid #fff; +} +.menu { + background-color: #fff; + border-color: #eee; + color: #404040; +} +.menu-content { + background: #ffffff; +} +.menu-item { + border-color: transparent; + _border-color: #fff; +} +.menu-active { + border-color: #ccc; + color: #404040; + background: #eee; +} +.menu-active-disabled { + border-color: transparent; + background: transparent; + color: #404040; +} +.m-btn-downarrow, +.s-btn-downarrow { + display: inline-block; + position: absolute; + width: 16px; + height: 16px; + font-size: 1px; + right: 0; + top: 50%; + margin-top: -8px; +} +.m-btn-active, +.s-btn-active { + background: #eee; + color: #404040; + border: 1px solid #ccc; + filter: none; +} +.m-btn-plain-active, +.s-btn-plain-active { + background: transparent; + padding: 0; + border-width: 1px; + border-style: solid; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.m-btn .l-btn-left .l-btn-text { + margin-right: 20px; +} +.m-btn .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.m-btn .l-btn-icon-right .l-btn-icon { + right: 20px; +} +.m-btn .l-btn-icon-top .l-btn-text { + margin-right: 4px; + margin-bottom: 14px; +} +.m-btn .l-btn-icon-bottom .l-btn-text { + margin-right: 4px; + margin-bottom: 34px; +} +.m-btn .l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 20px; +} +.m-btn .l-btn-icon-top .m-btn-downarrow, +.m-btn .l-btn-icon-bottom .m-btn-downarrow { + top: auto; + bottom: 0px; + left: 50%; + margin-left: -8px; +} +.m-btn-line { + display: inline-block; + position: absolute; + font-size: 1px; + display: none; +} +.m-btn .l-btn-left .m-btn-line { + right: 0; + width: 16px; + height: 500px; + border-style: solid; + border-color: #ccc; + border-width: 0 0 0 1px; +} +.m-btn .l-btn-icon-top .m-btn-line, +.m-btn .l-btn-icon-bottom .m-btn-line { + left: 0; + bottom: 0; + width: 500px; + height: 16px; + border-width: 1px 0 0 0; +} +.m-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 56px; +} +.m-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 50px; +} +.m-btn-downarrow, +.s-btn-downarrow { + background: url('images/menu_arrows.png') no-repeat 0 center; +} +.m-btn-plain-active, +.s-btn-plain-active { + border-color: #ccc; + background-color: #eee; + color: #404040; +} +.s-btn:hover .m-btn-line, +.s-btn-active .m-btn-line, +.s-btn-plain-active .m-btn-line { + display: inline-block; +} +.l-btn:hover .s-btn-downarrow, +.s-btn-active .s-btn-downarrow, +.s-btn-plain-active .s-btn-downarrow { + border-style: solid; + border-color: #ccc; + border-width: 0 0 0 1px; +} +.messager-body { + padding: 10px 10px 30px 10px; + overflow: auto; +} +.messager-button { + text-align: center; + padding: 5px; +} +.messager-button .l-btn { + width: 70px; +} +.messager-icon { + float: left; + width: 32px; + height: 32px; + margin: 0 10px 10px 0; +} +.messager-error { + background: url('images/messager_icons.png') no-repeat scroll -64px 0; +} +.messager-info { + background: url('images/messager_icons.png') no-repeat scroll 0 0; +} +.messager-question { + background: url('images/messager_icons.png') no-repeat scroll -32px 0; +} +.messager-warning { + background: url('images/messager_icons.png') no-repeat scroll -96px 0; +} +.messager-progress { + padding: 10px; +} +.messager-p-msg { + margin-bottom: 5px; +} +.messager-body .messager-input { + width: 100%; + padding: 4px 0; + outline-style: none; + border: 1px solid #ddd; +} +.window-thinborder .messager-button { + padding-bottom: 8px; +} +.tree { + margin: 0; + padding: 0; + list-style-type: none; +} +.tree li { + white-space: nowrap; +} +.tree li ul { + list-style-type: none; + margin: 0; + padding: 0; +} +.tree-node { + height: 18px; + white-space: nowrap; + cursor: pointer; +} +.tree-hit { + cursor: pointer; +} +.tree-expanded, +.tree-collapsed, +.tree-folder, +.tree-file, +.tree-checkbox, +.tree-indent { + display: inline-block; + width: 16px; + height: 18px; + vertical-align: top; + overflow: hidden; +} +.tree-expanded { + background: url('images/tree_icons.png') no-repeat -18px 0px; +} +.tree-expanded-hover { + background: url('images/tree_icons.png') no-repeat -50px 0px; +} +.tree-collapsed { + background: url('images/tree_icons.png') no-repeat 0px 0px; +} +.tree-collapsed-hover { + background: url('images/tree_icons.png') no-repeat -32px 0px; +} +.tree-lines .tree-expanded, +.tree-lines .tree-root-first .tree-expanded { + background: url('images/tree_icons.png') no-repeat -144px 0; +} +.tree-lines .tree-collapsed, +.tree-lines .tree-root-first .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -128px 0; +} +.tree-lines .tree-node-last .tree-expanded, +.tree-lines .tree-root-one .tree-expanded { + background: url('images/tree_icons.png') no-repeat -80px 0; +} +.tree-lines .tree-node-last .tree-collapsed, +.tree-lines .tree-root-one .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -64px 0; +} +.tree-line { + background: url('images/tree_icons.png') no-repeat -176px 0; +} +.tree-join { + background: url('images/tree_icons.png') no-repeat -192px 0; +} +.tree-joinbottom { + background: url('images/tree_icons.png') no-repeat -160px 0; +} +.tree-folder { + background: url('images/tree_icons.png') no-repeat -208px 0; +} +.tree-folder-open { + background: url('images/tree_icons.png') no-repeat -224px 0; +} +.tree-file { + background: url('images/tree_icons.png') no-repeat -240px 0; +} +.tree-loading { + background: url('images/loading.gif') no-repeat center center; +} +.tree-checkbox0 { + background: url('images/tree_icons.png') no-repeat -208px -18px; +} +.tree-checkbox1 { + background: url('images/tree_icons.png') no-repeat -224px -18px; +} +.tree-checkbox2 { + background: url('images/tree_icons.png') no-repeat -240px -18px; +} +.tree-title { + font-size: 12px; + display: inline-block; + text-decoration: none; + vertical-align: top; + white-space: nowrap; + padding: 0 2px; + height: 18px; + line-height: 18px; +} +.tree-node-proxy { + font-size: 12px; + line-height: 20px; + padding: 0 2px 0 20px; + border-width: 1px; + border-style: solid; + z-index: 9900000; +} +.tree-dnd-icon { + display: inline-block; + position: absolute; + width: 16px; + height: 18px; + left: 2px; + top: 50%; + margin-top: -9px; +} +.tree-dnd-yes { + background: url('images/tree_icons.png') no-repeat -256px 0; +} +.tree-dnd-no { + background: url('images/tree_icons.png') no-repeat -256px -18px; +} +.tree-node-top { + border-top: 1px dotted red; +} +.tree-node-bottom { + border-bottom: 1px dotted red; +} +.tree-node-append .tree-title { + border: 1px dotted red; +} +.tree-editor { + border: 1px solid #ddd; + font-size: 12px; + line-height: 16px; + padding: 0 4px; + margin: 0; + width: 80px; + outline-style: none; + vertical-align: top; + position: absolute; + top: 0; +} +.tree-node-proxy { + background-color: #ffffff; + color: #404040; + border-color: #ddd; +} +.tree-node-hover { + background: #eee; + color: #404040; +} +.tree-node-selected { + background: #00bbee; + color: #fff; +} +.tree-node-hidden { + display: none; +} +.validatebox-invalid { + border-color: #ffa8a8; + background-color: #fff; + color: #404040; +} +.tooltip { + position: absolute; + display: none; + z-index: 9900000; + outline: none; + opacity: 1; + filter: alpha(opacity=100); + padding: 5px; + border-width: 1px; + border-style: solid; + border-radius: 5px; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.tooltip-content { + font-size: 12px; +} +.tooltip-arrow-outer, +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + line-height: 0; + font-size: 0; + border-style: solid; + border-width: 6px; + border-color: transparent; + _border-color: tomato; + _filter: chroma(color=tomato); +} +.tooltip-arrow { + display: none \9; +} +.tooltip-right .tooltip-arrow-outer { + left: 0; + top: 50%; + margin: -6px 0 0 -13px; +} +.tooltip-right .tooltip-arrow { + left: 0; + top: 50%; + margin: -6px 0 0 -12px; +} +.tooltip-left .tooltip-arrow-outer { + right: 0; + top: 50%; + margin: -6px -13px 0 0; +} +.tooltip-left .tooltip-arrow { + right: 0; + top: 50%; + margin: -6px -12px 0 0; +} +.tooltip-top .tooltip-arrow-outer { + bottom: 0; + left: 50%; + margin: 0 0 -13px -6px; +} +.tooltip-top .tooltip-arrow { + bottom: 0; + left: 50%; + margin: 0 0 -12px -6px; +} +.tooltip-bottom .tooltip-arrow-outer { + top: 0; + left: 50%; + margin: -13px 0 0 -6px; +} +.tooltip-bottom .tooltip-arrow { + top: 0; + left: 50%; + margin: -12px 0 0 -6px; +} +.tooltip { + background-color: #ffffff; + border-color: #ddd; + color: #404040; +} +.tooltip-right .tooltip-arrow-outer { + border-right-color: #ddd; +} +.tooltip-right .tooltip-arrow { + border-right-color: #ffffff; +} +.tooltip-left .tooltip-arrow-outer { + border-left-color: #ddd; +} +.tooltip-left .tooltip-arrow { + border-left-color: #ffffff; +} +.tooltip-top .tooltip-arrow-outer { + border-top-color: #ddd; +} +.tooltip-top .tooltip-arrow { + border-top-color: #ffffff; +} +.tooltip-bottom .tooltip-arrow-outer { + border-bottom-color: #ddd; +} +.tooltip-bottom .tooltip-arrow { + border-bottom-color: #ffffff; +} +.switchbutton { + text-decoration: none; + display: inline-block; + overflow: hidden; + vertical-align: middle; + margin: 0; + padding: 0; + cursor: pointer; + background: #d9d9d9; + border: 1px solid #d9d9d9; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.switchbutton-inner { + display: inline-block; + overflow: hidden; + position: relative; + top: -1px; + left: -1px; +} +.switchbutton-on, +.switchbutton-off, +.switchbutton-handle { + display: inline-block; + text-align: center; + height: 100%; + float: left; + font-size: 12px; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.switchbutton-on { + background: #00bbee; + color: #fff; +} +.switchbutton-off { + background-color: #ffffff; + color: #404040; +} +.switchbutton-on, +.switchbutton-reversed .switchbutton-off { + -moz-border-radius: 4px 0 0 4px; + -webkit-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} +.switchbutton-off, +.switchbutton-reversed .switchbutton-on { + -moz-border-radius: 0 4px 4px 0; + -webkit-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} +.switchbutton-handle { + position: absolute; + top: 0; + left: 50%; + background-color: #ffffff; + color: #404040; + border: 1px solid #d9d9d9; + -moz-box-shadow: 0 0 3px 0 #d9d9d9; + -webkit-box-shadow: 0 0 3px 0 #d9d9d9; + box-shadow: 0 0 3px 0 #d9d9d9; +} +.switchbutton-value { + position: absolute; + top: 0; + left: -5000px; +} +.switchbutton-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.switchbutton-disabled, +.switchbutton-readonly { + cursor: default; +} +.l-btn { + box-shadow: 0 1px 2px rgba(0,0,0,0.2), 0 1px 1px rgba(0,0,0,0.05); +} +.l-btn:active { + box-shadow: 0 6px 17px 0 rgba(235,235,235,0.3); +} +.l-btn-selected { + box-shadow: 0 1px 2px rgba(89,205,226,0.2), 0 1px 1px rgba(89,205,226,0.05); +} +.l-btn-plain, +.l-btn-disabled, +.l-btn-disabled:active, +.textbox-button { + box-shadow: none; +} +.l-btn-selected, +.l-btn-selected:hover { + background: #00bbee; + color: #fff; +} +.l-btn-plain-selected, +.l-btn-plain-selected:hover { + background: #00bbee; +} +.m-btn-active, +.m-btn-plain-active, +.s-btn-active, +.s-btn-plain-active { + background: #00bbee; + color: #fff; +} +.menu-shadow, +.combo-p { + -moz-box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); + -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); + box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); + filter: none; +} +.menu-active { + border-color: transparent; + color: #fff; + background: #00bbee; +} +.menu-active-disabled { + border-color: transparent; + background: transparent; + color: #404040; +} +.window { + background-color: #fff; +} +.window-proxy { + border-color: #ccc; +} +.window-shadow { + -moz-box-shadow: 0 7px 8px -4px rgba(0,0,0,0.2), 0 13px 19px 2px rgba(0,0,0,0.14), 0 5px 24px 4px rgba(0,0,0,0.12); + -webkit-box-shadow: 0 7px 8px -4px rgba(0,0,0,0.2), 0 13px 19px 2px rgba(0,0,0,0.14), 0 5px 24px 4px rgba(0,0,0,0.12); + box-shadow: 0 7px 8px -4px rgba(0,0,0,0.2), 0 13px 19px 2px rgba(0,0,0,0.14), 0 5px 24px 4px rgba(0,0,0,0.12); + filter: none; +} +.window-mask { + background: #000; +} +.datagrid-header .datagrid-cell, +.datagrid-header .datagrid-cell-group { + color: #666; + font-weight: bold; + filter: alpha(opacity=80); + opacity: 0.80; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-style: solid; +} diff --git a/src/main/webapp/css/themes/material/filebox.css b/src/main/webapp/css/themes/material/filebox.css new file mode 100644 index 0000000..c6bac66 --- /dev/null +++ b/src/main/webapp/css/themes/material/filebox.css @@ -0,0 +1,20 @@ +.filebox .textbox-value { + vertical-align: top; + position: absolute; + top: 0; + left: -5000px; +} +.filebox-label { + display: inline-block; + position: absolute; + width: 100%; + height: 100%; + cursor: pointer; + left: 0; + top: 0; + z-index: 10; + background: url('images/blank.gif') no-repeat; +} +.l-btn-disabled .filebox-label { + cursor: default; +} diff --git a/src/main/webapp/css/themes/material/images/Thumbs.db b/src/main/webapp/css/themes/material/images/Thumbs.db new file mode 100644 index 0000000..5f257a2 Binary files /dev/null and b/src/main/webapp/css/themes/material/images/Thumbs.db differ diff --git a/src/main/webapp/css/themes/material/images/accordion_arrows.png b/src/main/webapp/css/themes/material/images/accordion_arrows.png new file mode 100644 index 0000000..a0b8769 Binary files /dev/null and b/src/main/webapp/css/themes/material/images/accordion_arrows.png differ diff --git a/src/main/webapp/css/themes/material/images/blank.gif b/src/main/webapp/css/themes/material/images/blank.gif new file mode 100644 index 0000000..1d11fa9 Binary files /dev/null and b/src/main/webapp/css/themes/material/images/blank.gif differ diff --git a/src/main/webapp/css/themes/material/images/calendar_arrows.png b/src/main/webapp/css/themes/material/images/calendar_arrows.png new file mode 100644 index 0000000..430c4ad Binary files /dev/null and b/src/main/webapp/css/themes/material/images/calendar_arrows.png differ diff --git a/src/main/webapp/css/themes/material/images/combo_arrow.png b/src/main/webapp/css/themes/material/images/combo_arrow.png new file mode 100644 index 0000000..04f4ba0 Binary files /dev/null and b/src/main/webapp/css/themes/material/images/combo_arrow.png differ diff --git a/src/main/webapp/css/themes/material/images/datagrid_icons.png b/src/main/webapp/css/themes/material/images/datagrid_icons.png new file mode 100644 index 0000000..66b8343 Binary files /dev/null and b/src/main/webapp/css/themes/material/images/datagrid_icons.png differ diff --git a/src/main/webapp/css/themes/material/images/datebox_arrow.png b/src/main/webapp/css/themes/material/images/datebox_arrow.png new file mode 100644 index 0000000..783c833 Binary files /dev/null and b/src/main/webapp/css/themes/material/images/datebox_arrow.png differ diff --git a/src/main/webapp/css/themes/material/images/layout_arrows.png b/src/main/webapp/css/themes/material/images/layout_arrows.png new file mode 100644 index 0000000..bf7929f Binary files /dev/null and b/src/main/webapp/css/themes/material/images/layout_arrows.png differ diff --git a/src/main/webapp/css/themes/material/images/linkbutton_bg.png b/src/main/webapp/css/themes/material/images/linkbutton_bg.png new file mode 100644 index 0000000..fc66bd2 Binary files /dev/null and b/src/main/webapp/css/themes/material/images/linkbutton_bg.png differ diff --git a/src/main/webapp/css/themes/material/images/loading.gif b/src/main/webapp/css/themes/material/images/loading.gif new file mode 100644 index 0000000..68f01d0 Binary files /dev/null and b/src/main/webapp/css/themes/material/images/loading.gif differ diff --git a/src/main/webapp/css/themes/material/images/menu_arrows.png b/src/main/webapp/css/themes/material/images/menu_arrows.png new file mode 100644 index 0000000..b986842 Binary files /dev/null and b/src/main/webapp/css/themes/material/images/menu_arrows.png differ diff --git a/src/main/webapp/css/themes/material/images/messager_icons.png b/src/main/webapp/css/themes/material/images/messager_icons.png new file mode 100644 index 0000000..62c18c1 Binary files /dev/null and b/src/main/webapp/css/themes/material/images/messager_icons.png differ diff --git a/src/main/webapp/css/themes/material/images/pagination_icons.png b/src/main/webapp/css/themes/material/images/pagination_icons.png new file mode 100644 index 0000000..e0f1b07 Binary files /dev/null and b/src/main/webapp/css/themes/material/images/pagination_icons.png differ diff --git a/src/main/webapp/css/themes/material/images/panel_tools.png b/src/main/webapp/css/themes/material/images/panel_tools.png new file mode 100644 index 0000000..f33f8c9 Binary files /dev/null and b/src/main/webapp/css/themes/material/images/panel_tools.png differ diff --git a/src/main/webapp/css/themes/material/images/passwordbox_close.png b/src/main/webapp/css/themes/material/images/passwordbox_close.png new file mode 100644 index 0000000..276b579 Binary files /dev/null and b/src/main/webapp/css/themes/material/images/passwordbox_close.png differ diff --git a/src/main/webapp/css/themes/material/images/passwordbox_open.png b/src/main/webapp/css/themes/material/images/passwordbox_open.png new file mode 100644 index 0000000..0f25d53 Binary files /dev/null and b/src/main/webapp/css/themes/material/images/passwordbox_open.png differ diff --git a/src/main/webapp/css/themes/material/images/searchbox_button.png b/src/main/webapp/css/themes/material/images/searchbox_button.png new file mode 100644 index 0000000..6dd1931 Binary files /dev/null and b/src/main/webapp/css/themes/material/images/searchbox_button.png differ diff --git a/src/main/webapp/css/themes/material/images/slider_handle.png b/src/main/webapp/css/themes/material/images/slider_handle.png new file mode 100644 index 0000000..b9802ba Binary files /dev/null and b/src/main/webapp/css/themes/material/images/slider_handle.png differ diff --git a/src/main/webapp/css/themes/material/images/spinner_arrows.png b/src/main/webapp/css/themes/material/images/spinner_arrows.png new file mode 100644 index 0000000..b1773c2 Binary files /dev/null and b/src/main/webapp/css/themes/material/images/spinner_arrows.png differ diff --git a/src/main/webapp/css/themes/material/images/tabs_icons.png b/src/main/webapp/css/themes/material/images/tabs_icons.png new file mode 100644 index 0000000..dfa10f7 Binary files /dev/null and b/src/main/webapp/css/themes/material/images/tabs_icons.png differ diff --git a/src/main/webapp/css/themes/material/images/tagbox_icons.png b/src/main/webapp/css/themes/material/images/tagbox_icons.png new file mode 100644 index 0000000..8ec6436 Binary files /dev/null and b/src/main/webapp/css/themes/material/images/tagbox_icons.png differ diff --git a/src/main/webapp/css/themes/material/images/tree_icons.png b/src/main/webapp/css/themes/material/images/tree_icons.png new file mode 100644 index 0000000..e9be4f3 Binary files /dev/null and b/src/main/webapp/css/themes/material/images/tree_icons.png differ diff --git a/src/main/webapp/css/themes/material/images/validatebox_warning.png b/src/main/webapp/css/themes/material/images/validatebox_warning.png new file mode 100644 index 0000000..2b3d4f0 Binary files /dev/null and b/src/main/webapp/css/themes/material/images/validatebox_warning.png differ diff --git a/src/main/webapp/css/themes/material/layout.css b/src/main/webapp/css/themes/material/layout.css new file mode 100644 index 0000000..41ff29d --- /dev/null +++ b/src/main/webapp/css/themes/material/layout.css @@ -0,0 +1,150 @@ +.layout { + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + z-index: 0; +} +.layout-panel { + position: absolute; + overflow: hidden; +} +.layout-body { + min-width: 1px; + min-height: 1px; +} +.layout-panel-east, +.layout-panel-west { + z-index: 2; +} +.layout-panel-north, +.layout-panel-south { + z-index: 3; +} +.layout-expand { + position: absolute; + padding: 0px; + font-size: 1px; + cursor: pointer; + z-index: 1; +} +.layout-expand .panel-header, +.layout-expand .panel-body { + background: transparent; + filter: none; + overflow: hidden; +} +.layout-expand .panel-header { + border-bottom-width: 0px; +} +.layout-expand .panel-body { + position: relative; +} +.layout-expand .panel-body .panel-icon { + margin-top: 0; + top: 0; + left: 50%; + margin-left: -8px; +} +.layout-expand-west .panel-header .panel-icon, +.layout-expand-east .panel-header .panel-icon { + display: none; +} +.layout-expand-title { + position: absolute; + top: 0; + left: 21px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.layout-expand-title-up { + position: absolute; + top: 0; + left: 0; + text-align: right; + padding-left: 5px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 0; +} +.layout-expand-with-icon { + top: 18px; +} +.layout-expand .panel-body-noheader .layout-expand-title, +.layout-expand .panel-body-noheader .panel-icon { + top: 5px; +} +.layout-expand .panel-body-noheader .layout-expand-with-icon { + top: 23px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + position: absolute; + font-size: 1px; + display: none; + z-index: 5; +} +.layout-split-proxy-h { + width: 5px; + cursor: e-resize; +} +.layout-split-proxy-v { + height: 5px; + cursor: n-resize; +} +.layout-mask { + position: absolute; + background: #fafafa; + filter: alpha(opacity=10); + opacity: 0.10; + z-index: 4; +} +.layout-button-up { + background: url('images/layout_arrows.png') no-repeat -16px -16px; +} +.layout-button-down { + background: url('images/layout_arrows.png') no-repeat -16px 0; +} +.layout-button-left { + background: url('images/layout_arrows.png') no-repeat 0 0; +} +.layout-button-right { + background: url('images/layout_arrows.png') no-repeat 0 -16px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + background-color: #ccc; +} +.layout-split-north { + border-bottom: 5px solid #ffffff; +} +.layout-split-south { + border-top: 5px solid #ffffff; +} +.layout-split-east { + border-left: 5px solid #ffffff; +} +.layout-split-west { + border-right: 5px solid #ffffff; +} +.layout-expand { + background-color: #f5f5f5; +} +.layout-expand-over { + background-color: #f5f5f5; +} diff --git a/src/main/webapp/css/themes/material/linkbutton.css b/src/main/webapp/css/themes/material/linkbutton.css new file mode 100644 index 0000000..c334090 --- /dev/null +++ b/src/main/webapp/css/themes/material/linkbutton.css @@ -0,0 +1,191 @@ +.l-btn { + text-decoration: none; + display: inline-block; + overflow: hidden; + margin: 0; + padding: 0; + cursor: pointer; + outline: none; + text-align: center; + vertical-align: middle; + line-height: normal; +} +.l-btn-plain { + border-width: 0; + padding: 1px; +} +.l-btn-left { + display: inline-block; + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + vertical-align: top; +} +.l-btn-text { + display: inline-block; + vertical-align: top; + width: auto; + line-height: 24px; + font-size: 12px; + padding: 0; + margin: 0 4px; +} +.l-btn-icon { + display: inline-block; + width: 16px; + height: 16px; + line-height: 16px; + position: absolute; + top: 50%; + margin-top: -8px; + font-size: 1px; +} +.l-btn span span .l-btn-empty { + display: inline-block; + margin: 0; + width: 16px; + height: 24px; + font-size: 1px; + vertical-align: top; +} +.l-btn span .l-btn-icon-left { + padding: 0 0 0 20px; + background-position: left center; +} +.l-btn span .l-btn-icon-right { + padding: 0 20px 0 0; + background-position: right center; +} +.l-btn-icon-left .l-btn-text { + margin: 0 4px 0 24px; +} +.l-btn-icon-left .l-btn-icon { + left: 4px; +} +.l-btn-icon-right .l-btn-text { + margin: 0 24px 0 4px; +} +.l-btn-icon-right .l-btn-icon { + right: 4px; +} +.l-btn-icon-top .l-btn-text { + margin: 20px 4px 0 4px; +} +.l-btn-icon-top .l-btn-icon { + top: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-icon-bottom .l-btn-text { + margin: 0 4px 20px 4px; +} +.l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-left .l-btn-empty { + margin: 0 4px; + width: 16px; +} +.l-btn-plain:hover { + padding: 0; +} +.l-btn-focus { + outline: #0000FF dotted thin; +} +.l-btn-large .l-btn-text { + line-height: 40px; +} +.l-btn-large .l-btn-icon { + width: 32px; + height: 32px; + line-height: 32px; + margin-top: -16px; +} +.l-btn-large .l-btn-icon-left .l-btn-text { + margin-left: 40px; +} +.l-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.l-btn-large .l-btn-icon-top .l-btn-text { + margin-top: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-top .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-left .l-btn-empty { + margin: 0 4px; + width: 32px; +} +.l-btn { + color: #404040; + background: #fafafa; + background-repeat: repeat-x; + border: 1px solid #d9d9d9; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.l-btn:hover { + background: #eee; + color: #404040; + border: 1px solid #ccc; + filter: none; +} +.l-btn-plain { + background: transparent; + border-width: 0; + filter: none; +} +.l-btn-outline { + border-width: 1px; + border-color: #ccc; + padding: 0; +} +.l-btn-plain:hover { + background: #eee; + color: #404040; + border: 1px solid #ccc; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.l-btn-disabled, +.l-btn-disabled:hover { + opacity: 0.5; + cursor: default; + background: #fafafa; + color: #404040; +} +.l-btn-disabled .l-btn-text, +.l-btn-disabled .l-btn-icon { + filter: alpha(opacity=50); +} +.l-btn-plain-disabled, +.l-btn-plain-disabled:hover { + background: transparent; + filter: alpha(opacity=50); +} +.l-btn-selected, +.l-btn-selected:hover { + background: #00bbee; + filter: none; +} +.l-btn-plain-selected, +.l-btn-plain-selected:hover { + background: #00bbee; +} diff --git a/src/main/webapp/css/themes/material/menu.css b/src/main/webapp/css/themes/material/menu.css new file mode 100644 index 0000000..69f530e --- /dev/null +++ b/src/main/webapp/css/themes/material/menu.css @@ -0,0 +1,119 @@ +.menu { + position: absolute; + margin: 0; + padding: 2px; + border-width: 1px; + border-style: solid; + overflow: hidden; +} +.menu-inline { + position: relative; +} +.menu-item { + position: relative; + margin: 0; + padding: 0; + overflow: hidden; + white-space: nowrap; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.menu-text { + height: 20px; + line-height: 20px; + float: left; + padding-left: 28px; +} +.menu-icon { + position: absolute; + width: 16px; + height: 16px; + left: 2px; + top: 50%; + margin-top: -8px; +} +.menu-rightarrow { + position: absolute; + width: 16px; + height: 16px; + right: 0; + top: 50%; + margin-top: -8px; +} +.menu-line { + position: absolute; + left: 26px; + top: 0; + height: 2000px; + font-size: 1px; +} +.menu-sep { + margin: 3px 0px 3px 25px; + font-size: 1px; +} +.menu-noline .menu-line { + display: none; +} +.menu-noline .menu-sep { + margin-left: 0; + margin-right: 0; +} +.menu-active { + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.menu-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); + cursor: default; +} +.menu-text, +.menu-text span { + font-size: 12px; +} +.menu-shadow { + position: absolute; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; + background: #fafafa; + -moz-box-shadow: 2px 2px 3px #fafafa; + -webkit-box-shadow: 2px 2px 3px #fafafa; + box-shadow: 2px 2px 3px #fafafa; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.menu-rightarrow { + background: url('images/menu_arrows.png') no-repeat -32px center; +} +.menu-line { + border-left: 1px solid #ddd; + border-right: 1px solid #fff; +} +.menu-sep { + border-top: 1px solid #ddd; + border-bottom: 1px solid #fff; +} +.menu { + background-color: #fff; + border-color: #eee; + color: #404040; +} +.menu-content { + background: #ffffff; +} +.menu-item { + border-color: transparent; + _border-color: #fff; +} +.menu-active { + border-color: #ccc; + color: #404040; + background: #eee; +} +.menu-active-disabled { + border-color: transparent; + background: transparent; + color: #404040; +} diff --git a/src/main/webapp/css/themes/material/menubutton.css b/src/main/webapp/css/themes/material/menubutton.css new file mode 100644 index 0000000..fee358b --- /dev/null +++ b/src/main/webapp/css/themes/material/menubutton.css @@ -0,0 +1,94 @@ +.m-btn-downarrow, +.s-btn-downarrow { + display: inline-block; + position: absolute; + width: 16px; + height: 16px; + font-size: 1px; + right: 0; + top: 50%; + margin-top: -8px; +} +.m-btn-active, +.s-btn-active { + background: #eee; + color: #404040; + border: 1px solid #ccc; + filter: none; +} +.m-btn-plain-active, +.s-btn-plain-active { + background: transparent; + padding: 0; + border-width: 1px; + border-style: solid; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.m-btn .l-btn-left .l-btn-text { + margin-right: 20px; +} +.m-btn .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.m-btn .l-btn-icon-right .l-btn-icon { + right: 20px; +} +.m-btn .l-btn-icon-top .l-btn-text { + margin-right: 4px; + margin-bottom: 14px; +} +.m-btn .l-btn-icon-bottom .l-btn-text { + margin-right: 4px; + margin-bottom: 34px; +} +.m-btn .l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 20px; +} +.m-btn .l-btn-icon-top .m-btn-downarrow, +.m-btn .l-btn-icon-bottom .m-btn-downarrow { + top: auto; + bottom: 0px; + left: 50%; + margin-left: -8px; +} +.m-btn-line { + display: inline-block; + position: absolute; + font-size: 1px; + display: none; +} +.m-btn .l-btn-left .m-btn-line { + right: 0; + width: 16px; + height: 500px; + border-style: solid; + border-color: #ccc; + border-width: 0 0 0 1px; +} +.m-btn .l-btn-icon-top .m-btn-line, +.m-btn .l-btn-icon-bottom .m-btn-line { + left: 0; + bottom: 0; + width: 500px; + height: 16px; + border-width: 1px 0 0 0; +} +.m-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 56px; +} +.m-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 50px; +} +.m-btn-downarrow, +.s-btn-downarrow { + background: url('images/menu_arrows.png') no-repeat 0 center; +} +.m-btn-plain-active, +.s-btn-plain-active { + border-color: #ccc; + background-color: #eee; + color: #404040; +} diff --git a/src/main/webapp/css/themes/material/messager.css b/src/main/webapp/css/themes/material/messager.css new file mode 100644 index 0000000..f8e29af --- /dev/null +++ b/src/main/webapp/css/themes/material/messager.css @@ -0,0 +1,44 @@ +.messager-body { + padding: 10px 10px 30px 10px; + overflow: auto; +} +.messager-button { + text-align: center; + padding: 5px; +} +.messager-button .l-btn { + width: 70px; +} +.messager-icon { + float: left; + width: 32px; + height: 32px; + margin: 0 10px 10px 0; +} +.messager-error { + background: url('images/messager_icons.png') no-repeat scroll -64px 0; +} +.messager-info { + background: url('images/messager_icons.png') no-repeat scroll 0 0; +} +.messager-question { + background: url('images/messager_icons.png') no-repeat scroll -32px 0; +} +.messager-warning { + background: url('images/messager_icons.png') no-repeat scroll -96px 0; +} +.messager-progress { + padding: 10px; +} +.messager-p-msg { + margin-bottom: 5px; +} +.messager-body .messager-input { + width: 100%; + padding: 4px 0; + outline-style: none; + border: 1px solid #ddd; +} +.window-thinborder .messager-button { + padding-bottom: 8px; +} diff --git a/src/main/webapp/css/themes/material/numberbox.css b/src/main/webapp/css/themes/material/numberbox.css new file mode 100644 index 0000000..e69de29 diff --git a/src/main/webapp/css/themes/material/pagination.css b/src/main/webapp/css/themes/material/pagination.css new file mode 100644 index 0000000..c0f7424 --- /dev/null +++ b/src/main/webapp/css/themes/material/pagination.css @@ -0,0 +1,71 @@ +.pagination { + zoom: 1; +} +.pagination table { + float: left; + height: 30px; +} +.pagination td { + border: 0; +} +.pagination-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ddd; + border-right: 1px solid #fff; + margin: 3px 1px; +} +.pagination .pagination-num { + border-width: 1px; + border-style: solid; + margin: 0 2px; + padding: 2px; + width: 2em; + height: auto; +} +.pagination-page-list { + margin: 0px 6px; + padding: 1px 2px; + width: auto; + height: auto; + border-width: 1px; + border-style: solid; +} +.pagination-info { + float: right; + margin: 0 6px; + padding: 0; + height: 30px; + line-height: 30px; + font-size: 12px; +} +.pagination span { + font-size: 12px; +} +.pagination-link .l-btn-text { + width: 24px; + text-align: center; + margin: 0; +} +.pagination-first { + background: url('images/pagination_icons.png') no-repeat 0 center; +} +.pagination-prev { + background: url('images/pagination_icons.png') no-repeat -16px center; +} +.pagination-next { + background: url('images/pagination_icons.png') no-repeat -32px center; +} +.pagination-last { + background: url('images/pagination_icons.png') no-repeat -48px center; +} +.pagination-load { + background: url('images/pagination_icons.png') no-repeat -64px center; +} +.pagination-loading { + background: url('images/loading.gif') no-repeat center center; +} +.pagination-page-list, +.pagination .pagination-num { + border-color: #ddd; +} diff --git a/src/main/webapp/css/themes/material/panel.css b/src/main/webapp/css/themes/material/panel.css new file mode 100644 index 0000000..0003fd0 --- /dev/null +++ b/src/main/webapp/css/themes/material/panel.css @@ -0,0 +1,259 @@ +.panel { + overflow: hidden; + text-align: left; + margin: 0; + border: 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.panel-header, +.panel-body { + border-width: 1px; + border-style: solid; +} +.panel-header { + padding: 5px; + position: relative; +} +.panel-title { + background: url('images/blank.gif') no-repeat; +} +.panel-header-noborder { + border-width: 0 0 1px 0; +} +.panel-body { + overflow: auto; + border-top-width: 0; + padding: 0; +} +.panel-body-noheader { + border-top-width: 1px; +} +.panel-body-noborder { + border-width: 0px; +} +.panel-body-nobottom { + border-bottom-width: 0; +} +.panel-with-icon { + padding-left: 18px; +} +.panel-icon, +.panel-tool { + position: absolute; + top: 50%; + margin-top: -8px; + height: 16px; + overflow: hidden; +} +.panel-icon { + left: 5px; + width: 16px; +} +.panel-tool { + right: 5px; + width: auto; +} +.panel-tool a { + display: inline-block; + width: 16px; + height: 16px; + opacity: 0.6; + filter: alpha(opacity=60); + margin: 0 0 0 2px; + vertical-align: top; +} +.panel-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + background-color: #eee; + -moz-border-radius: 2px 2px 2px 2px; + -webkit-border-radius: 2px 2px 2px 2px; + border-radius: 2px 2px 2px 2px; +} +.panel-loading { + padding: 11px 0px 10px 30px; +} +.panel-noscroll { + overflow: hidden; +} +.panel-fit, +.panel-fit body { + height: 100%; + margin: 0; + padding: 0; + border: 0; + overflow: hidden; +} +.panel-loading { + background: url('images/loading.gif') no-repeat 10px 10px; +} +.panel-tool-close { + background: url('images/panel_tools.png') no-repeat -16px 0px; +} +.panel-tool-min { + background: url('images/panel_tools.png') no-repeat 0px 0px; +} +.panel-tool-max { + background: url('images/panel_tools.png') no-repeat 0px -16px; +} +.panel-tool-restore { + background: url('images/panel_tools.png') no-repeat -16px -16px; +} +.panel-tool-collapse { + background: url('images/panel_tools.png') no-repeat -32px 0; +} +.panel-tool-expand { + background: url('images/panel_tools.png') no-repeat -32px -16px; +} +.panel-header, +.panel-body { + border-color: #ddd; +} +.panel-header { + background-color: #f5f5f5; +} +.panel-body { + background-color: #ffffff; + color: #404040; + font-size: 12px; +} +.panel-title { + font-size: 12px; + font-weight: bold; + color: #000000; + height: 16px; + line-height: 16px; +} +.panel-footer { + border: 1px solid #ddd; + overflow: hidden; + background: #fafafa; +} +.panel-footer-noborder { + border-width: 1px 0 0 0; +} +.panel-hleft, +.panel-hright { + position: relative; +} +.panel-hleft>.panel-body, +.panel-hright>.panel-body { + position: absolute; +} +.panel-hleft>.panel-header { + float: left; +} +.panel-hright>.panel-header { + float: right; +} +.panel-hleft>.panel-body { + border-top-width: 1px; + border-left-width: 0; +} +.panel-hright>.panel-body { + border-top-width: 1px; + border-right-width: 0; +} +.panel-hleft>.panel-body-nobottom { + border-bottom-width: 1px; + border-right-width: 0; +} +.panel-hright>.panel-body-nobottom { + border-bottom-width: 1px; + border-left-width: 0; +} +.panel-hleft>.panel-footer { + position: absolute; + right: 0; +} +.panel-hright>.panel-footer { + position: absolute; + left: 0; +} +.panel-hleft>.panel-header-noborder { + border-width: 0 1px 0 0; +} +.panel-hright>.panel-header-noborder { + border-width: 0 0 0 1px; +} +.panel-hleft>.panel-body-noborder { + border-width: 0; +} +.panel-hright>.panel-body-noborder { + border-width: 0; +} +.panel-hleft>.panel-body-noheader { + border-left-width: 1px; +} +.panel-hright>.panel-body-noheader { + border-right-width: 1px; +} +.panel-hleft>.panel-footer-noborder { + border-width: 0 0 0 1px; +} +.panel-hright>.panel-footer-noborder { + border-width: 0 1px 0 0; +} +.panel-hleft>.panel-header .panel-icon, +.panel-hright>.panel-header .panel-icon { + margin-top: 0; + top: 5px; +} +.panel-hleft>.panel-header .panel-title, +.panel-hright>.panel-header .panel-title { + position: absolute; + min-width: 16px; + left: 21px; + top: 5px; + bottom: auto; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.panel-hleft>.panel-header .panel-title-up, +.panel-hright>.panel-header .panel-title-up { + position: absolute; + min-width: 16px; + left: 21px; + top: auto; + bottom: 5px; + text-align: right; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 16px; +} +.panel-hleft>.panel-header .panel-with-icon.panel-title-up, +.panel-hright>.panel-header .panel-with-icon.panel-title-up { + padding-left: 0; + padding-right: 18px; +} +.panel-hleft>.panel-header .panel-tool, +.panel-hright>.panel-header .panel-tool { + top: auto; + bottom: 5px; + width: 16px; + height: auto; + left: 50%; + margin-left: -8px; + margin-top: 0; +} +.panel-hleft>.panel-header .panel-tool a, +.panel-hright>.panel-header .panel-tool a { + margin: 2px 0 0 0; +} diff --git a/src/main/webapp/css/themes/material/passwordbox.css b/src/main/webapp/css/themes/material/passwordbox.css new file mode 100644 index 0000000..92c9ce5 --- /dev/null +++ b/src/main/webapp/css/themes/material/passwordbox.css @@ -0,0 +1,6 @@ +.passwordbox-open { + background: url('images/passwordbox_open.png') no-repeat center center; +} +.passwordbox-close { + background: url('images/passwordbox_close.png') no-repeat center center; +} diff --git a/src/main/webapp/css/themes/material/progressbar.css b/src/main/webapp/css/themes/material/progressbar.css new file mode 100644 index 0000000..1690673 --- /dev/null +++ b/src/main/webapp/css/themes/material/progressbar.css @@ -0,0 +1,32 @@ +.progressbar { + border-width: 1px; + border-style: solid; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; + overflow: hidden; + position: relative; +} +.progressbar-text { + text-align: center; + position: absolute; +} +.progressbar-value { + position: relative; + overflow: hidden; + width: 0; + -moz-border-radius: 4px 0 0 4px; + -webkit-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} +.progressbar { + border-color: #ddd; +} +.progressbar-text { + color: #404040; + font-size: 12px; +} +.progressbar-value .progressbar-text { + background-color: #00bbee; + color: #fff; +} diff --git a/src/main/webapp/css/themes/material/propertygrid.css b/src/main/webapp/css/themes/material/propertygrid.css new file mode 100644 index 0000000..fbd2c7c --- /dev/null +++ b/src/main/webapp/css/themes/material/propertygrid.css @@ -0,0 +1,28 @@ +.propertygrid .datagrid-view1 .datagrid-body td { + padding-bottom: 1px; + border-width: 0 1px 0 0; +} +.propertygrid .datagrid-group { + height: 21px; + overflow: hidden; + border-width: 0 0 1px 0; + border-style: solid; +} +.propertygrid .datagrid-group span { + font-weight: bold; +} +.propertygrid .datagrid-view1 .datagrid-body td { + border-color: #eee; +} +.propertygrid .datagrid-view1 .datagrid-group { + border-color: #f5f5f5; +} +.propertygrid .datagrid-view2 .datagrid-group { + border-color: #eee; +} +.propertygrid .datagrid-group, +.propertygrid .datagrid-view1 .datagrid-body, +.propertygrid .datagrid-view1 .datagrid-row-over, +.propertygrid .datagrid-view1 .datagrid-row-selected { + background: #f5f5f5; +} diff --git a/src/main/webapp/css/themes/material/searchbox.css b/src/main/webapp/css/themes/material/searchbox.css new file mode 100644 index 0000000..54ad885 --- /dev/null +++ b/src/main/webapp/css/themes/material/searchbox.css @@ -0,0 +1,61 @@ +.searchbox-button { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.searchbox-button-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.searchbox .l-btn-plain { + border: 0; + padding: 0; + vertical-align: top; + opacity: 0.6; + filter: alpha(opacity=60); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .l-btn-plain:hover { + border: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox a.m-btn-plain-active { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .m-btn-active { + border-width: 0 1px 0 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .textbox-button-right { + border-width: 0 0 0 1px; +} +.searchbox .textbox-button-left { + border-width: 0 1px 0 0; +} +.searchbox-button { + background: url('images/searchbox_button.png') no-repeat center center; +} +.searchbox .l-btn-plain { + background: #f5f5f5; +} +.searchbox .l-btn-plain-disabled, +.searchbox .l-btn-plain-disabled:hover { + opacity: 0.5; + filter: alpha(opacity=50); +} diff --git a/src/main/webapp/css/themes/material/slider.css b/src/main/webapp/css/themes/material/slider.css new file mode 100644 index 0000000..1e471ef --- /dev/null +++ b/src/main/webapp/css/themes/material/slider.css @@ -0,0 +1,101 @@ +.slider-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-h { + height: 22px; +} +.slider-v { + width: 22px; +} +.slider-inner { + position: relative; + height: 6px; + top: 7px; + border-width: 1px; + border-style: solid; + border-radius: 4px; +} +.slider-handle { + position: absolute; + display: block; + outline: none; + width: 20px; + height: 20px; + top: 50%; + margin-top: -10px; + margin-left: -10px; +} +.slider-tip { + position: absolute; + display: inline-block; + line-height: 12px; + font-size: 12px; + white-space: nowrap; + top: -22px; +} +.slider-rule { + position: relative; + top: 15px; +} +.slider-rule span { + position: absolute; + display: inline-block; + font-size: 0; + height: 5px; + border-width: 0 0 0 1px; + border-style: solid; +} +.slider-rulelabel { + position: relative; + top: 20px; +} +.slider-rulelabel span { + position: absolute; + display: inline-block; + font-size: 12px; +} +.slider-v .slider-inner { + width: 6px; + left: 7px; + top: 0; + float: left; +} +.slider-v .slider-handle { + left: 50%; + margin-top: -10px; +} +.slider-v .slider-tip { + left: -10px; + margin-top: -6px; +} +.slider-v .slider-rule { + float: left; + top: 0; + left: 16px; +} +.slider-v .slider-rule span { + width: 5px; + height: 'auto'; + border-left: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.slider-v .slider-rulelabel { + float: left; + top: 0; + left: 23px; +} +.slider-handle { + background: url('images/slider_handle.png') no-repeat; +} +.slider-inner { + border-color: #ddd; + background: #f5f5f5; +} +.slider-rule span { + border-color: #ddd; +} +.slider-rulelabel span { + color: #404040; +} diff --git a/src/main/webapp/css/themes/material/spinner.css b/src/main/webapp/css/themes/material/spinner.css new file mode 100644 index 0000000..15098d1 --- /dev/null +++ b/src/main/webapp/css/themes/material/spinner.css @@ -0,0 +1,58 @@ +.spinner-arrow { + background-color: #f5f5f5; + display: inline-block; + overflow: hidden; + vertical-align: top; + margin: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + width: 18px; +} +.spinner-arrow-up, +.spinner-arrow-down { + opacity: 0.6; + filter: alpha(opacity=60); + display: block; + font-size: 1px; + width: 18px; + height: 10px; + width: 100%; + height: 50%; + color: #404040; + outline-style: none; +} +.spinner-arrow-hover { + background-color: #eee; + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-arrow-up:hover, +.spinner-arrow-down:hover { + opacity: 1.0; + filter: alpha(opacity=100); + background-color: #eee; +} +.textbox-icon-disabled .spinner-arrow-up:hover, +.textbox-icon-disabled .spinner-arrow-down:hover { + opacity: 0.6; + filter: alpha(opacity=60); + background-color: #f5f5f5; + cursor: default; +} +.spinner .textbox-icon-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-arrow-up { + background: url('images/spinner_arrows.png') no-repeat 1px center; +} +.spinner-arrow-down { + background: url('images/spinner_arrows.png') no-repeat -15px center; +} +.spinner-button-up { + background: url('images/spinner_arrows.png') no-repeat -32px center; +} +.spinner-button-down { + background: url('images/spinner_arrows.png') no-repeat -48px center; +} diff --git a/src/main/webapp/css/themes/material/splitbutton.css b/src/main/webapp/css/themes/material/splitbutton.css new file mode 100644 index 0000000..2ad86f7 --- /dev/null +++ b/src/main/webapp/css/themes/material/splitbutton.css @@ -0,0 +1,12 @@ +.s-btn:hover .m-btn-line, +.s-btn-active .m-btn-line, +.s-btn-plain-active .m-btn-line { + display: inline-block; +} +.l-btn:hover .s-btn-downarrow, +.s-btn-active .s-btn-downarrow, +.s-btn-plain-active .s-btn-downarrow { + border-style: solid; + border-color: #ccc; + border-width: 0 0 0 1px; +} diff --git a/src/main/webapp/css/themes/material/switchbutton.css b/src/main/webapp/css/themes/material/switchbutton.css new file mode 100644 index 0000000..8e3ddb7 --- /dev/null +++ b/src/main/webapp/css/themes/material/switchbutton.css @@ -0,0 +1,77 @@ +.switchbutton { + text-decoration: none; + display: inline-block; + overflow: hidden; + vertical-align: middle; + margin: 0; + padding: 0; + cursor: pointer; + background: #d9d9d9; + border: 1px solid #d9d9d9; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.switchbutton-inner { + display: inline-block; + overflow: hidden; + position: relative; + top: -1px; + left: -1px; +} +.switchbutton-on, +.switchbutton-off, +.switchbutton-handle { + display: inline-block; + text-align: center; + height: 100%; + float: left; + font-size: 12px; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.switchbutton-on { + background: #00bbee; + color: #fff; +} +.switchbutton-off { + background-color: #ffffff; + color: #404040; +} +.switchbutton-on, +.switchbutton-reversed .switchbutton-off { + -moz-border-radius: 4px 0 0 4px; + -webkit-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} +.switchbutton-off, +.switchbutton-reversed .switchbutton-on { + -moz-border-radius: 0 4px 4px 0; + -webkit-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} +.switchbutton-handle { + position: absolute; + top: 0; + left: 50%; + background-color: #ffffff; + color: #404040; + border: 1px solid #d9d9d9; + -moz-box-shadow: 0 0 3px 0 #d9d9d9; + -webkit-box-shadow: 0 0 3px 0 #d9d9d9; + box-shadow: 0 0 3px 0 #d9d9d9; +} +.switchbutton-value { + position: absolute; + top: 0; + left: -5000px; +} +.switchbutton-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.switchbutton-disabled, +.switchbutton-readonly { + cursor: default; +} diff --git a/src/main/webapp/css/themes/material/tabs.css b/src/main/webapp/css/themes/material/tabs.css new file mode 100644 index 0000000..2ea78d2 --- /dev/null +++ b/src/main/webapp/css/themes/material/tabs.css @@ -0,0 +1,377 @@ +.tabs-container { + overflow: hidden; +} +.tabs-header { + border-width: 1px; + border-style: solid; + border-bottom-width: 0; + position: relative; + padding: 0; + padding-top: 2px; + overflow: hidden; +} +.tabs-scroller-left, +.tabs-scroller-right { + position: absolute; + top: auto; + bottom: 0; + width: 18px; + font-size: 1px; + display: none; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.tabs-scroller-left { + left: 0; +} +.tabs-scroller-right { + right: 0; +} +.tabs-tool { + position: absolute; + bottom: 0; + padding: 1px; + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.tabs-header-plain .tabs-tool { + padding: 0 1px; +} +.tabs-wrap { + position: relative; + left: 0; + overflow: hidden; + width: 100%; + margin: 0; + padding: 0; +} +.tabs-scrolling { + margin-left: 18px; + margin-right: 18px; +} +.tabs-disabled { + opacity: 0.3; + filter: alpha(opacity=30); +} +.tabs { + list-style-type: none; + height: 26px; + margin: 0px; + padding: 0px; + padding-left: 4px; + width: 50000px; + border-style: solid; + border-width: 0 0 1px 0; +} +.tabs li { + float: left; + display: inline-block; + margin: 0 4px -1px 0; + padding: 0; + position: relative; + border: 0; +} +.tabs li a.tabs-inner { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0 10px; + height: 25px; + line-height: 25px; + text-align: center; + white-space: nowrap; + border-width: 1px; + border-style: solid; + -moz-border-radius: 4px 4px 0 0; + -webkit-border-radius: 4px 4px 0 0; + border-radius: 4px 4px 0 0; +} +.tabs li.tabs-selected a.tabs-inner { + font-weight: bold; + outline: none; +} +.tabs li.tabs-selected a:hover.tabs-inner { + cursor: default; + pointer: default; +} +.tabs li a.tabs-close, +.tabs-p-tool { + position: absolute; + font-size: 1px; + display: block; + height: 12px; + padding: 0; + top: 50%; + margin-top: -6px; + overflow: hidden; +} +.tabs li a.tabs-close { + width: 12px; + right: 5px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs-p-tool { + right: 16px; +} +.tabs-p-tool a { + display: inline-block; + font-size: 1px; + width: 12px; + height: 12px; + margin: 0; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs li a:hover.tabs-close, +.tabs-p-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + cursor: hand; + cursor: pointer; +} +.tabs-with-icon { + padding-left: 18px; +} +.tabs-icon { + position: absolute; + width: 16px; + height: 16px; + left: 10px; + top: 50%; + margin-top: -8px; +} +.tabs-title { + font-size: 12px; +} +.tabs-closable { + padding-right: 8px; +} +.tabs-panels { + margin: 0px; + padding: 0px; + border-width: 1px; + border-style: solid; + border-top-width: 0; + overflow: hidden; +} +.tabs-header-bottom { + border-width: 0 1px 1px 1px; + padding: 0 0 2px 0; +} +.tabs-header-bottom .tabs { + border-width: 1px 0 0 0; +} +.tabs-header-bottom .tabs li { + margin: -1px 4px 0 0; +} +.tabs-header-bottom .tabs li a.tabs-inner { + -moz-border-radius: 0 0 4px 4px; + -webkit-border-radius: 0 0 4px 4px; + border-radius: 0 0 4px 4px; +} +.tabs-header-bottom .tabs-tool { + top: 0; +} +.tabs-header-bottom .tabs-scroller-left, +.tabs-header-bottom .tabs-scroller-right { + top: 0; + bottom: auto; +} +.tabs-panels-top { + border-width: 1px 1px 0 1px; +} +.tabs-header-left { + float: left; + border-width: 1px 0 1px 1px; + padding: 0; +} +.tabs-header-right { + float: right; + border-width: 1px 1px 1px 0; + padding: 0; +} +.tabs-header-left .tabs-wrap, +.tabs-header-right .tabs-wrap { + height: 100%; +} +.tabs-header-left .tabs { + height: 100%; + padding: 4px 0 0 2px; + border-width: 0 1px 0 0; +} +.tabs-header-right .tabs { + height: 100%; + padding: 4px 2px 0 0; + border-width: 0 0 0 1px; +} +.tabs-header-left .tabs li, +.tabs-header-right .tabs li { + display: block; + width: 100%; + position: relative; +} +.tabs-header-left .tabs li { + left: auto; + right: 0; + margin: 0 -1px 4px 0; + float: right; +} +.tabs-header-right .tabs li { + left: 0; + right: auto; + margin: 0 0 4px -1px; + float: left; +} +.tabs-justified li a.tabs-inner { + padding-left: 0; + padding-right: 0; +} +.tabs-header-left .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 4px 0 0 4px; + -webkit-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} +.tabs-header-right .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 0 4px 4px 0; + -webkit-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} +.tabs-panels-right { + float: right; + border-width: 1px 1px 1px 0; +} +.tabs-panels-left { + float: left; + border-width: 1px 0 1px 1px; +} +.tabs-header-noborder, +.tabs-panels-noborder { + border: 0px; +} +.tabs-header-plain { + border: 0px; + background: transparent; +} +.tabs-pill { + padding-bottom: 3px; +} +.tabs-header-bottom .tabs-pill { + padding-top: 3px; + padding-bottom: 0; +} +.tabs-header-left .tabs-pill { + padding-right: 3px; +} +.tabs-header-right .tabs-pill { + padding-left: 3px; +} +.tabs-header .tabs-pill li a.tabs-inner { + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.tabs-header-narrow, +.tabs-header-narrow .tabs-narrow { + padding: 0; +} +.tabs-narrow li, +.tabs-header-bottom .tabs-narrow li { + margin-left: 0; + margin-right: -1px; +} +.tabs-narrow li.tabs-last, +.tabs-header-bottom .tabs-narrow li.tabs-last { + margin-right: 0; +} +.tabs-header-left .tabs-narrow, +.tabs-header-right .tabs-narrow { + padding-top: 0; +} +.tabs-header-left .tabs-narrow li { + margin-bottom: -1px; + margin-right: -1px; +} +.tabs-header-left .tabs-narrow li.tabs-last, +.tabs-header-right .tabs-narrow li.tabs-last { + margin-bottom: 0; +} +.tabs-header-right .tabs-narrow li { + margin-bottom: -1px; + margin-left: -1px; +} +.tabs-scroller-left { + background: #f5f5f5 url('images/tabs_icons.png') no-repeat 1px center; +} +.tabs-scroller-right { + background: #f5f5f5 url('images/tabs_icons.png') no-repeat -15px center; +} +.tabs li a.tabs-close { + background: url('images/tabs_icons.png') no-repeat -34px center; +} +.tabs li a.tabs-inner:hover { + background: #eee; + color: #404040; + filter: none; +} +.tabs li.tabs-selected a.tabs-inner { + background-color: #ffffff; + color: #000000; +} +.tabs li a.tabs-inner { + color: #000000; + background-color: #f5f5f5; +} +.tabs-header, +.tabs-tool { + background-color: #f5f5f5; +} +.tabs-header-plain { + background: transparent; +} +.tabs-header, +.tabs-scroller-left, +.tabs-scroller-right, +.tabs-tool, +.tabs, +.tabs-panels, +.tabs li a.tabs-inner, +.tabs li.tabs-selected a.tabs-inner, +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, +.tabs-header-left .tabs li.tabs-selected a.tabs-inner, +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-color: #ddd; +} +.tabs-p-tool a:hover, +.tabs li a:hover.tabs-close, +.tabs-scroller-over { + background-color: #eee; +} +.tabs li.tabs-selected a.tabs-inner { + border-bottom: 1px solid #ffffff; +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + border-top: 1px solid #ffffff; +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + border-right: 1px solid #ffffff; +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-left: 1px solid #ffffff; +} +.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { + background: #00bbee; + color: #fff; + filter: none; + border-color: #ddd; +} diff --git a/src/main/webapp/css/themes/material/tagbox.css b/src/main/webapp/css/themes/material/tagbox.css new file mode 100644 index 0000000..16ff414 --- /dev/null +++ b/src/main/webapp/css/themes/material/tagbox.css @@ -0,0 +1,44 @@ +.tagbox { + cursor: text; +} +.tagbox .textbox-text { + float: left; +} +.tagbox-label { + position: relative; + display: block; + margin: 4px 0 0 4px; + padding: 0 20px 0 4px; + float: left; + vertical-align: top; + text-decoration: none; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; + background: #eee; + color: #404040; +} +.tagbox-remove { + background: url('images/tagbox_icons.png') no-repeat -16px center; + position: absolute; + display: block; + width: 16px; + height: 16px; + right: 2px; + top: 50%; + margin-top: -8px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tagbox-remove:hover { + opacity: 1; + filter: alpha(opacity=100); +} +.textbox-disabled .tagbox-label { + cursor: default; +} +.textbox-disabled .tagbox-remove:hover { + cursor: default; + opacity: 0.6; + filter: alpha(opacity=60); +} diff --git a/src/main/webapp/css/themes/material/textbox.css b/src/main/webapp/css/themes/material/textbox.css new file mode 100644 index 0000000..48bd54d --- /dev/null +++ b/src/main/webapp/css/themes/material/textbox.css @@ -0,0 +1,139 @@ +.textbox { + position: relative; + border: 1px solid #ddd; + background-color: #fff; + vertical-align: middle; + display: inline-block; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.textbox .textbox-text { + font-size: 12px; + border: 0; + margin: 0; + padding: 4px; + white-space: normal; + vertical-align: top; + outline-style: none; + resize: none; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.textbox .textbox-text::-ms-clear, +.textbox .textbox-text::-ms-reveal { + display: none; +} +.textbox textarea.textbox-text { + white-space: pre-wrap; +} +.textbox .textbox-prompt { + font-size: 12px; + color: #aaa; +} +.textbox .textbox-bgicon { + background-position: 3px center; + padding-left: 21px; +} +.textbox .textbox-button, +.textbox .textbox-button:hover { + position: absolute; + top: 0; + padding: 0; + vertical-align: top; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.textbox .textbox-button-right, +.textbox .textbox-button-right:hover { + right: 0; + border-width: 0 0 0 1px; +} +.textbox .textbox-button-left, +.textbox .textbox-button-left:hover { + left: 0; + border-width: 0 1px 0 0; +} +.textbox .textbox-button-top, +.textbox .textbox-button-top:hover { + left: 0; + border-width: 0 0 1px 0; +} +.textbox .textbox-button-bottom, +.textbox .textbox-button-bottom:hover { + top: auto; + bottom: 0; + left: 0; + border-width: 1px 0 0 0; +} +.textbox-addon { + position: absolute; + top: 0; +} +.textbox-label { + display: inline-block; + width: 80px; + height: 22px; + line-height: 22px; + vertical-align: middle; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + margin: 0; + padding-right: 5px; +} +.textbox-label-after { + padding-left: 5px; + padding-right: 0; +} +.textbox-label-top { + display: block; + width: auto; + padding: 0; +} +.textbox-disabled, +.textbox-label-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-icon { + display: inline-block; + width: 18px; + height: 20px; + overflow: hidden; + vertical-align: top; + background-position: center center; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); + text-decoration: none; + outline-style: none; +} +.textbox-icon-disabled, +.textbox-icon-readonly { + cursor: default; +} +.textbox-icon:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.textbox-icon-disabled:hover { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-focused { + border-color: #c4c4c4; + -moz-box-shadow: 0 0 3px 0 #ddd; + -webkit-box-shadow: 0 0 3px 0 #ddd; + box-shadow: 0 0 3px 0 #ddd; +} +.textbox-invalid { + border-color: #ffa8a8; + background-color: #fff; +} diff --git a/src/main/webapp/css/themes/material/tooltip.css b/src/main/webapp/css/themes/material/tooltip.css new file mode 100644 index 0000000..18aa87c --- /dev/null +++ b/src/main/webapp/css/themes/material/tooltip.css @@ -0,0 +1,103 @@ +.tooltip { + position: absolute; + display: none; + z-index: 9900000; + outline: none; + opacity: 1; + filter: alpha(opacity=100); + padding: 5px; + border-width: 1px; + border-style: solid; + border-radius: 5px; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.tooltip-content { + font-size: 12px; +} +.tooltip-arrow-outer, +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + line-height: 0; + font-size: 0; + border-style: solid; + border-width: 6px; + border-color: transparent; + _border-color: tomato; + _filter: chroma(color=tomato); +} +.tooltip-arrow { + display: none \9; +} +.tooltip-right .tooltip-arrow-outer { + left: 0; + top: 50%; + margin: -6px 0 0 -13px; +} +.tooltip-right .tooltip-arrow { + left: 0; + top: 50%; + margin: -6px 0 0 -12px; +} +.tooltip-left .tooltip-arrow-outer { + right: 0; + top: 50%; + margin: -6px -13px 0 0; +} +.tooltip-left .tooltip-arrow { + right: 0; + top: 50%; + margin: -6px -12px 0 0; +} +.tooltip-top .tooltip-arrow-outer { + bottom: 0; + left: 50%; + margin: 0 0 -13px -6px; +} +.tooltip-top .tooltip-arrow { + bottom: 0; + left: 50%; + margin: 0 0 -12px -6px; +} +.tooltip-bottom .tooltip-arrow-outer { + top: 0; + left: 50%; + margin: -13px 0 0 -6px; +} +.tooltip-bottom .tooltip-arrow { + top: 0; + left: 50%; + margin: -12px 0 0 -6px; +} +.tooltip { + background-color: #ffffff; + border-color: #ddd; + color: #404040; +} +.tooltip-right .tooltip-arrow-outer { + border-right-color: #ddd; +} +.tooltip-right .tooltip-arrow { + border-right-color: #ffffff; +} +.tooltip-left .tooltip-arrow-outer { + border-left-color: #ddd; +} +.tooltip-left .tooltip-arrow { + border-left-color: #ffffff; +} +.tooltip-top .tooltip-arrow-outer { + border-top-color: #ddd; +} +.tooltip-top .tooltip-arrow { + border-top-color: #ffffff; +} +.tooltip-bottom .tooltip-arrow-outer { + border-bottom-color: #ddd; +} +.tooltip-bottom .tooltip-arrow { + border-bottom-color: #ffffff; +} diff --git a/src/main/webapp/css/themes/material/tree.css b/src/main/webapp/css/themes/material/tree.css new file mode 100644 index 0000000..aa34571 --- /dev/null +++ b/src/main/webapp/css/themes/material/tree.css @@ -0,0 +1,161 @@ +.tree { + margin: 0; + padding: 0; + list-style-type: none; +} +.tree li { + white-space: nowrap; +} +.tree li ul { + list-style-type: none; + margin: 0; + padding: 0; +} +.tree-node { + height: 18px; + white-space: nowrap; + cursor: pointer; +} +.tree-hit { + cursor: pointer; +} +.tree-expanded, +.tree-collapsed, +.tree-folder, +.tree-file, +.tree-checkbox, +.tree-indent { + display: inline-block; + width: 16px; + height: 18px; + vertical-align: top; + overflow: hidden; +} +.tree-expanded { + background: url('images/tree_icons.png') no-repeat -18px 0px; +} +.tree-expanded-hover { + background: url('images/tree_icons.png') no-repeat -50px 0px; +} +.tree-collapsed { + background: url('images/tree_icons.png') no-repeat 0px 0px; +} +.tree-collapsed-hover { + background: url('images/tree_icons.png') no-repeat -32px 0px; +} +.tree-lines .tree-expanded, +.tree-lines .tree-root-first .tree-expanded { + background: url('images/tree_icons.png') no-repeat -144px 0; +} +.tree-lines .tree-collapsed, +.tree-lines .tree-root-first .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -128px 0; +} +.tree-lines .tree-node-last .tree-expanded, +.tree-lines .tree-root-one .tree-expanded { + background: url('images/tree_icons.png') no-repeat -80px 0; +} +.tree-lines .tree-node-last .tree-collapsed, +.tree-lines .tree-root-one .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -64px 0; +} +.tree-line { + background: url('images/tree_icons.png') no-repeat -176px 0; +} +.tree-join { + background: url('images/tree_icons.png') no-repeat -192px 0; +} +.tree-joinbottom { + background: url('images/tree_icons.png') no-repeat -160px 0; +} +.tree-folder { + background: url('images/tree_icons.png') no-repeat -208px 0; +} +.tree-folder-open { + background: url('images/tree_icons.png') no-repeat -224px 0; +} +.tree-file { + background: url('images/tree_icons.png') no-repeat -240px 0; +} +.tree-loading { + background: url('images/loading.gif') no-repeat center center; +} +.tree-checkbox0 { + background: url('images/tree_icons.png') no-repeat -208px -18px; +} +.tree-checkbox1 { + background: url('images/tree_icons.png') no-repeat -224px -18px; +} +.tree-checkbox2 { + background: url('images/tree_icons.png') no-repeat -240px -18px; +} +.tree-title { + font-size: 12px; + display: inline-block; + text-decoration: none; + vertical-align: top; + white-space: nowrap; + padding: 0 2px; + height: 18px; + line-height: 18px; +} +.tree-node-proxy { + font-size: 12px; + line-height: 20px; + padding: 0 2px 0 20px; + border-width: 1px; + border-style: solid; + z-index: 9900000; +} +.tree-dnd-icon { + display: inline-block; + position: absolute; + width: 16px; + height: 18px; + left: 2px; + top: 50%; + margin-top: -9px; +} +.tree-dnd-yes { + background: url('images/tree_icons.png') no-repeat -256px 0; +} +.tree-dnd-no { + background: url('images/tree_icons.png') no-repeat -256px -18px; +} +.tree-node-top { + border-top: 1px dotted red; +} +.tree-node-bottom { + border-bottom: 1px dotted red; +} +.tree-node-append .tree-title { + border: 1px dotted red; +} +.tree-editor { + border: 1px solid #ddd; + font-size: 12px; + line-height: 16px; + padding: 0 4px; + margin: 0; + width: 80px; + outline-style: none; + vertical-align: top; + position: absolute; + top: 0; +} +.tree-node-proxy { + background-color: #ffffff; + color: #404040; + border-color: #ddd; +} +.tree-node-hover { + background: #eee; + color: #404040; +} +.tree-node-selected { + background: #00bbee; + color: #fff; +} +.tree-node-hidden { + display: none; +} diff --git a/src/main/webapp/css/themes/material/validatebox.css b/src/main/webapp/css/themes/material/validatebox.css new file mode 100644 index 0000000..5911752 --- /dev/null +++ b/src/main/webapp/css/themes/material/validatebox.css @@ -0,0 +1,5 @@ +.validatebox-invalid { + border-color: #ffa8a8; + background-color: #fff; + color: #404040; +} diff --git a/src/main/webapp/css/themes/material/window.css b/src/main/webapp/css/themes/material/window.css new file mode 100644 index 0000000..5bd6c46 --- /dev/null +++ b/src/main/webapp/css/themes/material/window.css @@ -0,0 +1,177 @@ +.window { + overflow: hidden; + padding: 5px; + border-width: 1px; + border-style: solid; +} +.window .window-header { + background: transparent; + padding: 0px 0px 6px 0px; +} +.window .window-body { + border-width: 1px; + border-style: solid; + border-top-width: 0px; +} +.window .window-body-noheader { + border-top-width: 1px; +} +.window .panel-body-nobottom { + border-bottom-width: 0; +} +.window .window-header .panel-icon, +.window .window-header .panel-tool { + top: 50%; + margin-top: -11px; +} +.window .window-header .panel-icon { + left: 1px; +} +.window .window-header .panel-tool { + right: 1px; +} +.window .window-header .panel-with-icon { + padding-left: 18px; +} +.window-proxy { + position: absolute; + overflow: hidden; +} +.window-proxy-mask { + position: absolute; + filter: alpha(opacity=5); + opacity: 0.05; +} +.window-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + filter: alpha(opacity=40); + opacity: 0.40; + font-size: 1px; + overflow: hidden; +} +.window, +.window-shadow { + position: absolute; + -moz-border-radius: 4px 4px 4px 4px; + -webkit-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; +} +.window-shadow { + background: #fafafa; + -moz-box-shadow: 2px 2px 3px #fafafa; + -webkit-box-shadow: 2px 2px 3px #fafafa; + box-shadow: 2px 2px 3px #fafafa; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.window, +.window .window-body { + border-color: #ddd; +} +.window { + background-color: #f5f5f5; +} +.window-proxy { + border: 1px dashed #ddd; +} +.window-proxy-mask, +.window-mask { + background: #eee; +} +.window .panel-footer { + border: 1px solid #ddd; + position: relative; + top: -1px; +} +.window-thinborder { + padding: 0; +} +.window-thinborder .window-header { + padding: 5px 5px 6px 5px; +} +.window-thinborder .window-body { + border-width: 0px; +} +.window-thinborder .window-header .panel-icon, +.window-thinborder .window-header .panel-tool { + margin-top: -9px; + margin-left: 5px; + margin-right: 5px; +} +.window-noborder { + border: 0; +} +.window.panel-hleft .window-header { + padding: 0 6px 0 0; +} +.window.panel-hright .window-header { + padding: 0 0 0 6px; +} +.window.panel-hleft>.panel-header .panel-title { + top: auto; + left: 16px; +} +.window.panel-hright>.panel-header .panel-title { + top: auto; + right: 16px; +} +.window.panel-hleft>.panel-header .panel-title-up, +.window.panel-hright>.panel-header .panel-title-up { + bottom: 0; +} +.window.panel-hleft .window-body { + border-width: 1px 1px 1px 0; +} +.window.panel-hright .window-body { + border-width: 1px 0 1px 1px; +} +.window.panel-hleft .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: 0; +} +.window.panel-hright .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: auto; + right: 1px; +} +.window.panel-hleft .window-header .panel-tool, +.window.panel-hright .window-header .panel-tool { + margin-top: 0; + top: auto; + bottom: 1px; + right: auto; + margin-right: 0; + left: 50%; + margin-left: -11px; +} +.window.panel-hright .window-header .panel-tool { + left: auto; + right: 1px; +} +.window-thinborder.panel-hleft .window-header { + padding: 5px 6px 5px 5px; +} +.window-thinborder.panel-hright .window-header { + padding: 5px 5px 5px 6px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title { + left: 21px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title-up, +.window-thinborder.panel-hright>.panel-header .panel-title-up { + bottom: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-icon, +.window-thinborder.panel-hright .window-header .panel-icon { + margin-top: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-tool, +.window-thinborder.panel-hright .window-header .panel-tool { + left: 16px; + bottom: 5px; +} diff --git a/src/main/webapp/css/themes/metro/accordion.css b/src/main/webapp/css/themes/metro/accordion.css new file mode 100644 index 0000000..fb9f85e --- /dev/null +++ b/src/main/webapp/css/themes/metro/accordion.css @@ -0,0 +1,89 @@ +.accordion { + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.accordion .accordion-header { + border-width: 0 0 1px; + cursor: pointer; +} +.accordion .accordion-body { + border-width: 0 0 1px; +} +.accordion-noborder { + border-width: 0; +} +.accordion-noborder .accordion-header { + border-width: 0 0 1px; +} +.accordion-noborder .accordion-body { + border-width: 0 0 1px; +} +.accordion-collapse { + background: url('images/accordion_arrows.png') no-repeat 0 0; +} +.accordion-expand { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.accordion { + background: #fff; + border-color: #ddd; +} +.accordion .accordion-header { + background: #ffffff; + filter: none; +} +.accordion .accordion-header-selected { + background: #CCE6FF; +} +.accordion .accordion-header-selected .panel-title { + color: #000; +} +.accordion .panel-last > .accordion-header { + border-bottom-color: #ffffff; +} +.accordion .panel-last > .accordion-body { + border-bottom-color: #fff; +} +.accordion .panel-last > .accordion-header-selected, +.accordion .panel-last > .accordion-header-border { + border-bottom-color: #ddd; +} +.accordion> .panel-hleft { + float: left; +} +.accordion> .panel-hleft>.panel-header { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft> .panel-body { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft.panel-last > .accordion-header { + border-right-color: #ffffff; +} +.accordion> .panel-hleft.panel-last > .accordion-body { + border-right-color: #fff; +} +.accordion> .panel-hleft.panel-last > .accordion-header-selected, +.accordion> .panel-hleft.panel-last > .accordion-header-border { + border-right-color: #ddd; +} +.accordion> .panel-hright { + float: right; +} +.accordion> .panel-hright>.panel-header { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright> .panel-body { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright.panel-last > .accordion-header { + border-left-color: #ffffff; +} +.accordion> .panel-hright.panel-last > .accordion-body { + border-left-color: #fff; +} +.accordion> .panel-hright.panel-last > .accordion-header-selected, +.accordion> .panel-hright.panel-last > .accordion-header-border { + border-left-color: #ddd; +} diff --git a/src/main/webapp/css/themes/metro/calendar.css b/src/main/webapp/css/themes/metro/calendar.css new file mode 100644 index 0000000..42f7366 --- /dev/null +++ b/src/main/webapp/css/themes/metro/calendar.css @@ -0,0 +1,202 @@ +.calendar { + border-width: 1px; + border-style: solid; + padding: 1px; + overflow: hidden; +} +.calendar table { + table-layout: fixed; + border-collapse: separate; + font-size: 12px; + width: 100%; + height: 100%; +} +.calendar table td, +.calendar table th { + font-size: 12px; +} +.calendar-noborder { + border: 0; +} +.calendar-header { + position: relative; + height: 22px; +} +.calendar-title { + text-align: center; + height: 22px; +} +.calendar-title span { + position: relative; + display: inline-block; + top: 2px; + padding: 0 3px; + height: 18px; + line-height: 18px; + font-size: 12px; + cursor: pointer; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.calendar-prevmonth, +.calendar-nextmonth, +.calendar-prevyear, +.calendar-nextyear { + position: absolute; + top: 50%; + margin-top: -7px; + width: 14px; + height: 14px; + cursor: pointer; + font-size: 1px; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.calendar-prevmonth { + left: 20px; + background: url('images/calendar_arrows.png') no-repeat -18px -2px; +} +.calendar-nextmonth { + right: 20px; + background: url('images/calendar_arrows.png') no-repeat -34px -2px; +} +.calendar-prevyear { + left: 3px; + background: url('images/calendar_arrows.png') no-repeat -1px -2px; +} +.calendar-nextyear { + right: 3px; + background: url('images/calendar_arrows.png') no-repeat -49px -2px; +} +.calendar-body { + position: relative; +} +.calendar-body th, +.calendar-body td { + text-align: center; +} +.calendar-day { + border: 0; + padding: 1px; + cursor: pointer; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.calendar-other-month { + opacity: 0.3; + filter: alpha(opacity=30); +} +.calendar-disabled { + opacity: 0.6; + filter: alpha(opacity=60); + cursor: default; +} +.calendar-menu { + position: absolute; + top: 0; + left: 0; + width: 180px; + height: 150px; + padding: 5px; + font-size: 12px; + display: none; + overflow: hidden; +} +.calendar-menu-year-inner { + text-align: center; + padding-bottom: 5px; +} +.calendar-menu-year { + width: 50px; + text-align: center; + border-width: 1px; + border-style: solid; + outline-style: none; + resize: none; + margin: 0; + padding: 2px; + font-weight: bold; + font-size: 12px; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.calendar-menu-prev, +.calendar-menu-next { + display: inline-block; + width: 21px; + height: 21px; + vertical-align: top; + cursor: pointer; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.calendar-menu-prev { + margin-right: 10px; + background: url('images/calendar_arrows.png') no-repeat 2px 2px; +} +.calendar-menu-next { + margin-left: 10px; + background: url('images/calendar_arrows.png') no-repeat -45px 2px; +} +.calendar-menu-month { + text-align: center; + cursor: pointer; + font-weight: bold; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.calendar-body th, +.calendar-menu-month { + color: #919191; +} +.calendar-day { + color: #444; +} +.calendar-sunday { + color: #CC2222; +} +.calendar-saturday { + color: #00ee00; +} +.calendar-today { + color: #0000ff; +} +.calendar-menu-year { + border-color: #ddd; +} +.calendar { + border-color: #ddd; +} +.calendar-header { + background: #ffffff; +} +.calendar-body, +.calendar-menu { + background: #fff; +} +.calendar-body th { + background: #fff; + padding: 2px 0; +} +.calendar-hover, +.calendar-nav-hover, +.calendar-menu-hover { + background-color: #E6E6E6; + color: #444; +} +.calendar-hover { + border: 1px solid #ddd; + padding: 0; +} +.calendar-selected { + background-color: #CCE6FF; + color: #000; + border: 1px solid #99cdff; + padding: 0; +} diff --git a/src/main/webapp/css/themes/metro/combo.css b/src/main/webapp/css/themes/metro/combo.css new file mode 100644 index 0000000..2e89071 --- /dev/null +++ b/src/main/webapp/css/themes/metro/combo.css @@ -0,0 +1,35 @@ +.combo-arrow { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.combo-arrow-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.combo-panel { + overflow: auto; +} +.combo-arrow { + background: url('images/combo_arrow.png') no-repeat center center; +} +.combo-panel { + background-color: #fff; +} +.combo-arrow { + background-color: #ffffff; +} +.combo-arrow-hover { + background-color: #E6E6E6; +} +.combo-arrow:hover { + background-color: #E6E6E6; +} +.combo .textbox-icon-disabled:hover { + cursor: default; +} diff --git a/src/main/webapp/css/themes/metro/combobox.css b/src/main/webapp/css/themes/metro/combobox.css new file mode 100644 index 0000000..eaabb31 --- /dev/null +++ b/src/main/webapp/css/themes/metro/combobox.css @@ -0,0 +1,39 @@ +.combobox-item, +.combobox-group, +.combobox-stick { + font-size: 12px; + padding: 3px; +} +.combobox-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.combobox-gitem { + padding-left: 10px; +} +.combobox-group, +.combobox-stick { + font-weight: bold; +} +.combobox-stick { + position: absolute; + top: 1px; + left: 1px; + right: 1px; + background: inherit; +} +.combobox-item-hover { + background-color: #E6E6E6; + color: #444; +} +.combobox-item-selected { + background-color: #CCE6FF; + color: #000; +} +.combobox-icon { + display: inline-block; + width: 16px; + height: 16px; + vertical-align: middle; + margin-right: 2px; +} diff --git a/src/main/webapp/css/themes/metro/datagrid.css b/src/main/webapp/css/themes/metro/datagrid.css new file mode 100644 index 0000000..95d409f --- /dev/null +++ b/src/main/webapp/css/themes/metro/datagrid.css @@ -0,0 +1,282 @@ +.datagrid .panel-body { + overflow: hidden; + position: relative; +} +.datagrid-view { + position: relative; + overflow: hidden; +} +.datagrid-view1, +.datagrid-view2 { + position: absolute; + overflow: hidden; + top: 0; +} +.datagrid-view1 { + left: 0; +} +.datagrid-view2 { + right: 0; +} +.datagrid-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: 0.3; + filter: alpha(opacity=30); + display: none; +} +.datagrid-mask-msg { + position: absolute; + top: 50%; + margin-top: -20px; + padding: 10px 5px 10px 30px; + width: auto; + height: 16px; + border-width: 2px; + border-style: solid; + display: none; +} +.datagrid-empty { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 25px; + line-height: 25px; + text-align: center; +} +.datagrid-sort-icon { + padding: 0; + display: none; +} +.datagrid-toolbar { + height: auto; + padding: 1px 2px; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ddd; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.datagrid .datagrid-pager { + display: block; + margin: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.datagrid .datagrid-pager-top { + border-width: 0 0 1px 0; +} +.datagrid-header { + overflow: hidden; + cursor: default; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-header-inner { + float: left; + width: 10000px; +} +.datagrid-header-row, +.datagrid-row { + height: 25px; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-width: 0 1px 1px 0; + border-style: dotted; + margin: 0; + padding: 0; +} +.datagrid-cell, +.datagrid-cell-group, +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + margin: 0; + padding: 0 4px; + white-space: nowrap; + word-wrap: normal; + overflow: hidden; + height: 18px; + line-height: 18px; + font-size: 12px; +} +.datagrid-header .datagrid-cell { + height: auto; +} +.datagrid-header .datagrid-cell span { + font-size: 12px; +} +.datagrid-cell-group { + text-align: center; + text-overflow: ellipsis; +} +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + width: 30px; + text-align: center; + margin: 0; + padding: 0; +} +.datagrid-body { + margin: 0; + padding: 0; + overflow: auto; + zoom: 1; +} +.datagrid-view1 .datagrid-body-inner { + padding-bottom: 20px; +} +.datagrid-view1 .datagrid-body { + overflow: hidden; +} +.datagrid-footer { + overflow: hidden; +} +.datagrid-footer-inner { + border-width: 1px 0 0 0; + border-style: solid; + width: 10000px; + float: left; +} +.datagrid-row-editing .datagrid-cell { + height: auto; +} +.datagrid-header-check, +.datagrid-cell-check { + padding: 0; + width: 27px; + height: 18px; + font-size: 1px; + text-align: center; + overflow: hidden; +} +.datagrid-header-check input, +.datagrid-cell-check input { + margin: 0; + padding: 0; + width: 15px; + height: 18px; +} +.datagrid-resize-proxy { + position: absolute; + width: 1px; + height: 10000px; + top: 0; + cursor: e-resize; + display: none; +} +.datagrid-body .datagrid-editable { + margin: 0; + padding: 0; +} +.datagrid-body .datagrid-editable table { + width: 100%; + height: 100%; +} +.datagrid-body .datagrid-editable td { + border: 0; + margin: 0; + padding: 0; +} +.datagrid-view .datagrid-editable-input { + margin: 0; + padding: 2px 4px; + border: 1px solid #ddd; + font-size: 12px; + outline-style: none; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-view .validatebox-invalid { + border-color: #ffa8a8; +} +.datagrid-sort .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -64px center; +} +.datagrid-sort-desc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -16px center; +} +.datagrid-sort-asc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat 0px center; +} +.datagrid-row-collapse { + background: url('images/datagrid_icons.png') no-repeat -48px center; +} +.datagrid-row-expand { + background: url('images/datagrid_icons.png') no-repeat -32px center; +} +.datagrid-mask-msg { + background: #fff url('images/loading.gif') no-repeat scroll 5px center; +} +.datagrid-header, +.datagrid-td-rownumber { + background-color: #ffffff; +} +.datagrid-cell-rownumber { + color: #444; +} +.datagrid-resize-proxy { + background: #b3b3b3; +} +.datagrid-mask { + background: #eee; +} +.datagrid-mask-msg { + border-color: #ddd; +} +.datagrid-toolbar, +.datagrid-pager { + background: #fff; +} +.datagrid-header, +.datagrid-toolbar, +.datagrid-pager, +.datagrid-footer-inner { + border-color: #ddd; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-color: #ddd; +} +.datagrid-htable, +.datagrid-btable, +.datagrid-ftable { + color: #444; + border-collapse: separate; +} +.datagrid-row-alt { + background: #f5f5f5; +} +.datagrid-row-over, +.datagrid-header td.datagrid-header-over { + background: #E6E6E6; + color: #444; + cursor: default; +} +.datagrid-row-selected { + background: #CCE6FF; + color: #000; +} +.datagrid-row-editing .textbox, +.datagrid-row-editing .textbox-text { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} diff --git a/src/main/webapp/css/themes/metro/datalist.css b/src/main/webapp/css/themes/metro/datalist.css new file mode 100644 index 0000000..8a7f949 --- /dev/null +++ b/src/main/webapp/css/themes/metro/datalist.css @@ -0,0 +1,95 @@ +.datalist .datagrid-header { + border-width: 0; +} +.datalist .datagrid-group, +.m-list .m-list-group { + height: 25px; + line-height: 25px; + font-weight: bold; + overflow: hidden; + background-color: #ffffff; + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ddd; +} +.datalist .datagrid-group-expander { + display: none; +} +.datalist .datagrid-group-title { + padding: 0 4px; +} +.datalist .datagrid-btable { + width: 100%; + table-layout: fixed; +} +.datalist .datagrid-row td { + border-style: solid; + border-left-color: transparent; + border-right-color: transparent; + border-bottom-width: 0; +} +.datalist-lines .datagrid-row td { + border-bottom-width: 1px; +} +.datalist .datagrid-cell, +.m-list li { + width: auto; + height: auto; + padding: 2px 4px; + line-height: 18px; + position: relative; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link, +.m-list li>a { + display: block; + position: relative; + cursor: pointer; + color: #444; + text-decoration: none; + overflow: hidden; + margin: -2px -4px; + padding: 2px 4px; + padding-right: 16px; + line-height: 18px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link::after, +.m-list li>a::after { + position: absolute; + display: block; + width: 8px; + height: 8px; + content: ''; + right: 6px; + top: 50%; + margin-top: -4px; + border-style: solid; + border-width: 1px 1px 0 0; + -ms-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -webkit-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); +} +.m-list { + margin: 0; + padding: 0; + list-style: none; +} +.m-list li { + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ddd; +} +.m-list li>a:hover { + background: #E6E6E6; + color: #444; +} +.m-list .m-list-group { + padding: 0 4px; +} diff --git a/src/main/webapp/css/themes/metro/datebox.css b/src/main/webapp/css/themes/metro/datebox.css new file mode 100644 index 0000000..0a23595 --- /dev/null +++ b/src/main/webapp/css/themes/metro/datebox.css @@ -0,0 +1,36 @@ +.datebox-calendar-inner { + height: 180px; +} +.datebox-button { + padding: 0 5px; + text-align: center; +} +.datebox-button a { + line-height: 22px; + font-size: 12px; + font-weight: bold; + text-decoration: none; + opacity: 0.6; + filter: alpha(opacity=60); +} +.datebox-button a:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.datebox-current, +.datebox-close { + float: left; +} +.datebox-close { + float: right; +} +.datebox .combo-arrow { + background-image: url('images/datebox_arrow.png'); + background-position: center center; +} +.datebox-button { + background-color: #fff; +} +.datebox-button a { + color: #777; +} diff --git a/src/main/webapp/css/themes/metro/dialog.css b/src/main/webapp/css/themes/metro/dialog.css new file mode 100644 index 0000000..3737479 --- /dev/null +++ b/src/main/webapp/css/themes/metro/dialog.css @@ -0,0 +1,47 @@ +.dialog-content { + overflow: auto; +} +.dialog-toolbar { + position: relative; + padding: 2px 5px; +} +.dialog-tool-separator { + float: left; + height: 24px; + border-left: 1px solid #ddd; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.dialog-button { + position: relative; + top: -1px; + padding: 5px; + text-align: right; +} +.dialog-button .l-btn { + margin-left: 5px; +} +.dialog-toolbar, +.dialog-button { + background: #fff; + border-width: 1px; + border-style: solid; +} +.dialog-toolbar { + border-color: #ddd #ddd #ddd #ddd; +} +.dialog-button { + border-color: #ddd #ddd #ddd #ddd; +} +.window-thinborder .dialog-toolbar { + border-left: transparent; + border-right: transparent; + border-top-color: #fff; +} +.window-thinborder .dialog-button { + top: 0px; + padding: 5px 8px 8px 8px; + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} diff --git a/src/main/webapp/css/themes/metro/easyui.css b/src/main/webapp/css/themes/metro/easyui.css new file mode 100644 index 0000000..9f31359 --- /dev/null +++ b/src/main/webapp/css/themes/metro/easyui.css @@ -0,0 +1,3166 @@ +.panel { + overflow: hidden; + text-align: left; + margin: 0; + border: 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.panel-header, +.panel-body { + border-width: 1px; + border-style: solid; +} +.panel-header { + padding: 5px; + position: relative; +} +.panel-title { + background: url('images/blank.gif') no-repeat; +} +.panel-header-noborder { + border-width: 0 0 1px 0; +} +.panel-body { + overflow: auto; + border-top-width: 0; + padding: 0; +} +.panel-body-noheader { + border-top-width: 1px; +} +.panel-body-noborder { + border-width: 0px; +} +.panel-body-nobottom { + border-bottom-width: 0; +} +.panel-with-icon { + padding-left: 18px; +} +.panel-icon, +.panel-tool { + position: absolute; + top: 50%; + margin-top: -8px; + height: 16px; + overflow: hidden; +} +.panel-icon { + left: 5px; + width: 16px; +} +.panel-tool { + right: 5px; + width: auto; +} +.panel-tool a { + display: inline-block; + width: 16px; + height: 16px; + opacity: 0.6; + filter: alpha(opacity=60); + margin: 0 0 0 2px; + vertical-align: top; +} +.panel-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + background-color: #E6E6E6; + -moz-border-radius: -2px -2px -2px -2px; + -webkit-border-radius: -2px -2px -2px -2px; + border-radius: -2px -2px -2px -2px; +} +.panel-loading { + padding: 11px 0px 10px 30px; +} +.panel-noscroll { + overflow: hidden; +} +.panel-fit, +.panel-fit body { + height: 100%; + margin: 0; + padding: 0; + border: 0; + overflow: hidden; +} +.panel-loading { + background: url('images/loading.gif') no-repeat 10px 10px; +} +.panel-tool-close { + background: url('images/panel_tools.png') no-repeat -16px 0px; +} +.panel-tool-min { + background: url('images/panel_tools.png') no-repeat 0px 0px; +} +.panel-tool-max { + background: url('images/panel_tools.png') no-repeat 0px -16px; +} +.panel-tool-restore { + background: url('images/panel_tools.png') no-repeat -16px -16px; +} +.panel-tool-collapse { + background: url('images/panel_tools.png') no-repeat -32px 0; +} +.panel-tool-expand { + background: url('images/panel_tools.png') no-repeat -32px -16px; +} +.panel-header, +.panel-body { + border-color: #ddd; +} +.panel-header { + background-color: #ffffff; +} +.panel-body { + background-color: #fff; + color: #444; + font-size: 12px; +} +.panel-title { + font-size: 12px; + font-weight: bold; + color: #777; + height: 16px; + line-height: 16px; +} +.panel-footer { + border: 1px solid #ddd; + overflow: hidden; + background: #fff; +} +.panel-footer-noborder { + border-width: 1px 0 0 0; +} +.panel-hleft, +.panel-hright { + position: relative; +} +.panel-hleft>.panel-body, +.panel-hright>.panel-body { + position: absolute; +} +.panel-hleft>.panel-header { + float: left; +} +.panel-hright>.panel-header { + float: right; +} +.panel-hleft>.panel-body { + border-top-width: 1px; + border-left-width: 0; +} +.panel-hright>.panel-body { + border-top-width: 1px; + border-right-width: 0; +} +.panel-hleft>.panel-body-nobottom { + border-bottom-width: 1px; + border-right-width: 0; +} +.panel-hright>.panel-body-nobottom { + border-bottom-width: 1px; + border-left-width: 0; +} +.panel-hleft>.panel-footer { + position: absolute; + right: 0; +} +.panel-hright>.panel-footer { + position: absolute; + left: 0; +} +.panel-hleft>.panel-header-noborder { + border-width: 0 1px 0 0; +} +.panel-hright>.panel-header-noborder { + border-width: 0 0 0 1px; +} +.panel-hleft>.panel-body-noborder { + border-width: 0; +} +.panel-hright>.panel-body-noborder { + border-width: 0; +} +.panel-hleft>.panel-body-noheader { + border-left-width: 1px; +} +.panel-hright>.panel-body-noheader { + border-right-width: 1px; +} +.panel-hleft>.panel-footer-noborder { + border-width: 0 0 0 1px; +} +.panel-hright>.panel-footer-noborder { + border-width: 0 1px 0 0; +} +.panel-hleft>.panel-header .panel-icon, +.panel-hright>.panel-header .panel-icon { + margin-top: 0; + top: 5px; +} +.panel-hleft>.panel-header .panel-title, +.panel-hright>.panel-header .panel-title { + position: absolute; + min-width: 16px; + left: 21px; + top: 5px; + bottom: auto; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.panel-hleft>.panel-header .panel-title-up, +.panel-hright>.panel-header .panel-title-up { + position: absolute; + min-width: 16px; + left: 21px; + top: auto; + bottom: 5px; + text-align: right; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 16px; +} +.panel-hleft>.panel-header .panel-with-icon.panel-title-up, +.panel-hright>.panel-header .panel-with-icon.panel-title-up { + padding-left: 0; + padding-right: 18px; +} +.panel-hleft>.panel-header .panel-tool, +.panel-hright>.panel-header .panel-tool { + top: auto; + bottom: 5px; + width: 16px; + height: auto; + left: 50%; + margin-left: -8px; + margin-top: 0; +} +.panel-hleft>.panel-header .panel-tool a, +.panel-hright>.panel-header .panel-tool a { + margin: 2px 0 0 0; +} +.accordion { + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.accordion .accordion-header { + border-width: 0 0 1px; + cursor: pointer; +} +.accordion .accordion-body { + border-width: 0 0 1px; +} +.accordion-noborder { + border-width: 0; +} +.accordion-noborder .accordion-header { + border-width: 0 0 1px; +} +.accordion-noborder .accordion-body { + border-width: 0 0 1px; +} +.accordion-collapse { + background: url('images/accordion_arrows.png') no-repeat 0 0; +} +.accordion-expand { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.accordion { + background: #fff; + border-color: #ddd; +} +.accordion .accordion-header { + background: #ffffff; + filter: none; +} +.accordion .accordion-header-selected { + background: #CCE6FF; +} +.accordion .accordion-header-selected .panel-title { + color: #000; +} +.accordion .panel-last > .accordion-header { + border-bottom-color: #ffffff; +} +.accordion .panel-last > .accordion-body { + border-bottom-color: #fff; +} +.accordion .panel-last > .accordion-header-selected, +.accordion .panel-last > .accordion-header-border { + border-bottom-color: #ddd; +} +.accordion> .panel-hleft { + float: left; +} +.accordion> .panel-hleft>.panel-header { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft> .panel-body { + border-width: 0 1px 0 0; +} +.accordion> .panel-hleft.panel-last > .accordion-header { + border-right-color: #ffffff; +} +.accordion> .panel-hleft.panel-last > .accordion-body { + border-right-color: #fff; +} +.accordion> .panel-hleft.panel-last > .accordion-header-selected, +.accordion> .panel-hleft.panel-last > .accordion-header-border { + border-right-color: #ddd; +} +.accordion> .panel-hright { + float: right; +} +.accordion> .panel-hright>.panel-header { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright> .panel-body { + border-width: 0 0 0 1px; +} +.accordion> .panel-hright.panel-last > .accordion-header { + border-left-color: #ffffff; +} +.accordion> .panel-hright.panel-last > .accordion-body { + border-left-color: #fff; +} +.accordion> .panel-hright.panel-last > .accordion-header-selected, +.accordion> .panel-hright.panel-last > .accordion-header-border { + border-left-color: #ddd; +} +.window { + overflow: hidden; + padding: 5px; + border-width: 1px; + border-style: solid; +} +.window .window-header { + background: transparent; + padding: 0px 0px 6px 0px; +} +.window .window-body { + border-width: 1px; + border-style: solid; + border-top-width: 0px; +} +.window .window-body-noheader { + border-top-width: 1px; +} +.window .panel-body-nobottom { + border-bottom-width: 0; +} +.window .window-header .panel-icon, +.window .window-header .panel-tool { + top: 50%; + margin-top: -11px; +} +.window .window-header .panel-icon { + left: 1px; +} +.window .window-header .panel-tool { + right: 1px; +} +.window .window-header .panel-with-icon { + padding-left: 18px; +} +.window-proxy { + position: absolute; + overflow: hidden; +} +.window-proxy-mask { + position: absolute; + filter: alpha(opacity=5); + opacity: 0.05; +} +.window-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + filter: alpha(opacity=40); + opacity: 0.40; + font-size: 1px; + overflow: hidden; +} +.window, +.window-shadow { + position: absolute; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.window-shadow { + background: #eee; + -moz-box-shadow: 2px 2px 3px #ededed; + -webkit-box-shadow: 2px 2px 3px #ededed; + box-shadow: 2px 2px 3px #ededed; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.window, +.window .window-body { + border-color: #ddd; +} +.window { + background-color: #ffffff; +} +.window-proxy { + border: 1px dashed #ddd; +} +.window-proxy-mask, +.window-mask { + background: #eee; +} +.window .panel-footer { + border: 1px solid #ddd; + position: relative; + top: -1px; +} +.window-thinborder { + padding: 0; +} +.window-thinborder .window-header { + padding: 5px 5px 6px 5px; +} +.window-thinborder .window-body { + border-width: 0px; +} +.window-thinborder .window-header .panel-icon, +.window-thinborder .window-header .panel-tool { + margin-top: -9px; + margin-left: 5px; + margin-right: 5px; +} +.window-noborder { + border: 0; +} +.window.panel-hleft .window-header { + padding: 0 6px 0 0; +} +.window.panel-hright .window-header { + padding: 0 0 0 6px; +} +.window.panel-hleft>.panel-header .panel-title { + top: auto; + left: 16px; +} +.window.panel-hright>.panel-header .panel-title { + top: auto; + right: 16px; +} +.window.panel-hleft>.panel-header .panel-title-up, +.window.panel-hright>.panel-header .panel-title-up { + bottom: 0; +} +.window.panel-hleft .window-body { + border-width: 1px 1px 1px 0; +} +.window.panel-hright .window-body { + border-width: 1px 0 1px 1px; +} +.window.panel-hleft .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: 0; +} +.window.panel-hright .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: auto; + right: 1px; +} +.window.panel-hleft .window-header .panel-tool, +.window.panel-hright .window-header .panel-tool { + margin-top: 0; + top: auto; + bottom: 1px; + right: auto; + margin-right: 0; + left: 50%; + margin-left: -11px; +} +.window.panel-hright .window-header .panel-tool { + left: auto; + right: 1px; +} +.window-thinborder.panel-hleft .window-header { + padding: 5px 6px 5px 5px; +} +.window-thinborder.panel-hright .window-header { + padding: 5px 5px 5px 6px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title { + left: 21px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title-up, +.window-thinborder.panel-hright>.panel-header .panel-title-up { + bottom: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-icon, +.window-thinborder.panel-hright .window-header .panel-icon { + margin-top: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-tool, +.window-thinborder.panel-hright .window-header .panel-tool { + left: 16px; + bottom: 5px; +} +.dialog-content { + overflow: auto; +} +.dialog-toolbar { + position: relative; + padding: 2px 5px; +} +.dialog-tool-separator { + float: left; + height: 24px; + border-left: 1px solid #ddd; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.dialog-button { + position: relative; + top: -1px; + padding: 5px; + text-align: right; +} +.dialog-button .l-btn { + margin-left: 5px; +} +.dialog-toolbar, +.dialog-button { + background: #fff; + border-width: 1px; + border-style: solid; +} +.dialog-toolbar { + border-color: #ddd #ddd #ddd #ddd; +} +.dialog-button { + border-color: #ddd #ddd #ddd #ddd; +} +.window-thinborder .dialog-toolbar { + border-left: transparent; + border-right: transparent; + border-top-color: #fff; +} +.window-thinborder .dialog-button { + top: 0px; + padding: 5px 8px 8px 8px; + border-left: transparent; + border-right: transparent; + border-bottom: transparent; +} +.l-btn { + text-decoration: none; + display: inline-block; + overflow: hidden; + margin: 0; + padding: 0; + cursor: pointer; + outline: none; + text-align: center; + vertical-align: middle; + line-height: normal; +} +.l-btn-plain { + border-width: 0; + padding: 1px; +} +.l-btn-left { + display: inline-block; + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + vertical-align: top; +} +.l-btn-text { + display: inline-block; + vertical-align: top; + width: auto; + line-height: 24px; + font-size: 12px; + padding: 0; + margin: 0 4px; +} +.l-btn-icon { + display: inline-block; + width: 16px; + height: 16px; + line-height: 16px; + position: absolute; + top: 50%; + margin-top: -8px; + font-size: 1px; +} +.l-btn span span .l-btn-empty { + display: inline-block; + margin: 0; + width: 16px; + height: 24px; + font-size: 1px; + vertical-align: top; +} +.l-btn span .l-btn-icon-left { + padding: 0 0 0 20px; + background-position: left center; +} +.l-btn span .l-btn-icon-right { + padding: 0 20px 0 0; + background-position: right center; +} +.l-btn-icon-left .l-btn-text { + margin: 0 4px 0 24px; +} +.l-btn-icon-left .l-btn-icon { + left: 4px; +} +.l-btn-icon-right .l-btn-text { + margin: 0 24px 0 4px; +} +.l-btn-icon-right .l-btn-icon { + right: 4px; +} +.l-btn-icon-top .l-btn-text { + margin: 20px 4px 0 4px; +} +.l-btn-icon-top .l-btn-icon { + top: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-icon-bottom .l-btn-text { + margin: 0 4px 20px 4px; +} +.l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-left .l-btn-empty { + margin: 0 4px; + width: 16px; +} +.l-btn-plain:hover { + padding: 0; +} +.l-btn-focus { + outline: #0000FF dotted thin; +} +.l-btn-large .l-btn-text { + line-height: 40px; +} +.l-btn-large .l-btn-icon { + width: 32px; + height: 32px; + line-height: 32px; + margin-top: -16px; +} +.l-btn-large .l-btn-icon-left .l-btn-text { + margin-left: 40px; +} +.l-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.l-btn-large .l-btn-icon-top .l-btn-text { + margin-top: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-top .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-left .l-btn-empty { + margin: 0 4px; + width: 32px; +} +.l-btn { + color: #777; + background: #ffffff; + background-repeat: repeat-x; + border: 1px solid #dddddd; + background: -webkit-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: -moz-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: -o-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: linear-gradient(to bottom,#ffffff 0,#ffffff 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=0); + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.l-btn:hover { + background: #E6E6E6; + color: #444; + border: 1px solid #ddd; + filter: none; +} +.l-btn-plain { + background: transparent; + border-width: 0; + filter: none; +} +.l-btn-outline { + border-width: 1px; + border-color: #ddd; + padding: 0; +} +.l-btn-plain:hover { + background: #E6E6E6; + color: #444; + border: 1px solid #ddd; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.l-btn-disabled, +.l-btn-disabled:hover { + opacity: 0.5; + cursor: default; + background: #ffffff; + color: #777; + background: -webkit-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: -moz-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: -o-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: linear-gradient(to bottom,#ffffff 0,#ffffff 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=0); +} +.l-btn-disabled .l-btn-text, +.l-btn-disabled .l-btn-icon { + filter: alpha(opacity=50); +} +.l-btn-plain-disabled, +.l-btn-plain-disabled:hover { + background: transparent; + filter: alpha(opacity=50); +} +.l-btn-selected, +.l-btn-selected:hover { + background: #ddd; + filter: none; +} +.l-btn-plain-selected, +.l-btn-plain-selected:hover { + background: #ddd; +} +.textbox { + position: relative; + border: 1px solid #ddd; + background-color: #fff; + vertical-align: middle; + display: inline-block; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.textbox .textbox-text { + font-size: 12px; + border: 0; + margin: 0; + padding: 4px; + white-space: normal; + vertical-align: top; + outline-style: none; + resize: none; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.textbox .textbox-text::-ms-clear, +.textbox .textbox-text::-ms-reveal { + display: none; +} +.textbox textarea.textbox-text { + white-space: pre-wrap; +} +.textbox .textbox-prompt { + font-size: 12px; + color: #aaa; +} +.textbox .textbox-bgicon { + background-position: 3px center; + padding-left: 21px; +} +.textbox .textbox-button, +.textbox .textbox-button:hover { + position: absolute; + top: 0; + padding: 0; + vertical-align: top; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.textbox .textbox-button-right, +.textbox .textbox-button-right:hover { + right: 0; + border-width: 0 0 0 1px; +} +.textbox .textbox-button-left, +.textbox .textbox-button-left:hover { + left: 0; + border-width: 0 1px 0 0; +} +.textbox .textbox-button-top, +.textbox .textbox-button-top:hover { + left: 0; + border-width: 0 0 1px 0; +} +.textbox .textbox-button-bottom, +.textbox .textbox-button-bottom:hover { + top: auto; + bottom: 0; + left: 0; + border-width: 1px 0 0 0; +} +.textbox-addon { + position: absolute; + top: 0; +} +.textbox-label { + display: inline-block; + width: 80px; + height: 22px; + line-height: 22px; + vertical-align: middle; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + margin: 0; + padding-right: 5px; +} +.textbox-label-after { + padding-left: 5px; + padding-right: 0; +} +.textbox-label-top { + display: block; + width: auto; + padding: 0; +} +.textbox-disabled, +.textbox-label-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-icon { + display: inline-block; + width: 18px; + height: 20px; + overflow: hidden; + vertical-align: top; + background-position: center center; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); + text-decoration: none; + outline-style: none; +} +.textbox-icon-disabled, +.textbox-icon-readonly { + cursor: default; +} +.textbox-icon:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.textbox-icon-disabled:hover { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-focused { + border-color: #c4c4c4; + -moz-box-shadow: 0 0 3px 0 #ddd; + -webkit-box-shadow: 0 0 3px 0 #ddd; + box-shadow: 0 0 3px 0 #ddd; +} +.textbox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; +} +.passwordbox-open { + background: url('images/passwordbox_open.png') no-repeat center center; +} +.passwordbox-close { + background: url('images/passwordbox_close.png') no-repeat center center; +} +.filebox .textbox-value { + vertical-align: top; + position: absolute; + top: 0; + left: -5000px; +} +.filebox-label { + display: inline-block; + position: absolute; + width: 100%; + height: 100%; + cursor: pointer; + left: 0; + top: 0; + z-index: 10; + background: url('images/blank.gif') no-repeat; +} +.l-btn-disabled .filebox-label { + cursor: default; +} +.combo-arrow { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.combo-arrow-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.combo-panel { + overflow: auto; +} +.combo-arrow { + background: url('images/combo_arrow.png') no-repeat center center; +} +.combo-panel { + background-color: #fff; +} +.combo-arrow { + background-color: #ffffff; +} +.combo-arrow-hover { + background-color: #E6E6E6; +} +.combo-arrow:hover { + background-color: #E6E6E6; +} +.combo .textbox-icon-disabled:hover { + cursor: default; +} +.combobox-item, +.combobox-group, +.combobox-stick { + font-size: 12px; + padding: 3px; +} +.combobox-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.combobox-gitem { + padding-left: 10px; +} +.combobox-group, +.combobox-stick { + font-weight: bold; +} +.combobox-stick { + position: absolute; + top: 1px; + left: 1px; + right: 1px; + background: inherit; +} +.combobox-item-hover { + background-color: #E6E6E6; + color: #444; +} +.combobox-item-selected { + background-color: #CCE6FF; + color: #000; +} +.combobox-icon { + display: inline-block; + width: 16px; + height: 16px; + vertical-align: middle; + margin-right: 2px; +} +.tagbox { + cursor: text; +} +.tagbox .textbox-text { + float: left; +} +.tagbox-label { + position: relative; + display: block; + margin: 4px 0 0 4px; + padding: 0 20px 0 4px; + float: left; + vertical-align: top; + text-decoration: none; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; + background: #E6E6E6; + color: #444; +} +.tagbox-remove { + background: url('images/tagbox_icons.png') no-repeat -16px center; + position: absolute; + display: block; + width: 16px; + height: 16px; + right: 2px; + top: 50%; + margin-top: -8px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tagbox-remove:hover { + opacity: 1; + filter: alpha(opacity=100); +} +.textbox-disabled .tagbox-label { + cursor: default; +} +.textbox-disabled .tagbox-remove:hover { + cursor: default; + opacity: 0.6; + filter: alpha(opacity=60); +} +.layout { + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + z-index: 0; +} +.layout-panel { + position: absolute; + overflow: hidden; +} +.layout-body { + min-width: 1px; + min-height: 1px; +} +.layout-panel-east, +.layout-panel-west { + z-index: 2; +} +.layout-panel-north, +.layout-panel-south { + z-index: 3; +} +.layout-expand { + position: absolute; + padding: 0px; + font-size: 1px; + cursor: pointer; + z-index: 1; +} +.layout-expand .panel-header, +.layout-expand .panel-body { + background: transparent; + filter: none; + overflow: hidden; +} +.layout-expand .panel-header { + border-bottom-width: 0px; +} +.layout-expand .panel-body { + position: relative; +} +.layout-expand .panel-body .panel-icon { + margin-top: 0; + top: 0; + left: 50%; + margin-left: -8px; +} +.layout-expand-west .panel-header .panel-icon, +.layout-expand-east .panel-header .panel-icon { + display: none; +} +.layout-expand-title { + position: absolute; + top: 0; + left: 21px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.layout-expand-title-up { + position: absolute; + top: 0; + left: 0; + text-align: right; + padding-left: 5px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 0; +} +.layout-expand-with-icon { + top: 18px; +} +.layout-expand .panel-body-noheader .layout-expand-title, +.layout-expand .panel-body-noheader .panel-icon { + top: 5px; +} +.layout-expand .panel-body-noheader .layout-expand-with-icon { + top: 23px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + position: absolute; + font-size: 1px; + display: none; + z-index: 5; +} +.layout-split-proxy-h { + width: 5px; + cursor: e-resize; +} +.layout-split-proxy-v { + height: 5px; + cursor: n-resize; +} +.layout-mask { + position: absolute; + background: #fafafa; + filter: alpha(opacity=10); + opacity: 0.10; + z-index: 4; +} +.layout-button-up { + background: url('images/layout_arrows.png') no-repeat -16px -16px; +} +.layout-button-down { + background: url('images/layout_arrows.png') no-repeat -16px 0; +} +.layout-button-left { + background: url('images/layout_arrows.png') no-repeat 0 0; +} +.layout-button-right { + background: url('images/layout_arrows.png') no-repeat 0 -16px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + background-color: #b3b3b3; +} +.layout-split-north { + border-bottom: 5px solid #fff; +} +.layout-split-south { + border-top: 5px solid #fff; +} +.layout-split-east { + border-left: 5px solid #fff; +} +.layout-split-west { + border-right: 5px solid #fff; +} +.layout-expand { + background-color: #ffffff; +} +.layout-expand-over { + background-color: #ffffff; +} +.tabs-container { + overflow: hidden; +} +.tabs-header { + border-width: 1px; + border-style: solid; + border-bottom-width: 0; + position: relative; + padding: 0; + padding-top: 2px; + overflow: hidden; +} +.tabs-scroller-left, +.tabs-scroller-right { + position: absolute; + top: auto; + bottom: 0; + width: 18px; + font-size: 1px; + display: none; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.tabs-scroller-left { + left: 0; +} +.tabs-scroller-right { + right: 0; +} +.tabs-tool { + position: absolute; + bottom: 0; + padding: 1px; + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.tabs-header-plain .tabs-tool { + padding: 0 1px; +} +.tabs-wrap { + position: relative; + left: 0; + overflow: hidden; + width: 100%; + margin: 0; + padding: 0; +} +.tabs-scrolling { + margin-left: 18px; + margin-right: 18px; +} +.tabs-disabled { + opacity: 0.3; + filter: alpha(opacity=30); +} +.tabs { + list-style-type: none; + height: 26px; + margin: 0px; + padding: 0px; + padding-left: 4px; + width: 50000px; + border-style: solid; + border-width: 0 0 1px 0; +} +.tabs li { + float: left; + display: inline-block; + margin: 0 4px -1px 0; + padding: 0; + position: relative; + border: 0; +} +.tabs li a.tabs-inner { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0 10px; + height: 25px; + line-height: 25px; + text-align: center; + white-space: nowrap; + border-width: 1px; + border-style: solid; + -moz-border-radius: 0px 0px 0 0; + -webkit-border-radius: 0px 0px 0 0; + border-radius: 0px 0px 0 0; +} +.tabs li.tabs-selected a.tabs-inner { + font-weight: bold; + outline: none; +} +.tabs li.tabs-selected a:hover.tabs-inner { + cursor: default; + pointer: default; +} +.tabs li a.tabs-close, +.tabs-p-tool { + position: absolute; + font-size: 1px; + display: block; + height: 12px; + padding: 0; + top: 50%; + margin-top: -6px; + overflow: hidden; +} +.tabs li a.tabs-close { + width: 12px; + right: 5px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs-p-tool { + right: 16px; +} +.tabs-p-tool a { + display: inline-block; + font-size: 1px; + width: 12px; + height: 12px; + margin: 0; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs li a:hover.tabs-close, +.tabs-p-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + cursor: hand; + cursor: pointer; +} +.tabs-with-icon { + padding-left: 18px; +} +.tabs-icon { + position: absolute; + width: 16px; + height: 16px; + left: 10px; + top: 50%; + margin-top: -8px; +} +.tabs-title { + font-size: 12px; +} +.tabs-closable { + padding-right: 8px; +} +.tabs-panels { + margin: 0px; + padding: 0px; + border-width: 1px; + border-style: solid; + border-top-width: 0; + overflow: hidden; +} +.tabs-header-bottom { + border-width: 0 1px 1px 1px; + padding: 0 0 2px 0; +} +.tabs-header-bottom .tabs { + border-width: 1px 0 0 0; +} +.tabs-header-bottom .tabs li { + margin: -1px 4px 0 0; +} +.tabs-header-bottom .tabs li a.tabs-inner { + -moz-border-radius: 0 0 0px 0px; + -webkit-border-radius: 0 0 0px 0px; + border-radius: 0 0 0px 0px; +} +.tabs-header-bottom .tabs-tool { + top: 0; +} +.tabs-header-bottom .tabs-scroller-left, +.tabs-header-bottom .tabs-scroller-right { + top: 0; + bottom: auto; +} +.tabs-panels-top { + border-width: 1px 1px 0 1px; +} +.tabs-header-left { + float: left; + border-width: 1px 0 1px 1px; + padding: 0; +} +.tabs-header-right { + float: right; + border-width: 1px 1px 1px 0; + padding: 0; +} +.tabs-header-left .tabs-wrap, +.tabs-header-right .tabs-wrap { + height: 100%; +} +.tabs-header-left .tabs { + height: 100%; + padding: 4px 0 0 2px; + border-width: 0 1px 0 0; +} +.tabs-header-right .tabs { + height: 100%; + padding: 4px 2px 0 0; + border-width: 0 0 0 1px; +} +.tabs-header-left .tabs li, +.tabs-header-right .tabs li { + display: block; + width: 100%; + position: relative; +} +.tabs-header-left .tabs li { + left: auto; + right: 0; + margin: 0 -1px 4px 0; + float: right; +} +.tabs-header-right .tabs li { + left: 0; + right: auto; + margin: 0 0 4px -1px; + float: left; +} +.tabs-justified li a.tabs-inner { + padding-left: 0; + padding-right: 0; +} +.tabs-header-left .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 0px 0 0 0px; + -webkit-border-radius: 0px 0 0 0px; + border-radius: 0px 0 0 0px; +} +.tabs-header-right .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 0 0px 0px 0; + -webkit-border-radius: 0 0px 0px 0; + border-radius: 0 0px 0px 0; +} +.tabs-panels-right { + float: right; + border-width: 1px 1px 1px 0; +} +.tabs-panels-left { + float: left; + border-width: 1px 0 1px 1px; +} +.tabs-header-noborder, +.tabs-panels-noborder { + border: 0px; +} +.tabs-header-plain { + border: 0px; + background: transparent; +} +.tabs-pill { + padding-bottom: 3px; +} +.tabs-header-bottom .tabs-pill { + padding-top: 3px; + padding-bottom: 0; +} +.tabs-header-left .tabs-pill { + padding-right: 3px; +} +.tabs-header-right .tabs-pill { + padding-left: 3px; +} +.tabs-header .tabs-pill li a.tabs-inner { + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.tabs-header-narrow, +.tabs-header-narrow .tabs-narrow { + padding: 0; +} +.tabs-narrow li, +.tabs-header-bottom .tabs-narrow li { + margin-left: 0; + margin-right: -1px; +} +.tabs-narrow li.tabs-last, +.tabs-header-bottom .tabs-narrow li.tabs-last { + margin-right: 0; +} +.tabs-header-left .tabs-narrow, +.tabs-header-right .tabs-narrow { + padding-top: 0; +} +.tabs-header-left .tabs-narrow li { + margin-bottom: -1px; + margin-right: -1px; +} +.tabs-header-left .tabs-narrow li.tabs-last, +.tabs-header-right .tabs-narrow li.tabs-last { + margin-bottom: 0; +} +.tabs-header-right .tabs-narrow li { + margin-bottom: -1px; + margin-left: -1px; +} +.tabs-scroller-left { + background: #ffffff url('images/tabs_icons.png') no-repeat 1px center; +} +.tabs-scroller-right { + background: #ffffff url('images/tabs_icons.png') no-repeat -15px center; +} +.tabs li a.tabs-close { + background: url('images/tabs_icons.png') no-repeat -34px center; +} +.tabs li a.tabs-inner:hover { + background: #E6E6E6; + color: #444; + filter: none; +} +.tabs li.tabs-selected a.tabs-inner { + background-color: #fff; + color: #777; +} +.tabs li a.tabs-inner { + color: #777; + background-color: #ffffff; +} +.tabs-header, +.tabs-tool { + background-color: #ffffff; +} +.tabs-header-plain { + background: transparent; +} +.tabs-header, +.tabs-scroller-left, +.tabs-scroller-right, +.tabs-tool, +.tabs, +.tabs-panels, +.tabs li a.tabs-inner, +.tabs li.tabs-selected a.tabs-inner, +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, +.tabs-header-left .tabs li.tabs-selected a.tabs-inner, +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-color: #ddd; +} +.tabs-p-tool a:hover, +.tabs li a:hover.tabs-close, +.tabs-scroller-over { + background-color: #E6E6E6; +} +.tabs li.tabs-selected a.tabs-inner { + border-bottom: 1px solid #fff; +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + border-top: 1px solid #fff; +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + border-right: 1px solid #fff; +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-left: 1px solid #fff; +} +.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { + background: #CCE6FF; + color: #000; + filter: none; + border-color: #ddd; +} +.datagrid .panel-body { + overflow: hidden; + position: relative; +} +.datagrid-view { + position: relative; + overflow: hidden; +} +.datagrid-view1, +.datagrid-view2 { + position: absolute; + overflow: hidden; + top: 0; +} +.datagrid-view1 { + left: 0; +} +.datagrid-view2 { + right: 0; +} +.datagrid-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: 0.3; + filter: alpha(opacity=30); + display: none; +} +.datagrid-mask-msg { + position: absolute; + top: 50%; + margin-top: -20px; + padding: 10px 5px 10px 30px; + width: auto; + height: 16px; + border-width: 2px; + border-style: solid; + display: none; +} +.datagrid-empty { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 25px; + line-height: 25px; + text-align: center; +} +.datagrid-sort-icon { + padding: 0; + display: none; +} +.datagrid-toolbar { + height: auto; + padding: 1px 2px; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ddd; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.datagrid .datagrid-pager { + display: block; + margin: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.datagrid .datagrid-pager-top { + border-width: 0 0 1px 0; +} +.datagrid-header { + overflow: hidden; + cursor: default; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-header-inner { + float: left; + width: 10000px; +} +.datagrid-header-row, +.datagrid-row { + height: 25px; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-width: 0 1px 1px 0; + border-style: dotted; + margin: 0; + padding: 0; +} +.datagrid-cell, +.datagrid-cell-group, +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + margin: 0; + padding: 0 4px; + white-space: nowrap; + word-wrap: normal; + overflow: hidden; + height: 18px; + line-height: 18px; + font-size: 12px; +} +.datagrid-header .datagrid-cell { + height: auto; +} +.datagrid-header .datagrid-cell span { + font-size: 12px; +} +.datagrid-cell-group { + text-align: center; + text-overflow: ellipsis; +} +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + width: 30px; + text-align: center; + margin: 0; + padding: 0; +} +.datagrid-body { + margin: 0; + padding: 0; + overflow: auto; + zoom: 1; +} +.datagrid-view1 .datagrid-body-inner { + padding-bottom: 20px; +} +.datagrid-view1 .datagrid-body { + overflow: hidden; +} +.datagrid-footer { + overflow: hidden; +} +.datagrid-footer-inner { + border-width: 1px 0 0 0; + border-style: solid; + width: 10000px; + float: left; +} +.datagrid-row-editing .datagrid-cell { + height: auto; +} +.datagrid-header-check, +.datagrid-cell-check { + padding: 0; + width: 27px; + height: 18px; + font-size: 1px; + text-align: center; + overflow: hidden; +} +.datagrid-header-check input, +.datagrid-cell-check input { + margin: 0; + padding: 0; + width: 15px; + height: 18px; +} +.datagrid-resize-proxy { + position: absolute; + width: 1px; + height: 10000px; + top: 0; + cursor: e-resize; + display: none; +} +.datagrid-body .datagrid-editable { + margin: 0; + padding: 0; +} +.datagrid-body .datagrid-editable table { + width: 100%; + height: 100%; +} +.datagrid-body .datagrid-editable td { + border: 0; + margin: 0; + padding: 0; +} +.datagrid-view .datagrid-editable-input { + margin: 0; + padding: 2px 4px; + border: 1px solid #ddd; + font-size: 12px; + outline-style: none; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-view .validatebox-invalid { + border-color: #ffa8a8; +} +.datagrid-sort .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -64px center; +} +.datagrid-sort-desc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -16px center; +} +.datagrid-sort-asc .datagrid-sort-icon { + display: inline; + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat 0px center; +} +.datagrid-row-collapse { + background: url('images/datagrid_icons.png') no-repeat -48px center; +} +.datagrid-row-expand { + background: url('images/datagrid_icons.png') no-repeat -32px center; +} +.datagrid-mask-msg { + background: #fff url('images/loading.gif') no-repeat scroll 5px center; +} +.datagrid-header, +.datagrid-td-rownumber { + background-color: #ffffff; +} +.datagrid-cell-rownumber { + color: #444; +} +.datagrid-resize-proxy { + background: #b3b3b3; +} +.datagrid-mask { + background: #eee; +} +.datagrid-mask-msg { + border-color: #ddd; +} +.datagrid-toolbar, +.datagrid-pager { + background: #fff; +} +.datagrid-header, +.datagrid-toolbar, +.datagrid-pager, +.datagrid-footer-inner { + border-color: #ddd; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-color: #ddd; +} +.datagrid-htable, +.datagrid-btable, +.datagrid-ftable { + color: #444; + border-collapse: separate; +} +.datagrid-row-alt { + background: #f5f5f5; +} +.datagrid-row-over, +.datagrid-header td.datagrid-header-over { + background: #E6E6E6; + color: #444; + cursor: default; +} +.datagrid-row-selected { + background: #CCE6FF; + color: #000; +} +.datagrid-row-editing .textbox, +.datagrid-row-editing .textbox-text { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.propertygrid .datagrid-view1 .datagrid-body td { + padding-bottom: 1px; + border-width: 0 1px 0 0; +} +.propertygrid .datagrid-group { + height: 21px; + overflow: hidden; + border-width: 0 0 1px 0; + border-style: solid; +} +.propertygrid .datagrid-group span { + font-weight: bold; +} +.propertygrid .datagrid-view1 .datagrid-body td { + border-color: #ddd; +} +.propertygrid .datagrid-view1 .datagrid-group { + border-color: #ffffff; +} +.propertygrid .datagrid-view2 .datagrid-group { + border-color: #ddd; +} +.propertygrid .datagrid-group, +.propertygrid .datagrid-view1 .datagrid-body, +.propertygrid .datagrid-view1 .datagrid-row-over, +.propertygrid .datagrid-view1 .datagrid-row-selected { + background: #ffffff; +} +.datalist .datagrid-header { + border-width: 0; +} +.datalist .datagrid-group, +.m-list .m-list-group { + height: 25px; + line-height: 25px; + font-weight: bold; + overflow: hidden; + background-color: #ffffff; + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ddd; +} +.datalist .datagrid-group-expander { + display: none; +} +.datalist .datagrid-group-title { + padding: 0 4px; +} +.datalist .datagrid-btable { + width: 100%; + table-layout: fixed; +} +.datalist .datagrid-row td { + border-style: solid; + border-left-color: transparent; + border-right-color: transparent; + border-bottom-width: 0; +} +.datalist-lines .datagrid-row td { + border-bottom-width: 1px; +} +.datalist .datagrid-cell, +.m-list li { + width: auto; + height: auto; + padding: 2px 4px; + line-height: 18px; + position: relative; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link, +.m-list li>a { + display: block; + position: relative; + cursor: pointer; + color: #444; + text-decoration: none; + overflow: hidden; + margin: -2px -4px; + padding: 2px 4px; + padding-right: 16px; + line-height: 18px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.datalist-link::after, +.m-list li>a::after { + position: absolute; + display: block; + width: 8px; + height: 8px; + content: ''; + right: 6px; + top: 50%; + margin-top: -4px; + border-style: solid; + border-width: 1px 1px 0 0; + -ms-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -webkit-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); +} +.m-list { + margin: 0; + padding: 0; + list-style: none; +} +.m-list li { + border-style: solid; + border-width: 0 0 1px 0; + border-color: #ddd; +} +.m-list li>a:hover { + background: #E6E6E6; + color: #444; +} +.m-list .m-list-group { + padding: 0 4px; +} +.pagination { + zoom: 1; +} +.pagination table { + float: left; + height: 30px; +} +.pagination td { + border: 0; +} +.pagination-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ddd; + border-right: 1px solid #fff; + margin: 3px 1px; +} +.pagination .pagination-num { + border-width: 1px; + border-style: solid; + margin: 0 2px; + padding: 2px; + width: 2em; + height: auto; +} +.pagination-page-list { + margin: 0px 6px; + padding: 1px 2px; + width: auto; + height: auto; + border-width: 1px; + border-style: solid; +} +.pagination-info { + float: right; + margin: 0 6px; + padding: 0; + height: 30px; + line-height: 30px; + font-size: 12px; +} +.pagination span { + font-size: 12px; +} +.pagination-link .l-btn-text { + width: 24px; + text-align: center; + margin: 0; +} +.pagination-first { + background: url('images/pagination_icons.png') no-repeat 0 center; +} +.pagination-prev { + background: url('images/pagination_icons.png') no-repeat -16px center; +} +.pagination-next { + background: url('images/pagination_icons.png') no-repeat -32px center; +} +.pagination-last { + background: url('images/pagination_icons.png') no-repeat -48px center; +} +.pagination-load { + background: url('images/pagination_icons.png') no-repeat -64px center; +} +.pagination-loading { + background: url('images/loading.gif') no-repeat center center; +} +.pagination-page-list, +.pagination .pagination-num { + border-color: #ddd; +} +.calendar { + border-width: 1px; + border-style: solid; + padding: 1px; + overflow: hidden; +} +.calendar table { + table-layout: fixed; + border-collapse: separate; + font-size: 12px; + width: 100%; + height: 100%; +} +.calendar table td, +.calendar table th { + font-size: 12px; +} +.calendar-noborder { + border: 0; +} +.calendar-header { + position: relative; + height: 22px; +} +.calendar-title { + text-align: center; + height: 22px; +} +.calendar-title span { + position: relative; + display: inline-block; + top: 2px; + padding: 0 3px; + height: 18px; + line-height: 18px; + font-size: 12px; + cursor: pointer; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.calendar-prevmonth, +.calendar-nextmonth, +.calendar-prevyear, +.calendar-nextyear { + position: absolute; + top: 50%; + margin-top: -7px; + width: 14px; + height: 14px; + cursor: pointer; + font-size: 1px; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.calendar-prevmonth { + left: 20px; + background: url('images/calendar_arrows.png') no-repeat -18px -2px; +} +.calendar-nextmonth { + right: 20px; + background: url('images/calendar_arrows.png') no-repeat -34px -2px; +} +.calendar-prevyear { + left: 3px; + background: url('images/calendar_arrows.png') no-repeat -1px -2px; +} +.calendar-nextyear { + right: 3px; + background: url('images/calendar_arrows.png') no-repeat -49px -2px; +} +.calendar-body { + position: relative; +} +.calendar-body th, +.calendar-body td { + text-align: center; +} +.calendar-day { + border: 0; + padding: 1px; + cursor: pointer; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.calendar-other-month { + opacity: 0.3; + filter: alpha(opacity=30); +} +.calendar-disabled { + opacity: 0.6; + filter: alpha(opacity=60); + cursor: default; +} +.calendar-menu { + position: absolute; + top: 0; + left: 0; + width: 180px; + height: 150px; + padding: 5px; + font-size: 12px; + display: none; + overflow: hidden; +} +.calendar-menu-year-inner { + text-align: center; + padding-bottom: 5px; +} +.calendar-menu-year { + width: 50px; + text-align: center; + border-width: 1px; + border-style: solid; + outline-style: none; + resize: none; + margin: 0; + padding: 2px; + font-weight: bold; + font-size: 12px; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.calendar-menu-prev, +.calendar-menu-next { + display: inline-block; + width: 21px; + height: 21px; + vertical-align: top; + cursor: pointer; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.calendar-menu-prev { + margin-right: 10px; + background: url('images/calendar_arrows.png') no-repeat 2px 2px; +} +.calendar-menu-next { + margin-left: 10px; + background: url('images/calendar_arrows.png') no-repeat -45px 2px; +} +.calendar-menu-month { + text-align: center; + cursor: pointer; + font-weight: bold; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.calendar-body th, +.calendar-menu-month { + color: #919191; +} +.calendar-day { + color: #444; +} +.calendar-sunday { + color: #CC2222; +} +.calendar-saturday { + color: #00ee00; +} +.calendar-today { + color: #0000ff; +} +.calendar-menu-year { + border-color: #ddd; +} +.calendar { + border-color: #ddd; +} +.calendar-header { + background: #ffffff; +} +.calendar-body, +.calendar-menu { + background: #fff; +} +.calendar-body th { + background: #fff; + padding: 2px 0; +} +.calendar-hover, +.calendar-nav-hover, +.calendar-menu-hover { + background-color: #E6E6E6; + color: #444; +} +.calendar-hover { + border: 1px solid #ddd; + padding: 0; +} +.calendar-selected { + background-color: #CCE6FF; + color: #000; + border: 1px solid #99cdff; + padding: 0; +} +.datebox-calendar-inner { + height: 180px; +} +.datebox-button { + padding: 0 5px; + text-align: center; +} +.datebox-button a { + line-height: 22px; + font-size: 12px; + font-weight: bold; + text-decoration: none; + opacity: 0.6; + filter: alpha(opacity=60); +} +.datebox-button a:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.datebox-current, +.datebox-close { + float: left; +} +.datebox-close { + float: right; +} +.datebox .combo-arrow { + background-image: url('images/datebox_arrow.png'); + background-position: center center; +} +.datebox-button { + background-color: #fff; +} +.datebox-button a { + color: #777; +} +.spinner-arrow { + background-color: #ffffff; + display: inline-block; + overflow: hidden; + vertical-align: top; + margin: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + width: 18px; +} +.spinner-arrow-up, +.spinner-arrow-down { + opacity: 0.6; + filter: alpha(opacity=60); + display: block; + font-size: 1px; + width: 18px; + height: 10px; + width: 100%; + height: 50%; + color: #777; + outline-style: none; +} +.spinner-arrow-hover { + background-color: #E6E6E6; + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-arrow-up:hover, +.spinner-arrow-down:hover { + opacity: 1.0; + filter: alpha(opacity=100); + background-color: #E6E6E6; +} +.textbox-icon-disabled .spinner-arrow-up:hover, +.textbox-icon-disabled .spinner-arrow-down:hover { + opacity: 0.6; + filter: alpha(opacity=60); + background-color: #ffffff; + cursor: default; +} +.spinner .textbox-icon-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-arrow-up { + background: url('images/spinner_arrows.png') no-repeat 1px center; +} +.spinner-arrow-down { + background: url('images/spinner_arrows.png') no-repeat -15px center; +} +.spinner-button-up { + background: url('images/spinner_arrows.png') no-repeat -32px center; +} +.spinner-button-down { + background: url('images/spinner_arrows.png') no-repeat -48px center; +} +.progressbar { + border-width: 1px; + border-style: solid; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; + overflow: hidden; + position: relative; +} +.progressbar-text { + text-align: center; + position: absolute; +} +.progressbar-value { + position: relative; + overflow: hidden; + width: 0; + -moz-border-radius: 0px 0 0 0px; + -webkit-border-radius: 0px 0 0 0px; + border-radius: 0px 0 0 0px; +} +.progressbar { + border-color: #ddd; +} +.progressbar-text { + color: #444; + font-size: 12px; +} +.progressbar-value .progressbar-text { + background-color: #CCE6FF; + color: #000; +} +.searchbox-button { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.searchbox-button-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.searchbox .l-btn-plain { + border: 0; + padding: 0; + vertical-align: top; + opacity: 0.6; + filter: alpha(opacity=60); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .l-btn-plain:hover { + border: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox a.m-btn-plain-active { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .m-btn-active { + border-width: 0 1px 0 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .textbox-button-right { + border-width: 0 0 0 1px; +} +.searchbox .textbox-button-left { + border-width: 0 1px 0 0; +} +.searchbox-button { + background: url('images/searchbox_button.png') no-repeat center center; +} +.searchbox .l-btn-plain { + background: #ffffff; +} +.searchbox .l-btn-plain-disabled, +.searchbox .l-btn-plain-disabled:hover { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-h { + height: 22px; +} +.slider-v { + width: 22px; +} +.slider-inner { + position: relative; + height: 6px; + top: 7px; + border-width: 1px; + border-style: solid; + border-radius: 0px; +} +.slider-handle { + position: absolute; + display: block; + outline: none; + width: 20px; + height: 20px; + top: 50%; + margin-top: -10px; + margin-left: -10px; +} +.slider-tip { + position: absolute; + display: inline-block; + line-height: 12px; + font-size: 12px; + white-space: nowrap; + top: -22px; +} +.slider-rule { + position: relative; + top: 15px; +} +.slider-rule span { + position: absolute; + display: inline-block; + font-size: 0; + height: 5px; + border-width: 0 0 0 1px; + border-style: solid; +} +.slider-rulelabel { + position: relative; + top: 20px; +} +.slider-rulelabel span { + position: absolute; + display: inline-block; + font-size: 12px; +} +.slider-v .slider-inner { + width: 6px; + left: 7px; + top: 0; + float: left; +} +.slider-v .slider-handle { + left: 50%; + margin-top: -10px; +} +.slider-v .slider-tip { + left: -10px; + margin-top: -6px; +} +.slider-v .slider-rule { + float: left; + top: 0; + left: 16px; +} +.slider-v .slider-rule span { + width: 5px; + height: 'auto'; + border-left: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.slider-v .slider-rulelabel { + float: left; + top: 0; + left: 23px; +} +.slider-handle { + background: url('images/slider_handle.png') no-repeat; +} +.slider-inner { + border-color: #ddd; + background: #ffffff; +} +.slider-rule span { + border-color: #ddd; +} +.slider-rulelabel span { + color: #444; +} +.menu { + position: absolute; + margin: 0; + padding: 2px; + border-width: 1px; + border-style: solid; + overflow: hidden; +} +.menu-inline { + position: relative; +} +.menu-item { + position: relative; + margin: 0; + padding: 0; + overflow: hidden; + white-space: nowrap; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.menu-text { + height: 20px; + line-height: 20px; + float: left; + padding-left: 28px; +} +.menu-icon { + position: absolute; + width: 16px; + height: 16px; + left: 2px; + top: 50%; + margin-top: -8px; +} +.menu-rightarrow { + position: absolute; + width: 16px; + height: 16px; + right: 0; + top: 50%; + margin-top: -8px; +} +.menu-line { + position: absolute; + left: 26px; + top: 0; + height: 2000px; + font-size: 1px; +} +.menu-sep { + margin: 3px 0px 3px 25px; + font-size: 1px; +} +.menu-noline .menu-line { + display: none; +} +.menu-noline .menu-sep { + margin-left: 0; + margin-right: 0; +} +.menu-active { + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.menu-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); + cursor: default; +} +.menu-text, +.menu-text span { + font-size: 12px; +} +.menu-shadow { + position: absolute; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; + background: #eee; + -moz-box-shadow: 2px 2px 3px #ededed; + -webkit-box-shadow: 2px 2px 3px #ededed; + box-shadow: 2px 2px 3px #ededed; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.menu-rightarrow { + background: url('images/menu_arrows.png') no-repeat -32px center; +} +.menu-line { + border-left: 1px solid #ddd; + border-right: 1px solid #fff; +} +.menu-sep { + border-top: 1px solid #ddd; + border-bottom: 1px solid #fff; +} +.menu { + background-color: #ffffff; + border-color: #ddd; + color: #444; +} +.menu-content { + background: #fff; +} +.menu-item { + border-color: transparent; + _border-color: #ffffff; +} +.menu-active { + border-color: #ddd; + color: #444; + background: #E6E6E6; +} +.menu-active-disabled { + border-color: transparent; + background: transparent; + color: #444; +} +.m-btn-downarrow, +.s-btn-downarrow { + display: inline-block; + position: absolute; + width: 16px; + height: 16px; + font-size: 1px; + right: 0; + top: 50%; + margin-top: -8px; +} +.m-btn-active, +.s-btn-active { + background: #E6E6E6; + color: #444; + border: 1px solid #ddd; + filter: none; +} +.m-btn-plain-active, +.s-btn-plain-active { + background: transparent; + padding: 0; + border-width: 1px; + border-style: solid; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.m-btn .l-btn-left .l-btn-text { + margin-right: 20px; +} +.m-btn .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.m-btn .l-btn-icon-right .l-btn-icon { + right: 20px; +} +.m-btn .l-btn-icon-top .l-btn-text { + margin-right: 4px; + margin-bottom: 14px; +} +.m-btn .l-btn-icon-bottom .l-btn-text { + margin-right: 4px; + margin-bottom: 34px; +} +.m-btn .l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 20px; +} +.m-btn .l-btn-icon-top .m-btn-downarrow, +.m-btn .l-btn-icon-bottom .m-btn-downarrow { + top: auto; + bottom: 0px; + left: 50%; + margin-left: -8px; +} +.m-btn-line { + display: inline-block; + position: absolute; + font-size: 1px; + display: none; +} +.m-btn .l-btn-left .m-btn-line { + right: 0; + width: 16px; + height: 500px; + border-style: solid; + border-color: #b3b3b3; + border-width: 0 0 0 1px; +} +.m-btn .l-btn-icon-top .m-btn-line, +.m-btn .l-btn-icon-bottom .m-btn-line { + left: 0; + bottom: 0; + width: 500px; + height: 16px; + border-width: 1px 0 0 0; +} +.m-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 56px; +} +.m-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 50px; +} +.m-btn-downarrow, +.s-btn-downarrow { + background: url('images/menu_arrows.png') no-repeat 0 center; +} +.m-btn-plain-active, +.s-btn-plain-active { + border-color: #ddd; + background-color: #E6E6E6; + color: #444; +} +.s-btn:hover .m-btn-line, +.s-btn-active .m-btn-line, +.s-btn-plain-active .m-btn-line { + display: inline-block; +} +.l-btn:hover .s-btn-downarrow, +.s-btn-active .s-btn-downarrow, +.s-btn-plain-active .s-btn-downarrow { + border-style: solid; + border-color: #b3b3b3; + border-width: 0 0 0 1px; +} +.messager-body { + padding: 10px 10px 30px 10px; + overflow: auto; +} +.messager-button { + text-align: center; + padding: 5px; +} +.messager-button .l-btn { + width: 70px; +} +.messager-icon { + float: left; + width: 32px; + height: 32px; + margin: 0 10px 10px 0; +} +.messager-error { + background: url('images/messager_icons.png') no-repeat scroll -64px 0; +} +.messager-info { + background: url('images/messager_icons.png') no-repeat scroll 0 0; +} +.messager-question { + background: url('images/messager_icons.png') no-repeat scroll -32px 0; +} +.messager-warning { + background: url('images/messager_icons.png') no-repeat scroll -96px 0; +} +.messager-progress { + padding: 10px; +} +.messager-p-msg { + margin-bottom: 5px; +} +.messager-body .messager-input { + width: 100%; + padding: 4px 0; + outline-style: none; + border: 1px solid #ddd; +} +.window-thinborder .messager-button { + padding-bottom: 8px; +} +.tree { + margin: 0; + padding: 0; + list-style-type: none; +} +.tree li { + white-space: nowrap; +} +.tree li ul { + list-style-type: none; + margin: 0; + padding: 0; +} +.tree-node { + height: 18px; + white-space: nowrap; + cursor: pointer; +} +.tree-hit { + cursor: pointer; +} +.tree-expanded, +.tree-collapsed, +.tree-folder, +.tree-file, +.tree-checkbox, +.tree-indent { + display: inline-block; + width: 16px; + height: 18px; + vertical-align: top; + overflow: hidden; +} +.tree-expanded { + background: url('images/tree_icons.png') no-repeat -18px 0px; +} +.tree-expanded-hover { + background: url('images/tree_icons.png') no-repeat -50px 0px; +} +.tree-collapsed { + background: url('images/tree_icons.png') no-repeat 0px 0px; +} +.tree-collapsed-hover { + background: url('images/tree_icons.png') no-repeat -32px 0px; +} +.tree-lines .tree-expanded, +.tree-lines .tree-root-first .tree-expanded { + background: url('images/tree_icons.png') no-repeat -144px 0; +} +.tree-lines .tree-collapsed, +.tree-lines .tree-root-first .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -128px 0; +} +.tree-lines .tree-node-last .tree-expanded, +.tree-lines .tree-root-one .tree-expanded { + background: url('images/tree_icons.png') no-repeat -80px 0; +} +.tree-lines .tree-node-last .tree-collapsed, +.tree-lines .tree-root-one .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -64px 0; +} +.tree-line { + background: url('images/tree_icons.png') no-repeat -176px 0; +} +.tree-join { + background: url('images/tree_icons.png') no-repeat -192px 0; +} +.tree-joinbottom { + background: url('images/tree_icons.png') no-repeat -160px 0; +} +.tree-folder { + background: url('images/tree_icons.png') no-repeat -208px 0; +} +.tree-folder-open { + background: url('images/tree_icons.png') no-repeat -224px 0; +} +.tree-file { + background: url('images/tree_icons.png') no-repeat -240px 0; +} +.tree-loading { + background: url('images/loading.gif') no-repeat center center; +} +.tree-checkbox0 { + background: url('images/tree_icons.png') no-repeat -208px -18px; +} +.tree-checkbox1 { + background: url('images/tree_icons.png') no-repeat -224px -18px; +} +.tree-checkbox2 { + background: url('images/tree_icons.png') no-repeat -240px -18px; +} +.tree-title { + font-size: 12px; + display: inline-block; + text-decoration: none; + vertical-align: top; + white-space: nowrap; + padding: 0 2px; + height: 18px; + line-height: 18px; +} +.tree-node-proxy { + font-size: 12px; + line-height: 20px; + padding: 0 2px 0 20px; + border-width: 1px; + border-style: solid; + z-index: 9900000; +} +.tree-dnd-icon { + display: inline-block; + position: absolute; + width: 16px; + height: 18px; + left: 2px; + top: 50%; + margin-top: -9px; +} +.tree-dnd-yes { + background: url('images/tree_icons.png') no-repeat -256px 0; +} +.tree-dnd-no { + background: url('images/tree_icons.png') no-repeat -256px -18px; +} +.tree-node-top { + border-top: 1px dotted red; +} +.tree-node-bottom { + border-bottom: 1px dotted red; +} +.tree-node-append .tree-title { + border: 1px dotted red; +} +.tree-editor { + border: 1px solid #ddd; + font-size: 12px; + line-height: 16px; + padding: 0 4px; + margin: 0; + width: 80px; + outline-style: none; + vertical-align: top; + position: absolute; + top: 0; +} +.tree-node-proxy { + background-color: #fff; + color: #444; + border-color: #ddd; +} +.tree-node-hover { + background: #E6E6E6; + color: #444; +} +.tree-node-selected { + background: #CCE6FF; + color: #000; +} +.tree-node-hidden { + display: none; +} +.validatebox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; + color: #000; +} +.tooltip { + position: absolute; + display: none; + z-index: 9900000; + outline: none; + opacity: 1; + filter: alpha(opacity=100); + padding: 5px; + border-width: 1px; + border-style: solid; + border-radius: 5px; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.tooltip-content { + font-size: 12px; +} +.tooltip-arrow-outer, +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + line-height: 0; + font-size: 0; + border-style: solid; + border-width: 6px; + border-color: transparent; + _border-color: tomato; + _filter: chroma(color=tomato); +} +.tooltip-arrow { + display: none \9; +} +.tooltip-right .tooltip-arrow-outer { + left: 0; + top: 50%; + margin: -6px 0 0 -13px; +} +.tooltip-right .tooltip-arrow { + left: 0; + top: 50%; + margin: -6px 0 0 -12px; +} +.tooltip-left .tooltip-arrow-outer { + right: 0; + top: 50%; + margin: -6px -13px 0 0; +} +.tooltip-left .tooltip-arrow { + right: 0; + top: 50%; + margin: -6px -12px 0 0; +} +.tooltip-top .tooltip-arrow-outer { + bottom: 0; + left: 50%; + margin: 0 0 -13px -6px; +} +.tooltip-top .tooltip-arrow { + bottom: 0; + left: 50%; + margin: 0 0 -12px -6px; +} +.tooltip-bottom .tooltip-arrow-outer { + top: 0; + left: 50%; + margin: -13px 0 0 -6px; +} +.tooltip-bottom .tooltip-arrow { + top: 0; + left: 50%; + margin: -12px 0 0 -6px; +} +.tooltip { + background-color: #fff; + border-color: #ddd; + color: #444; +} +.tooltip-right .tooltip-arrow-outer { + border-right-color: #ddd; +} +.tooltip-right .tooltip-arrow { + border-right-color: #fff; +} +.tooltip-left .tooltip-arrow-outer { + border-left-color: #ddd; +} +.tooltip-left .tooltip-arrow { + border-left-color: #fff; +} +.tooltip-top .tooltip-arrow-outer { + border-top-color: #ddd; +} +.tooltip-top .tooltip-arrow { + border-top-color: #fff; +} +.tooltip-bottom .tooltip-arrow-outer { + border-bottom-color: #ddd; +} +.tooltip-bottom .tooltip-arrow { + border-bottom-color: #fff; +} +.switchbutton { + text-decoration: none; + display: inline-block; + overflow: hidden; + vertical-align: middle; + margin: 0; + padding: 0; + cursor: pointer; + background: #dddddd; + border: 1px solid #dddddd; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.switchbutton-inner { + display: inline-block; + overflow: hidden; + position: relative; + top: -1px; + left: -1px; +} +.switchbutton-on, +.switchbutton-off, +.switchbutton-handle { + display: inline-block; + text-align: center; + height: 100%; + float: left; + font-size: 12px; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.switchbutton-on { + background: #CCE6FF; + color: #000; +} +.switchbutton-off { + background-color: #fff; + color: #444; +} +.switchbutton-on, +.switchbutton-reversed .switchbutton-off { + -moz-border-radius: 0px 0 0 0px; + -webkit-border-radius: 0px 0 0 0px; + border-radius: 0px 0 0 0px; +} +.switchbutton-off, +.switchbutton-reversed .switchbutton-on { + -moz-border-radius: 0 0px 0px 0; + -webkit-border-radius: 0 0px 0px 0; + border-radius: 0 0px 0px 0; +} +.switchbutton-handle { + position: absolute; + top: 0; + left: 50%; + background-color: #fff; + color: #444; + border: 1px solid #dddddd; + -moz-box-shadow: 0 0 3px 0 #dddddd; + -webkit-box-shadow: 0 0 3px 0 #dddddd; + box-shadow: 0 0 3px 0 #dddddd; +} +.switchbutton-value { + position: absolute; + top: 0; + left: -5000px; +} +.switchbutton-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.switchbutton-disabled, +.switchbutton-readonly { + cursor: default; +} diff --git a/src/main/webapp/css/themes/metro/filebox.css b/src/main/webapp/css/themes/metro/filebox.css new file mode 100644 index 0000000..c6bac66 --- /dev/null +++ b/src/main/webapp/css/themes/metro/filebox.css @@ -0,0 +1,20 @@ +.filebox .textbox-value { + vertical-align: top; + position: absolute; + top: 0; + left: -5000px; +} +.filebox-label { + display: inline-block; + position: absolute; + width: 100%; + height: 100%; + cursor: pointer; + left: 0; + top: 0; + z-index: 10; + background: url('images/blank.gif') no-repeat; +} +.l-btn-disabled .filebox-label { + cursor: default; +} diff --git a/src/main/webapp/css/themes/metro/images/accordion_arrows.png b/src/main/webapp/css/themes/metro/images/accordion_arrows.png new file mode 100644 index 0000000..720835f Binary files /dev/null and b/src/main/webapp/css/themes/metro/images/accordion_arrows.png differ diff --git a/src/main/webapp/css/themes/metro/images/blank.gif b/src/main/webapp/css/themes/metro/images/blank.gif new file mode 100644 index 0000000..1d11fa9 Binary files /dev/null and b/src/main/webapp/css/themes/metro/images/blank.gif differ diff --git a/src/main/webapp/css/themes/metro/images/calendar_arrows.png b/src/main/webapp/css/themes/metro/images/calendar_arrows.png new file mode 100644 index 0000000..430c4ad Binary files /dev/null and b/src/main/webapp/css/themes/metro/images/calendar_arrows.png differ diff --git a/src/main/webapp/css/themes/metro/images/combo_arrow.png b/src/main/webapp/css/themes/metro/images/combo_arrow.png new file mode 100644 index 0000000..2e59fb9 Binary files /dev/null and b/src/main/webapp/css/themes/metro/images/combo_arrow.png differ diff --git a/src/main/webapp/css/themes/metro/images/datagrid_icons.png b/src/main/webapp/css/themes/metro/images/datagrid_icons.png new file mode 100644 index 0000000..762d0ce Binary files /dev/null and b/src/main/webapp/css/themes/metro/images/datagrid_icons.png differ diff --git a/src/main/webapp/css/themes/metro/images/datebox_arrow.png b/src/main/webapp/css/themes/metro/images/datebox_arrow.png new file mode 100644 index 0000000..783c833 Binary files /dev/null and b/src/main/webapp/css/themes/metro/images/datebox_arrow.png differ diff --git a/src/main/webapp/css/themes/metro/images/layout_arrows.png b/src/main/webapp/css/themes/metro/images/layout_arrows.png new file mode 100644 index 0000000..6f41654 Binary files /dev/null and b/src/main/webapp/css/themes/metro/images/layout_arrows.png differ diff --git a/src/main/webapp/css/themes/metro/images/linkbutton_bg.png b/src/main/webapp/css/themes/metro/images/linkbutton_bg.png new file mode 100644 index 0000000..fc66bd2 Binary files /dev/null and b/src/main/webapp/css/themes/metro/images/linkbutton_bg.png differ diff --git a/src/main/webapp/css/themes/metro/images/loading.gif b/src/main/webapp/css/themes/metro/images/loading.gif new file mode 100644 index 0000000..68f01d0 Binary files /dev/null and b/src/main/webapp/css/themes/metro/images/loading.gif differ diff --git a/src/main/webapp/css/themes/metro/images/menu_arrows.png b/src/main/webapp/css/themes/metro/images/menu_arrows.png new file mode 100644 index 0000000..b986842 Binary files /dev/null and b/src/main/webapp/css/themes/metro/images/menu_arrows.png differ diff --git a/src/main/webapp/css/themes/metro/images/messager_icons.png b/src/main/webapp/css/themes/metro/images/messager_icons.png new file mode 100644 index 0000000..62c18c1 Binary files /dev/null and b/src/main/webapp/css/themes/metro/images/messager_icons.png differ diff --git a/src/main/webapp/css/themes/metro/images/pagination_icons.png b/src/main/webapp/css/themes/metro/images/pagination_icons.png new file mode 100644 index 0000000..616f0bd Binary files /dev/null and b/src/main/webapp/css/themes/metro/images/pagination_icons.png differ diff --git a/src/main/webapp/css/themes/metro/images/panel_tools.png b/src/main/webapp/css/themes/metro/images/panel_tools.png new file mode 100644 index 0000000..fe682ef Binary files /dev/null and b/src/main/webapp/css/themes/metro/images/panel_tools.png differ diff --git a/src/main/webapp/css/themes/metro/images/passwordbox_close.png b/src/main/webapp/css/themes/metro/images/passwordbox_close.png new file mode 100644 index 0000000..643c09d Binary files /dev/null and b/src/main/webapp/css/themes/metro/images/passwordbox_close.png differ diff --git a/src/main/webapp/css/themes/metro/images/passwordbox_open.png b/src/main/webapp/css/themes/metro/images/passwordbox_open.png new file mode 100644 index 0000000..d328891 Binary files /dev/null and b/src/main/webapp/css/themes/metro/images/passwordbox_open.png differ diff --git a/src/main/webapp/css/themes/metro/images/searchbox_button.png b/src/main/webapp/css/themes/metro/images/searchbox_button.png new file mode 100644 index 0000000..6dd1931 Binary files /dev/null and b/src/main/webapp/css/themes/metro/images/searchbox_button.png differ diff --git a/src/main/webapp/css/themes/metro/images/slider_handle.png b/src/main/webapp/css/themes/metro/images/slider_handle.png new file mode 100644 index 0000000..b9802ba Binary files /dev/null and b/src/main/webapp/css/themes/metro/images/slider_handle.png differ diff --git a/src/main/webapp/css/themes/metro/images/spinner_arrows.png b/src/main/webapp/css/themes/metro/images/spinner_arrows.png new file mode 100644 index 0000000..7c2df48 Binary files /dev/null and b/src/main/webapp/css/themes/metro/images/spinner_arrows.png differ diff --git a/src/main/webapp/css/themes/metro/images/tabs_icons.png b/src/main/webapp/css/themes/metro/images/tabs_icons.png new file mode 100644 index 0000000..4d29966 Binary files /dev/null and b/src/main/webapp/css/themes/metro/images/tabs_icons.png differ diff --git a/src/main/webapp/css/themes/metro/images/tagbox_icons.png b/src/main/webapp/css/themes/metro/images/tagbox_icons.png new file mode 100644 index 0000000..bd02e2d Binary files /dev/null and b/src/main/webapp/css/themes/metro/images/tagbox_icons.png differ diff --git a/src/main/webapp/css/themes/metro/images/tree_icons.png b/src/main/webapp/css/themes/metro/images/tree_icons.png new file mode 100644 index 0000000..e9be4f3 Binary files /dev/null and b/src/main/webapp/css/themes/metro/images/tree_icons.png differ diff --git a/src/main/webapp/css/themes/metro/images/validatebox_warning.png b/src/main/webapp/css/themes/metro/images/validatebox_warning.png new file mode 100644 index 0000000..2b3d4f0 Binary files /dev/null and b/src/main/webapp/css/themes/metro/images/validatebox_warning.png differ diff --git a/src/main/webapp/css/themes/metro/layout.css b/src/main/webapp/css/themes/metro/layout.css new file mode 100644 index 0000000..53ba16b --- /dev/null +++ b/src/main/webapp/css/themes/metro/layout.css @@ -0,0 +1,150 @@ +.layout { + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + z-index: 0; +} +.layout-panel { + position: absolute; + overflow: hidden; +} +.layout-body { + min-width: 1px; + min-height: 1px; +} +.layout-panel-east, +.layout-panel-west { + z-index: 2; +} +.layout-panel-north, +.layout-panel-south { + z-index: 3; +} +.layout-expand { + position: absolute; + padding: 0px; + font-size: 1px; + cursor: pointer; + z-index: 1; +} +.layout-expand .panel-header, +.layout-expand .panel-body { + background: transparent; + filter: none; + overflow: hidden; +} +.layout-expand .panel-header { + border-bottom-width: 0px; +} +.layout-expand .panel-body { + position: relative; +} +.layout-expand .panel-body .panel-icon { + margin-top: 0; + top: 0; + left: 50%; + margin-left: -8px; +} +.layout-expand-west .panel-header .panel-icon, +.layout-expand-east .panel-header .panel-icon { + display: none; +} +.layout-expand-title { + position: absolute; + top: 0; + left: 21px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.layout-expand-title-up { + position: absolute; + top: 0; + left: 0; + text-align: right; + padding-left: 5px; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 0; +} +.layout-expand-with-icon { + top: 18px; +} +.layout-expand .panel-body-noheader .layout-expand-title, +.layout-expand .panel-body-noheader .panel-icon { + top: 5px; +} +.layout-expand .panel-body-noheader .layout-expand-with-icon { + top: 23px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + position: absolute; + font-size: 1px; + display: none; + z-index: 5; +} +.layout-split-proxy-h { + width: 5px; + cursor: e-resize; +} +.layout-split-proxy-v { + height: 5px; + cursor: n-resize; +} +.layout-mask { + position: absolute; + background: #fafafa; + filter: alpha(opacity=10); + opacity: 0.10; + z-index: 4; +} +.layout-button-up { + background: url('images/layout_arrows.png') no-repeat -16px -16px; +} +.layout-button-down { + background: url('images/layout_arrows.png') no-repeat -16px 0; +} +.layout-button-left { + background: url('images/layout_arrows.png') no-repeat 0 0; +} +.layout-button-right { + background: url('images/layout_arrows.png') no-repeat 0 -16px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + background-color: #b3b3b3; +} +.layout-split-north { + border-bottom: 5px solid #fff; +} +.layout-split-south { + border-top: 5px solid #fff; +} +.layout-split-east { + border-left: 5px solid #fff; +} +.layout-split-west { + border-right: 5px solid #fff; +} +.layout-expand { + background-color: #ffffff; +} +.layout-expand-over { + background-color: #ffffff; +} diff --git a/src/main/webapp/css/themes/metro/linkbutton.css b/src/main/webapp/css/themes/metro/linkbutton.css new file mode 100644 index 0000000..b0c578f --- /dev/null +++ b/src/main/webapp/css/themes/metro/linkbutton.css @@ -0,0 +1,203 @@ +.l-btn { + text-decoration: none; + display: inline-block; + overflow: hidden; + margin: 0; + padding: 0; + cursor: pointer; + outline: none; + text-align: center; + vertical-align: middle; + line-height: normal; +} +.l-btn-plain { + border-width: 0; + padding: 1px; +} +.l-btn-left { + display: inline-block; + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + vertical-align: top; +} +.l-btn-text { + display: inline-block; + vertical-align: top; + width: auto; + line-height: 24px; + font-size: 12px; + padding: 0; + margin: 0 4px; +} +.l-btn-icon { + display: inline-block; + width: 16px; + height: 16px; + line-height: 16px; + position: absolute; + top: 50%; + margin-top: -8px; + font-size: 1px; +} +.l-btn span span .l-btn-empty { + display: inline-block; + margin: 0; + width: 16px; + height: 24px; + font-size: 1px; + vertical-align: top; +} +.l-btn span .l-btn-icon-left { + padding: 0 0 0 20px; + background-position: left center; +} +.l-btn span .l-btn-icon-right { + padding: 0 20px 0 0; + background-position: right center; +} +.l-btn-icon-left .l-btn-text { + margin: 0 4px 0 24px; +} +.l-btn-icon-left .l-btn-icon { + left: 4px; +} +.l-btn-icon-right .l-btn-text { + margin: 0 24px 0 4px; +} +.l-btn-icon-right .l-btn-icon { + right: 4px; +} +.l-btn-icon-top .l-btn-text { + margin: 20px 4px 0 4px; +} +.l-btn-icon-top .l-btn-icon { + top: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-icon-bottom .l-btn-text { + margin: 0 4px 20px 4px; +} +.l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-left .l-btn-empty { + margin: 0 4px; + width: 16px; +} +.l-btn-plain:hover { + padding: 0; +} +.l-btn-focus { + outline: #0000FF dotted thin; +} +.l-btn-large .l-btn-text { + line-height: 40px; +} +.l-btn-large .l-btn-icon { + width: 32px; + height: 32px; + line-height: 32px; + margin-top: -16px; +} +.l-btn-large .l-btn-icon-left .l-btn-text { + margin-left: 40px; +} +.l-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.l-btn-large .l-btn-icon-top .l-btn-text { + margin-top: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-top .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-left .l-btn-empty { + margin: 0 4px; + width: 32px; +} +.l-btn { + color: #777; + background: #ffffff; + background-repeat: repeat-x; + border: 1px solid #dddddd; + background: -webkit-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: -moz-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: -o-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: linear-gradient(to bottom,#ffffff 0,#ffffff 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=0); + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.l-btn:hover { + background: #E6E6E6; + color: #444; + border: 1px solid #ddd; + filter: none; +} +.l-btn-plain { + background: transparent; + border-width: 0; + filter: none; +} +.l-btn-outline { + border-width: 1px; + border-color: #ddd; + padding: 0; +} +.l-btn-plain:hover { + background: #E6E6E6; + color: #444; + border: 1px solid #ddd; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.l-btn-disabled, +.l-btn-disabled:hover { + opacity: 0.5; + cursor: default; + background: #ffffff; + color: #777; + background: -webkit-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: -moz-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: -o-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: linear-gradient(to bottom,#ffffff 0,#ffffff 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=0); +} +.l-btn-disabled .l-btn-text, +.l-btn-disabled .l-btn-icon { + filter: alpha(opacity=50); +} +.l-btn-plain-disabled, +.l-btn-plain-disabled:hover { + background: transparent; + filter: alpha(opacity=50); +} +.l-btn-selected, +.l-btn-selected:hover { + background: #ddd; + filter: none; +} +.l-btn-plain-selected, +.l-btn-plain-selected:hover { + background: #ddd; +} diff --git a/src/main/webapp/css/themes/metro/menu.css b/src/main/webapp/css/themes/metro/menu.css new file mode 100644 index 0000000..26933a6 --- /dev/null +++ b/src/main/webapp/css/themes/metro/menu.css @@ -0,0 +1,119 @@ +.menu { + position: absolute; + margin: 0; + padding: 2px; + border-width: 1px; + border-style: solid; + overflow: hidden; +} +.menu-inline { + position: relative; +} +.menu-item { + position: relative; + margin: 0; + padding: 0; + overflow: hidden; + white-space: nowrap; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.menu-text { + height: 20px; + line-height: 20px; + float: left; + padding-left: 28px; +} +.menu-icon { + position: absolute; + width: 16px; + height: 16px; + left: 2px; + top: 50%; + margin-top: -8px; +} +.menu-rightarrow { + position: absolute; + width: 16px; + height: 16px; + right: 0; + top: 50%; + margin-top: -8px; +} +.menu-line { + position: absolute; + left: 26px; + top: 0; + height: 2000px; + font-size: 1px; +} +.menu-sep { + margin: 3px 0px 3px 25px; + font-size: 1px; +} +.menu-noline .menu-line { + display: none; +} +.menu-noline .menu-sep { + margin-left: 0; + margin-right: 0; +} +.menu-active { + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.menu-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); + cursor: default; +} +.menu-text, +.menu-text span { + font-size: 12px; +} +.menu-shadow { + position: absolute; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; + background: #eee; + -moz-box-shadow: 2px 2px 3px #ededed; + -webkit-box-shadow: 2px 2px 3px #ededed; + box-shadow: 2px 2px 3px #ededed; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.menu-rightarrow { + background: url('images/menu_arrows.png') no-repeat -32px center; +} +.menu-line { + border-left: 1px solid #ddd; + border-right: 1px solid #fff; +} +.menu-sep { + border-top: 1px solid #ddd; + border-bottom: 1px solid #fff; +} +.menu { + background-color: #ffffff; + border-color: #ddd; + color: #444; +} +.menu-content { + background: #fff; +} +.menu-item { + border-color: transparent; + _border-color: #ffffff; +} +.menu-active { + border-color: #ddd; + color: #444; + background: #E6E6E6; +} +.menu-active-disabled { + border-color: transparent; + background: transparent; + color: #444; +} diff --git a/src/main/webapp/css/themes/metro/menubutton.css b/src/main/webapp/css/themes/metro/menubutton.css new file mode 100644 index 0000000..8ed294a --- /dev/null +++ b/src/main/webapp/css/themes/metro/menubutton.css @@ -0,0 +1,94 @@ +.m-btn-downarrow, +.s-btn-downarrow { + display: inline-block; + position: absolute; + width: 16px; + height: 16px; + font-size: 1px; + right: 0; + top: 50%; + margin-top: -8px; +} +.m-btn-active, +.s-btn-active { + background: #E6E6E6; + color: #444; + border: 1px solid #ddd; + filter: none; +} +.m-btn-plain-active, +.s-btn-plain-active { + background: transparent; + padding: 0; + border-width: 1px; + border-style: solid; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.m-btn .l-btn-left .l-btn-text { + margin-right: 20px; +} +.m-btn .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.m-btn .l-btn-icon-right .l-btn-icon { + right: 20px; +} +.m-btn .l-btn-icon-top .l-btn-text { + margin-right: 4px; + margin-bottom: 14px; +} +.m-btn .l-btn-icon-bottom .l-btn-text { + margin-right: 4px; + margin-bottom: 34px; +} +.m-btn .l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 20px; +} +.m-btn .l-btn-icon-top .m-btn-downarrow, +.m-btn .l-btn-icon-bottom .m-btn-downarrow { + top: auto; + bottom: 0px; + left: 50%; + margin-left: -8px; +} +.m-btn-line { + display: inline-block; + position: absolute; + font-size: 1px; + display: none; +} +.m-btn .l-btn-left .m-btn-line { + right: 0; + width: 16px; + height: 500px; + border-style: solid; + border-color: #b3b3b3; + border-width: 0 0 0 1px; +} +.m-btn .l-btn-icon-top .m-btn-line, +.m-btn .l-btn-icon-bottom .m-btn-line { + left: 0; + bottom: 0; + width: 500px; + height: 16px; + border-width: 1px 0 0 0; +} +.m-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 56px; +} +.m-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 50px; +} +.m-btn-downarrow, +.s-btn-downarrow { + background: url('images/menu_arrows.png') no-repeat 0 center; +} +.m-btn-plain-active, +.s-btn-plain-active { + border-color: #ddd; + background-color: #E6E6E6; + color: #444; +} diff --git a/src/main/webapp/css/themes/metro/messager.css b/src/main/webapp/css/themes/metro/messager.css new file mode 100644 index 0000000..f8e29af --- /dev/null +++ b/src/main/webapp/css/themes/metro/messager.css @@ -0,0 +1,44 @@ +.messager-body { + padding: 10px 10px 30px 10px; + overflow: auto; +} +.messager-button { + text-align: center; + padding: 5px; +} +.messager-button .l-btn { + width: 70px; +} +.messager-icon { + float: left; + width: 32px; + height: 32px; + margin: 0 10px 10px 0; +} +.messager-error { + background: url('images/messager_icons.png') no-repeat scroll -64px 0; +} +.messager-info { + background: url('images/messager_icons.png') no-repeat scroll 0 0; +} +.messager-question { + background: url('images/messager_icons.png') no-repeat scroll -32px 0; +} +.messager-warning { + background: url('images/messager_icons.png') no-repeat scroll -96px 0; +} +.messager-progress { + padding: 10px; +} +.messager-p-msg { + margin-bottom: 5px; +} +.messager-body .messager-input { + width: 100%; + padding: 4px 0; + outline-style: none; + border: 1px solid #ddd; +} +.window-thinborder .messager-button { + padding-bottom: 8px; +} diff --git a/src/main/webapp/css/themes/metro/numberbox.css b/src/main/webapp/css/themes/metro/numberbox.css new file mode 100644 index 0000000..e69de29 diff --git a/src/main/webapp/css/themes/metro/pagination.css b/src/main/webapp/css/themes/metro/pagination.css new file mode 100644 index 0000000..c0f7424 --- /dev/null +++ b/src/main/webapp/css/themes/metro/pagination.css @@ -0,0 +1,71 @@ +.pagination { + zoom: 1; +} +.pagination table { + float: left; + height: 30px; +} +.pagination td { + border: 0; +} +.pagination-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ddd; + border-right: 1px solid #fff; + margin: 3px 1px; +} +.pagination .pagination-num { + border-width: 1px; + border-style: solid; + margin: 0 2px; + padding: 2px; + width: 2em; + height: auto; +} +.pagination-page-list { + margin: 0px 6px; + padding: 1px 2px; + width: auto; + height: auto; + border-width: 1px; + border-style: solid; +} +.pagination-info { + float: right; + margin: 0 6px; + padding: 0; + height: 30px; + line-height: 30px; + font-size: 12px; +} +.pagination span { + font-size: 12px; +} +.pagination-link .l-btn-text { + width: 24px; + text-align: center; + margin: 0; +} +.pagination-first { + background: url('images/pagination_icons.png') no-repeat 0 center; +} +.pagination-prev { + background: url('images/pagination_icons.png') no-repeat -16px center; +} +.pagination-next { + background: url('images/pagination_icons.png') no-repeat -32px center; +} +.pagination-last { + background: url('images/pagination_icons.png') no-repeat -48px center; +} +.pagination-load { + background: url('images/pagination_icons.png') no-repeat -64px center; +} +.pagination-loading { + background: url('images/loading.gif') no-repeat center center; +} +.pagination-page-list, +.pagination .pagination-num { + border-color: #ddd; +} diff --git a/src/main/webapp/css/themes/metro/panel.css b/src/main/webapp/css/themes/metro/panel.css new file mode 100644 index 0000000..4af47fa --- /dev/null +++ b/src/main/webapp/css/themes/metro/panel.css @@ -0,0 +1,259 @@ +.panel { + overflow: hidden; + text-align: left; + margin: 0; + border: 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.panel-header, +.panel-body { + border-width: 1px; + border-style: solid; +} +.panel-header { + padding: 5px; + position: relative; +} +.panel-title { + background: url('images/blank.gif') no-repeat; +} +.panel-header-noborder { + border-width: 0 0 1px 0; +} +.panel-body { + overflow: auto; + border-top-width: 0; + padding: 0; +} +.panel-body-noheader { + border-top-width: 1px; +} +.panel-body-noborder { + border-width: 0px; +} +.panel-body-nobottom { + border-bottom-width: 0; +} +.panel-with-icon { + padding-left: 18px; +} +.panel-icon, +.panel-tool { + position: absolute; + top: 50%; + margin-top: -8px; + height: 16px; + overflow: hidden; +} +.panel-icon { + left: 5px; + width: 16px; +} +.panel-tool { + right: 5px; + width: auto; +} +.panel-tool a { + display: inline-block; + width: 16px; + height: 16px; + opacity: 0.6; + filter: alpha(opacity=60); + margin: 0 0 0 2px; + vertical-align: top; +} +.panel-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + background-color: #E6E6E6; + -moz-border-radius: -2px -2px -2px -2px; + -webkit-border-radius: -2px -2px -2px -2px; + border-radius: -2px -2px -2px -2px; +} +.panel-loading { + padding: 11px 0px 10px 30px; +} +.panel-noscroll { + overflow: hidden; +} +.panel-fit, +.panel-fit body { + height: 100%; + margin: 0; + padding: 0; + border: 0; + overflow: hidden; +} +.panel-loading { + background: url('images/loading.gif') no-repeat 10px 10px; +} +.panel-tool-close { + background: url('images/panel_tools.png') no-repeat -16px 0px; +} +.panel-tool-min { + background: url('images/panel_tools.png') no-repeat 0px 0px; +} +.panel-tool-max { + background: url('images/panel_tools.png') no-repeat 0px -16px; +} +.panel-tool-restore { + background: url('images/panel_tools.png') no-repeat -16px -16px; +} +.panel-tool-collapse { + background: url('images/panel_tools.png') no-repeat -32px 0; +} +.panel-tool-expand { + background: url('images/panel_tools.png') no-repeat -32px -16px; +} +.panel-header, +.panel-body { + border-color: #ddd; +} +.panel-header { + background-color: #ffffff; +} +.panel-body { + background-color: #fff; + color: #444; + font-size: 12px; +} +.panel-title { + font-size: 12px; + font-weight: bold; + color: #777; + height: 16px; + line-height: 16px; +} +.panel-footer { + border: 1px solid #ddd; + overflow: hidden; + background: #fff; +} +.panel-footer-noborder { + border-width: 1px 0 0 0; +} +.panel-hleft, +.panel-hright { + position: relative; +} +.panel-hleft>.panel-body, +.panel-hright>.panel-body { + position: absolute; +} +.panel-hleft>.panel-header { + float: left; +} +.panel-hright>.panel-header { + float: right; +} +.panel-hleft>.panel-body { + border-top-width: 1px; + border-left-width: 0; +} +.panel-hright>.panel-body { + border-top-width: 1px; + border-right-width: 0; +} +.panel-hleft>.panel-body-nobottom { + border-bottom-width: 1px; + border-right-width: 0; +} +.panel-hright>.panel-body-nobottom { + border-bottom-width: 1px; + border-left-width: 0; +} +.panel-hleft>.panel-footer { + position: absolute; + right: 0; +} +.panel-hright>.panel-footer { + position: absolute; + left: 0; +} +.panel-hleft>.panel-header-noborder { + border-width: 0 1px 0 0; +} +.panel-hright>.panel-header-noborder { + border-width: 0 0 0 1px; +} +.panel-hleft>.panel-body-noborder { + border-width: 0; +} +.panel-hright>.panel-body-noborder { + border-width: 0; +} +.panel-hleft>.panel-body-noheader { + border-left-width: 1px; +} +.panel-hright>.panel-body-noheader { + border-right-width: 1px; +} +.panel-hleft>.panel-footer-noborder { + border-width: 0 0 0 1px; +} +.panel-hright>.panel-footer-noborder { + border-width: 0 1px 0 0; +} +.panel-hleft>.panel-header .panel-icon, +.panel-hright>.panel-header .panel-icon { + margin-top: 0; + top: 5px; +} +.panel-hleft>.panel-header .panel-title, +.panel-hright>.panel-header .panel-title { + position: absolute; + min-width: 16px; + left: 21px; + top: 5px; + bottom: auto; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(90deg); + -o-transform-origin: 0 0; + transform: rotate(90deg); + transform-origin: 0 0; +} +.panel-hleft>.panel-header .panel-title-up, +.panel-hright>.panel-header .panel-title-up { + position: absolute; + min-width: 16px; + left: 21px; + top: auto; + bottom: 5px; + text-align: right; + white-space: nowrap; + word-wrap: normal; + -webkit-transform: rotate(-90deg); + -webkit-transform-origin: 0 0; + -moz-transform: rotate(-90deg); + -moz-transform-origin: 0 0; + -o-transform: rotate(-90deg); + -o-transform-origin: 0 0; + transform: rotate(-90deg); + transform-origin: 0 16px; +} +.panel-hleft>.panel-header .panel-with-icon.panel-title-up, +.panel-hright>.panel-header .panel-with-icon.panel-title-up { + padding-left: 0; + padding-right: 18px; +} +.panel-hleft>.panel-header .panel-tool, +.panel-hright>.panel-header .panel-tool { + top: auto; + bottom: 5px; + width: 16px; + height: auto; + left: 50%; + margin-left: -8px; + margin-top: 0; +} +.panel-hleft>.panel-header .panel-tool a, +.panel-hright>.panel-header .panel-tool a { + margin: 2px 0 0 0; +} diff --git a/src/main/webapp/css/themes/metro/passwordbox.css b/src/main/webapp/css/themes/metro/passwordbox.css new file mode 100644 index 0000000..92c9ce5 --- /dev/null +++ b/src/main/webapp/css/themes/metro/passwordbox.css @@ -0,0 +1,6 @@ +.passwordbox-open { + background: url('images/passwordbox_open.png') no-repeat center center; +} +.passwordbox-close { + background: url('images/passwordbox_close.png') no-repeat center center; +} diff --git a/src/main/webapp/css/themes/metro/progressbar.css b/src/main/webapp/css/themes/metro/progressbar.css new file mode 100644 index 0000000..7721f1b --- /dev/null +++ b/src/main/webapp/css/themes/metro/progressbar.css @@ -0,0 +1,32 @@ +.progressbar { + border-width: 1px; + border-style: solid; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; + overflow: hidden; + position: relative; +} +.progressbar-text { + text-align: center; + position: absolute; +} +.progressbar-value { + position: relative; + overflow: hidden; + width: 0; + -moz-border-radius: 0px 0 0 0px; + -webkit-border-radius: 0px 0 0 0px; + border-radius: 0px 0 0 0px; +} +.progressbar { + border-color: #ddd; +} +.progressbar-text { + color: #444; + font-size: 12px; +} +.progressbar-value .progressbar-text { + background-color: #CCE6FF; + color: #000; +} diff --git a/src/main/webapp/css/themes/metro/propertygrid.css b/src/main/webapp/css/themes/metro/propertygrid.css new file mode 100644 index 0000000..f5ae0c4 --- /dev/null +++ b/src/main/webapp/css/themes/metro/propertygrid.css @@ -0,0 +1,28 @@ +.propertygrid .datagrid-view1 .datagrid-body td { + padding-bottom: 1px; + border-width: 0 1px 0 0; +} +.propertygrid .datagrid-group { + height: 21px; + overflow: hidden; + border-width: 0 0 1px 0; + border-style: solid; +} +.propertygrid .datagrid-group span { + font-weight: bold; +} +.propertygrid .datagrid-view1 .datagrid-body td { + border-color: #ddd; +} +.propertygrid .datagrid-view1 .datagrid-group { + border-color: #ffffff; +} +.propertygrid .datagrid-view2 .datagrid-group { + border-color: #ddd; +} +.propertygrid .datagrid-group, +.propertygrid .datagrid-view1 .datagrid-body, +.propertygrid .datagrid-view1 .datagrid-row-over, +.propertygrid .datagrid-view1 .datagrid-row-selected { + background: #ffffff; +} diff --git a/src/main/webapp/css/themes/metro/searchbox.css b/src/main/webapp/css/themes/metro/searchbox.css new file mode 100644 index 0000000..2d3af1c --- /dev/null +++ b/src/main/webapp/css/themes/metro/searchbox.css @@ -0,0 +1,61 @@ +.searchbox-button { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.searchbox-button-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.searchbox .l-btn-plain { + border: 0; + padding: 0; + vertical-align: top; + opacity: 0.6; + filter: alpha(opacity=60); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .l-btn-plain:hover { + border: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox a.m-btn-plain-active { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .m-btn-active { + border-width: 0 1px 0 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .textbox-button-right { + border-width: 0 0 0 1px; +} +.searchbox .textbox-button-left { + border-width: 0 1px 0 0; +} +.searchbox-button { + background: url('images/searchbox_button.png') no-repeat center center; +} +.searchbox .l-btn-plain { + background: #ffffff; +} +.searchbox .l-btn-plain-disabled, +.searchbox .l-btn-plain-disabled:hover { + opacity: 0.5; + filter: alpha(opacity=50); +} diff --git a/src/main/webapp/css/themes/metro/slider.css b/src/main/webapp/css/themes/metro/slider.css new file mode 100644 index 0000000..42ddc17 --- /dev/null +++ b/src/main/webapp/css/themes/metro/slider.css @@ -0,0 +1,101 @@ +.slider-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-h { + height: 22px; +} +.slider-v { + width: 22px; +} +.slider-inner { + position: relative; + height: 6px; + top: 7px; + border-width: 1px; + border-style: solid; + border-radius: 0px; +} +.slider-handle { + position: absolute; + display: block; + outline: none; + width: 20px; + height: 20px; + top: 50%; + margin-top: -10px; + margin-left: -10px; +} +.slider-tip { + position: absolute; + display: inline-block; + line-height: 12px; + font-size: 12px; + white-space: nowrap; + top: -22px; +} +.slider-rule { + position: relative; + top: 15px; +} +.slider-rule span { + position: absolute; + display: inline-block; + font-size: 0; + height: 5px; + border-width: 0 0 0 1px; + border-style: solid; +} +.slider-rulelabel { + position: relative; + top: 20px; +} +.slider-rulelabel span { + position: absolute; + display: inline-block; + font-size: 12px; +} +.slider-v .slider-inner { + width: 6px; + left: 7px; + top: 0; + float: left; +} +.slider-v .slider-handle { + left: 50%; + margin-top: -10px; +} +.slider-v .slider-tip { + left: -10px; + margin-top: -6px; +} +.slider-v .slider-rule { + float: left; + top: 0; + left: 16px; +} +.slider-v .slider-rule span { + width: 5px; + height: 'auto'; + border-left: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.slider-v .slider-rulelabel { + float: left; + top: 0; + left: 23px; +} +.slider-handle { + background: url('images/slider_handle.png') no-repeat; +} +.slider-inner { + border-color: #ddd; + background: #ffffff; +} +.slider-rule span { + border-color: #ddd; +} +.slider-rulelabel span { + color: #444; +} diff --git a/src/main/webapp/css/themes/metro/spinner.css b/src/main/webapp/css/themes/metro/spinner.css new file mode 100644 index 0000000..9179f9b --- /dev/null +++ b/src/main/webapp/css/themes/metro/spinner.css @@ -0,0 +1,58 @@ +.spinner-arrow { + background-color: #ffffff; + display: inline-block; + overflow: hidden; + vertical-align: top; + margin: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + width: 18px; +} +.spinner-arrow-up, +.spinner-arrow-down { + opacity: 0.6; + filter: alpha(opacity=60); + display: block; + font-size: 1px; + width: 18px; + height: 10px; + width: 100%; + height: 50%; + color: #777; + outline-style: none; +} +.spinner-arrow-hover { + background-color: #E6E6E6; + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-arrow-up:hover, +.spinner-arrow-down:hover { + opacity: 1.0; + filter: alpha(opacity=100); + background-color: #E6E6E6; +} +.textbox-icon-disabled .spinner-arrow-up:hover, +.textbox-icon-disabled .spinner-arrow-down:hover { + opacity: 0.6; + filter: alpha(opacity=60); + background-color: #ffffff; + cursor: default; +} +.spinner .textbox-icon-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-arrow-up { + background: url('images/spinner_arrows.png') no-repeat 1px center; +} +.spinner-arrow-down { + background: url('images/spinner_arrows.png') no-repeat -15px center; +} +.spinner-button-up { + background: url('images/spinner_arrows.png') no-repeat -32px center; +} +.spinner-button-down { + background: url('images/spinner_arrows.png') no-repeat -48px center; +} diff --git a/src/main/webapp/css/themes/metro/splitbutton.css b/src/main/webapp/css/themes/metro/splitbutton.css new file mode 100644 index 0000000..3451138 --- /dev/null +++ b/src/main/webapp/css/themes/metro/splitbutton.css @@ -0,0 +1,12 @@ +.s-btn:hover .m-btn-line, +.s-btn-active .m-btn-line, +.s-btn-plain-active .m-btn-line { + display: inline-block; +} +.l-btn:hover .s-btn-downarrow, +.s-btn-active .s-btn-downarrow, +.s-btn-plain-active .s-btn-downarrow { + border-style: solid; + border-color: #b3b3b3; + border-width: 0 0 0 1px; +} diff --git a/src/main/webapp/css/themes/metro/switchbutton.css b/src/main/webapp/css/themes/metro/switchbutton.css new file mode 100644 index 0000000..351083e --- /dev/null +++ b/src/main/webapp/css/themes/metro/switchbutton.css @@ -0,0 +1,77 @@ +.switchbutton { + text-decoration: none; + display: inline-block; + overflow: hidden; + vertical-align: middle; + margin: 0; + padding: 0; + cursor: pointer; + background: #dddddd; + border: 1px solid #dddddd; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.switchbutton-inner { + display: inline-block; + overflow: hidden; + position: relative; + top: -1px; + left: -1px; +} +.switchbutton-on, +.switchbutton-off, +.switchbutton-handle { + display: inline-block; + text-align: center; + height: 100%; + float: left; + font-size: 12px; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.switchbutton-on { + background: #CCE6FF; + color: #000; +} +.switchbutton-off { + background-color: #fff; + color: #444; +} +.switchbutton-on, +.switchbutton-reversed .switchbutton-off { + -moz-border-radius: 0px 0 0 0px; + -webkit-border-radius: 0px 0 0 0px; + border-radius: 0px 0 0 0px; +} +.switchbutton-off, +.switchbutton-reversed .switchbutton-on { + -moz-border-radius: 0 0px 0px 0; + -webkit-border-radius: 0 0px 0px 0; + border-radius: 0 0px 0px 0; +} +.switchbutton-handle { + position: absolute; + top: 0; + left: 50%; + background-color: #fff; + color: #444; + border: 1px solid #dddddd; + -moz-box-shadow: 0 0 3px 0 #dddddd; + -webkit-box-shadow: 0 0 3px 0 #dddddd; + box-shadow: 0 0 3px 0 #dddddd; +} +.switchbutton-value { + position: absolute; + top: 0; + left: -5000px; +} +.switchbutton-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.switchbutton-disabled, +.switchbutton-readonly { + cursor: default; +} diff --git a/src/main/webapp/css/themes/metro/tabs.css b/src/main/webapp/css/themes/metro/tabs.css new file mode 100644 index 0000000..e42fd50 --- /dev/null +++ b/src/main/webapp/css/themes/metro/tabs.css @@ -0,0 +1,377 @@ +.tabs-container { + overflow: hidden; +} +.tabs-header { + border-width: 1px; + border-style: solid; + border-bottom-width: 0; + position: relative; + padding: 0; + padding-top: 2px; + overflow: hidden; +} +.tabs-scroller-left, +.tabs-scroller-right { + position: absolute; + top: auto; + bottom: 0; + width: 18px; + font-size: 1px; + display: none; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.tabs-scroller-left { + left: 0; +} +.tabs-scroller-right { + right: 0; +} +.tabs-tool { + position: absolute; + bottom: 0; + padding: 1px; + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.tabs-header-plain .tabs-tool { + padding: 0 1px; +} +.tabs-wrap { + position: relative; + left: 0; + overflow: hidden; + width: 100%; + margin: 0; + padding: 0; +} +.tabs-scrolling { + margin-left: 18px; + margin-right: 18px; +} +.tabs-disabled { + opacity: 0.3; + filter: alpha(opacity=30); +} +.tabs { + list-style-type: none; + height: 26px; + margin: 0px; + padding: 0px; + padding-left: 4px; + width: 50000px; + border-style: solid; + border-width: 0 0 1px 0; +} +.tabs li { + float: left; + display: inline-block; + margin: 0 4px -1px 0; + padding: 0; + position: relative; + border: 0; +} +.tabs li a.tabs-inner { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0 10px; + height: 25px; + line-height: 25px; + text-align: center; + white-space: nowrap; + border-width: 1px; + border-style: solid; + -moz-border-radius: 0px 0px 0 0; + -webkit-border-radius: 0px 0px 0 0; + border-radius: 0px 0px 0 0; +} +.tabs li.tabs-selected a.tabs-inner { + font-weight: bold; + outline: none; +} +.tabs li.tabs-selected a:hover.tabs-inner { + cursor: default; + pointer: default; +} +.tabs li a.tabs-close, +.tabs-p-tool { + position: absolute; + font-size: 1px; + display: block; + height: 12px; + padding: 0; + top: 50%; + margin-top: -6px; + overflow: hidden; +} +.tabs li a.tabs-close { + width: 12px; + right: 5px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs-p-tool { + right: 16px; +} +.tabs-p-tool a { + display: inline-block; + font-size: 1px; + width: 12px; + height: 12px; + margin: 0; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs li a:hover.tabs-close, +.tabs-p-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + cursor: hand; + cursor: pointer; +} +.tabs-with-icon { + padding-left: 18px; +} +.tabs-icon { + position: absolute; + width: 16px; + height: 16px; + left: 10px; + top: 50%; + margin-top: -8px; +} +.tabs-title { + font-size: 12px; +} +.tabs-closable { + padding-right: 8px; +} +.tabs-panels { + margin: 0px; + padding: 0px; + border-width: 1px; + border-style: solid; + border-top-width: 0; + overflow: hidden; +} +.tabs-header-bottom { + border-width: 0 1px 1px 1px; + padding: 0 0 2px 0; +} +.tabs-header-bottom .tabs { + border-width: 1px 0 0 0; +} +.tabs-header-bottom .tabs li { + margin: -1px 4px 0 0; +} +.tabs-header-bottom .tabs li a.tabs-inner { + -moz-border-radius: 0 0 0px 0px; + -webkit-border-radius: 0 0 0px 0px; + border-radius: 0 0 0px 0px; +} +.tabs-header-bottom .tabs-tool { + top: 0; +} +.tabs-header-bottom .tabs-scroller-left, +.tabs-header-bottom .tabs-scroller-right { + top: 0; + bottom: auto; +} +.tabs-panels-top { + border-width: 1px 1px 0 1px; +} +.tabs-header-left { + float: left; + border-width: 1px 0 1px 1px; + padding: 0; +} +.tabs-header-right { + float: right; + border-width: 1px 1px 1px 0; + padding: 0; +} +.tabs-header-left .tabs-wrap, +.tabs-header-right .tabs-wrap { + height: 100%; +} +.tabs-header-left .tabs { + height: 100%; + padding: 4px 0 0 2px; + border-width: 0 1px 0 0; +} +.tabs-header-right .tabs { + height: 100%; + padding: 4px 2px 0 0; + border-width: 0 0 0 1px; +} +.tabs-header-left .tabs li, +.tabs-header-right .tabs li { + display: block; + width: 100%; + position: relative; +} +.tabs-header-left .tabs li { + left: auto; + right: 0; + margin: 0 -1px 4px 0; + float: right; +} +.tabs-header-right .tabs li { + left: 0; + right: auto; + margin: 0 0 4px -1px; + float: left; +} +.tabs-justified li a.tabs-inner { + padding-left: 0; + padding-right: 0; +} +.tabs-header-left .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 0px 0 0 0px; + -webkit-border-radius: 0px 0 0 0px; + border-radius: 0px 0 0 0px; +} +.tabs-header-right .tabs li a.tabs-inner { + display: block; + text-align: left; + padding-left: 10px; + padding-right: 10px; + -moz-border-radius: 0 0px 0px 0; + -webkit-border-radius: 0 0px 0px 0; + border-radius: 0 0px 0px 0; +} +.tabs-panels-right { + float: right; + border-width: 1px 1px 1px 0; +} +.tabs-panels-left { + float: left; + border-width: 1px 0 1px 1px; +} +.tabs-header-noborder, +.tabs-panels-noborder { + border: 0px; +} +.tabs-header-plain { + border: 0px; + background: transparent; +} +.tabs-pill { + padding-bottom: 3px; +} +.tabs-header-bottom .tabs-pill { + padding-top: 3px; + padding-bottom: 0; +} +.tabs-header-left .tabs-pill { + padding-right: 3px; +} +.tabs-header-right .tabs-pill { + padding-left: 3px; +} +.tabs-header .tabs-pill li a.tabs-inner { + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.tabs-header-narrow, +.tabs-header-narrow .tabs-narrow { + padding: 0; +} +.tabs-narrow li, +.tabs-header-bottom .tabs-narrow li { + margin-left: 0; + margin-right: -1px; +} +.tabs-narrow li.tabs-last, +.tabs-header-bottom .tabs-narrow li.tabs-last { + margin-right: 0; +} +.tabs-header-left .tabs-narrow, +.tabs-header-right .tabs-narrow { + padding-top: 0; +} +.tabs-header-left .tabs-narrow li { + margin-bottom: -1px; + margin-right: -1px; +} +.tabs-header-left .tabs-narrow li.tabs-last, +.tabs-header-right .tabs-narrow li.tabs-last { + margin-bottom: 0; +} +.tabs-header-right .tabs-narrow li { + margin-bottom: -1px; + margin-left: -1px; +} +.tabs-scroller-left { + background: #ffffff url('images/tabs_icons.png') no-repeat 1px center; +} +.tabs-scroller-right { + background: #ffffff url('images/tabs_icons.png') no-repeat -15px center; +} +.tabs li a.tabs-close { + background: url('images/tabs_icons.png') no-repeat -34px center; +} +.tabs li a.tabs-inner:hover { + background: #E6E6E6; + color: #444; + filter: none; +} +.tabs li.tabs-selected a.tabs-inner { + background-color: #fff; + color: #777; +} +.tabs li a.tabs-inner { + color: #777; + background-color: #ffffff; +} +.tabs-header, +.tabs-tool { + background-color: #ffffff; +} +.tabs-header-plain { + background: transparent; +} +.tabs-header, +.tabs-scroller-left, +.tabs-scroller-right, +.tabs-tool, +.tabs, +.tabs-panels, +.tabs li a.tabs-inner, +.tabs li.tabs-selected a.tabs-inner, +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, +.tabs-header-left .tabs li.tabs-selected a.tabs-inner, +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-color: #ddd; +} +.tabs-p-tool a:hover, +.tabs li a:hover.tabs-close, +.tabs-scroller-over { + background-color: #E6E6E6; +} +.tabs li.tabs-selected a.tabs-inner { + border-bottom: 1px solid #fff; +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + border-top: 1px solid #fff; +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + border-right: 1px solid #fff; +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-left: 1px solid #fff; +} +.tabs-header .tabs-pill li.tabs-selected a.tabs-inner { + background: #CCE6FF; + color: #000; + filter: none; + border-color: #ddd; +} diff --git a/src/main/webapp/css/themes/metro/tagbox.css b/src/main/webapp/css/themes/metro/tagbox.css new file mode 100644 index 0000000..7c6fd15 --- /dev/null +++ b/src/main/webapp/css/themes/metro/tagbox.css @@ -0,0 +1,44 @@ +.tagbox { + cursor: text; +} +.tagbox .textbox-text { + float: left; +} +.tagbox-label { + position: relative; + display: block; + margin: 4px 0 0 4px; + padding: 0 20px 0 4px; + float: left; + vertical-align: top; + text-decoration: none; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; + background: #E6E6E6; + color: #444; +} +.tagbox-remove { + background: url('images/tagbox_icons.png') no-repeat -16px center; + position: absolute; + display: block; + width: 16px; + height: 16px; + right: 2px; + top: 50%; + margin-top: -8px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tagbox-remove:hover { + opacity: 1; + filter: alpha(opacity=100); +} +.textbox-disabled .tagbox-label { + cursor: default; +} +.textbox-disabled .tagbox-remove:hover { + cursor: default; + opacity: 0.6; + filter: alpha(opacity=60); +} diff --git a/src/main/webapp/css/themes/metro/textbox.css b/src/main/webapp/css/themes/metro/textbox.css new file mode 100644 index 0000000..53f08dd --- /dev/null +++ b/src/main/webapp/css/themes/metro/textbox.css @@ -0,0 +1,139 @@ +.textbox { + position: relative; + border: 1px solid #ddd; + background-color: #fff; + vertical-align: middle; + display: inline-block; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.textbox .textbox-text { + font-size: 12px; + border: 0; + margin: 0; + padding: 4px; + white-space: normal; + vertical-align: top; + outline-style: none; + resize: none; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.textbox .textbox-text::-ms-clear, +.textbox .textbox-text::-ms-reveal { + display: none; +} +.textbox textarea.textbox-text { + white-space: pre-wrap; +} +.textbox .textbox-prompt { + font-size: 12px; + color: #aaa; +} +.textbox .textbox-bgicon { + background-position: 3px center; + padding-left: 21px; +} +.textbox .textbox-button, +.textbox .textbox-button:hover { + position: absolute; + top: 0; + padding: 0; + vertical-align: top; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.textbox .textbox-button-right, +.textbox .textbox-button-right:hover { + right: 0; + border-width: 0 0 0 1px; +} +.textbox .textbox-button-left, +.textbox .textbox-button-left:hover { + left: 0; + border-width: 0 1px 0 0; +} +.textbox .textbox-button-top, +.textbox .textbox-button-top:hover { + left: 0; + border-width: 0 0 1px 0; +} +.textbox .textbox-button-bottom, +.textbox .textbox-button-bottom:hover { + top: auto; + bottom: 0; + left: 0; + border-width: 1px 0 0 0; +} +.textbox-addon { + position: absolute; + top: 0; +} +.textbox-label { + display: inline-block; + width: 80px; + height: 22px; + line-height: 22px; + vertical-align: middle; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + margin: 0; + padding-right: 5px; +} +.textbox-label-after { + padding-left: 5px; + padding-right: 0; +} +.textbox-label-top { + display: block; + width: auto; + padding: 0; +} +.textbox-disabled, +.textbox-label-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-icon { + display: inline-block; + width: 18px; + height: 20px; + overflow: hidden; + vertical-align: top; + background-position: center center; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); + text-decoration: none; + outline-style: none; +} +.textbox-icon-disabled, +.textbox-icon-readonly { + cursor: default; +} +.textbox-icon:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.textbox-icon-disabled:hover { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-focused { + border-color: #c4c4c4; + -moz-box-shadow: 0 0 3px 0 #ddd; + -webkit-box-shadow: 0 0 3px 0 #ddd; + box-shadow: 0 0 3px 0 #ddd; +} +.textbox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; +} diff --git a/src/main/webapp/css/themes/metro/tooltip.css b/src/main/webapp/css/themes/metro/tooltip.css new file mode 100644 index 0000000..b8f955c --- /dev/null +++ b/src/main/webapp/css/themes/metro/tooltip.css @@ -0,0 +1,103 @@ +.tooltip { + position: absolute; + display: none; + z-index: 9900000; + outline: none; + opacity: 1; + filter: alpha(opacity=100); + padding: 5px; + border-width: 1px; + border-style: solid; + border-radius: 5px; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.tooltip-content { + font-size: 12px; +} +.tooltip-arrow-outer, +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + line-height: 0; + font-size: 0; + border-style: solid; + border-width: 6px; + border-color: transparent; + _border-color: tomato; + _filter: chroma(color=tomato); +} +.tooltip-arrow { + display: none \9; +} +.tooltip-right .tooltip-arrow-outer { + left: 0; + top: 50%; + margin: -6px 0 0 -13px; +} +.tooltip-right .tooltip-arrow { + left: 0; + top: 50%; + margin: -6px 0 0 -12px; +} +.tooltip-left .tooltip-arrow-outer { + right: 0; + top: 50%; + margin: -6px -13px 0 0; +} +.tooltip-left .tooltip-arrow { + right: 0; + top: 50%; + margin: -6px -12px 0 0; +} +.tooltip-top .tooltip-arrow-outer { + bottom: 0; + left: 50%; + margin: 0 0 -13px -6px; +} +.tooltip-top .tooltip-arrow { + bottom: 0; + left: 50%; + margin: 0 0 -12px -6px; +} +.tooltip-bottom .tooltip-arrow-outer { + top: 0; + left: 50%; + margin: -13px 0 0 -6px; +} +.tooltip-bottom .tooltip-arrow { + top: 0; + left: 50%; + margin: -12px 0 0 -6px; +} +.tooltip { + background-color: #fff; + border-color: #ddd; + color: #444; +} +.tooltip-right .tooltip-arrow-outer { + border-right-color: #ddd; +} +.tooltip-right .tooltip-arrow { + border-right-color: #fff; +} +.tooltip-left .tooltip-arrow-outer { + border-left-color: #ddd; +} +.tooltip-left .tooltip-arrow { + border-left-color: #fff; +} +.tooltip-top .tooltip-arrow-outer { + border-top-color: #ddd; +} +.tooltip-top .tooltip-arrow { + border-top-color: #fff; +} +.tooltip-bottom .tooltip-arrow-outer { + border-bottom-color: #ddd; +} +.tooltip-bottom .tooltip-arrow { + border-bottom-color: #fff; +} diff --git a/src/main/webapp/css/themes/metro/tree.css b/src/main/webapp/css/themes/metro/tree.css new file mode 100644 index 0000000..52892a1 --- /dev/null +++ b/src/main/webapp/css/themes/metro/tree.css @@ -0,0 +1,161 @@ +.tree { + margin: 0; + padding: 0; + list-style-type: none; +} +.tree li { + white-space: nowrap; +} +.tree li ul { + list-style-type: none; + margin: 0; + padding: 0; +} +.tree-node { + height: 18px; + white-space: nowrap; + cursor: pointer; +} +.tree-hit { + cursor: pointer; +} +.tree-expanded, +.tree-collapsed, +.tree-folder, +.tree-file, +.tree-checkbox, +.tree-indent { + display: inline-block; + width: 16px; + height: 18px; + vertical-align: top; + overflow: hidden; +} +.tree-expanded { + background: url('images/tree_icons.png') no-repeat -18px 0px; +} +.tree-expanded-hover { + background: url('images/tree_icons.png') no-repeat -50px 0px; +} +.tree-collapsed { + background: url('images/tree_icons.png') no-repeat 0px 0px; +} +.tree-collapsed-hover { + background: url('images/tree_icons.png') no-repeat -32px 0px; +} +.tree-lines .tree-expanded, +.tree-lines .tree-root-first .tree-expanded { + background: url('images/tree_icons.png') no-repeat -144px 0; +} +.tree-lines .tree-collapsed, +.tree-lines .tree-root-first .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -128px 0; +} +.tree-lines .tree-node-last .tree-expanded, +.tree-lines .tree-root-one .tree-expanded { + background: url('images/tree_icons.png') no-repeat -80px 0; +} +.tree-lines .tree-node-last .tree-collapsed, +.tree-lines .tree-root-one .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -64px 0; +} +.tree-line { + background: url('images/tree_icons.png') no-repeat -176px 0; +} +.tree-join { + background: url('images/tree_icons.png') no-repeat -192px 0; +} +.tree-joinbottom { + background: url('images/tree_icons.png') no-repeat -160px 0; +} +.tree-folder { + background: url('images/tree_icons.png') no-repeat -208px 0; +} +.tree-folder-open { + background: url('images/tree_icons.png') no-repeat -224px 0; +} +.tree-file { + background: url('images/tree_icons.png') no-repeat -240px 0; +} +.tree-loading { + background: url('images/loading.gif') no-repeat center center; +} +.tree-checkbox0 { + background: url('images/tree_icons.png') no-repeat -208px -18px; +} +.tree-checkbox1 { + background: url('images/tree_icons.png') no-repeat -224px -18px; +} +.tree-checkbox2 { + background: url('images/tree_icons.png') no-repeat -240px -18px; +} +.tree-title { + font-size: 12px; + display: inline-block; + text-decoration: none; + vertical-align: top; + white-space: nowrap; + padding: 0 2px; + height: 18px; + line-height: 18px; +} +.tree-node-proxy { + font-size: 12px; + line-height: 20px; + padding: 0 2px 0 20px; + border-width: 1px; + border-style: solid; + z-index: 9900000; +} +.tree-dnd-icon { + display: inline-block; + position: absolute; + width: 16px; + height: 18px; + left: 2px; + top: 50%; + margin-top: -9px; +} +.tree-dnd-yes { + background: url('images/tree_icons.png') no-repeat -256px 0; +} +.tree-dnd-no { + background: url('images/tree_icons.png') no-repeat -256px -18px; +} +.tree-node-top { + border-top: 1px dotted red; +} +.tree-node-bottom { + border-bottom: 1px dotted red; +} +.tree-node-append .tree-title { + border: 1px dotted red; +} +.tree-editor { + border: 1px solid #ddd; + font-size: 12px; + line-height: 16px; + padding: 0 4px; + margin: 0; + width: 80px; + outline-style: none; + vertical-align: top; + position: absolute; + top: 0; +} +.tree-node-proxy { + background-color: #fff; + color: #444; + border-color: #ddd; +} +.tree-node-hover { + background: #E6E6E6; + color: #444; +} +.tree-node-selected { + background: #CCE6FF; + color: #000; +} +.tree-node-hidden { + display: none; +} diff --git a/src/main/webapp/css/themes/metro/validatebox.css b/src/main/webapp/css/themes/metro/validatebox.css new file mode 100644 index 0000000..1fc3ad6 --- /dev/null +++ b/src/main/webapp/css/themes/metro/validatebox.css @@ -0,0 +1,5 @@ +.validatebox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; + color: #000; +} diff --git a/src/main/webapp/css/themes/metro/window.css b/src/main/webapp/css/themes/metro/window.css new file mode 100644 index 0000000..7ec192e --- /dev/null +++ b/src/main/webapp/css/themes/metro/window.css @@ -0,0 +1,177 @@ +.window { + overflow: hidden; + padding: 5px; + border-width: 1px; + border-style: solid; +} +.window .window-header { + background: transparent; + padding: 0px 0px 6px 0px; +} +.window .window-body { + border-width: 1px; + border-style: solid; + border-top-width: 0px; +} +.window .window-body-noheader { + border-top-width: 1px; +} +.window .panel-body-nobottom { + border-bottom-width: 0; +} +.window .window-header .panel-icon, +.window .window-header .panel-tool { + top: 50%; + margin-top: -11px; +} +.window .window-header .panel-icon { + left: 1px; +} +.window .window-header .panel-tool { + right: 1px; +} +.window .window-header .panel-with-icon { + padding-left: 18px; +} +.window-proxy { + position: absolute; + overflow: hidden; +} +.window-proxy-mask { + position: absolute; + filter: alpha(opacity=5); + opacity: 0.05; +} +.window-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + filter: alpha(opacity=40); + opacity: 0.40; + font-size: 1px; + overflow: hidden; +} +.window, +.window-shadow { + position: absolute; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.window-shadow { + background: #eee; + -moz-box-shadow: 2px 2px 3px #ededed; + -webkit-box-shadow: 2px 2px 3px #ededed; + box-shadow: 2px 2px 3px #ededed; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.window, +.window .window-body { + border-color: #ddd; +} +.window { + background-color: #ffffff; +} +.window-proxy { + border: 1px dashed #ddd; +} +.window-proxy-mask, +.window-mask { + background: #eee; +} +.window .panel-footer { + border: 1px solid #ddd; + position: relative; + top: -1px; +} +.window-thinborder { + padding: 0; +} +.window-thinborder .window-header { + padding: 5px 5px 6px 5px; +} +.window-thinborder .window-body { + border-width: 0px; +} +.window-thinborder .window-header .panel-icon, +.window-thinborder .window-header .panel-tool { + margin-top: -9px; + margin-left: 5px; + margin-right: 5px; +} +.window-noborder { + border: 0; +} +.window.panel-hleft .window-header { + padding: 0 6px 0 0; +} +.window.panel-hright .window-header { + padding: 0 0 0 6px; +} +.window.panel-hleft>.panel-header .panel-title { + top: auto; + left: 16px; +} +.window.panel-hright>.panel-header .panel-title { + top: auto; + right: 16px; +} +.window.panel-hleft>.panel-header .panel-title-up, +.window.panel-hright>.panel-header .panel-title-up { + bottom: 0; +} +.window.panel-hleft .window-body { + border-width: 1px 1px 1px 0; +} +.window.panel-hright .window-body { + border-width: 1px 0 1px 1px; +} +.window.panel-hleft .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: 0; +} +.window.panel-hright .window-header .panel-icon { + top: 1px; + margin-top: 0; + left: auto; + right: 1px; +} +.window.panel-hleft .window-header .panel-tool, +.window.panel-hright .window-header .panel-tool { + margin-top: 0; + top: auto; + bottom: 1px; + right: auto; + margin-right: 0; + left: 50%; + margin-left: -11px; +} +.window.panel-hright .window-header .panel-tool { + left: auto; + right: 1px; +} +.window-thinborder.panel-hleft .window-header { + padding: 5px 6px 5px 5px; +} +.window-thinborder.panel-hright .window-header { + padding: 5px 5px 5px 6px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title { + left: 21px; +} +.window-thinborder.panel-hleft>.panel-header .panel-title-up, +.window-thinborder.panel-hright>.panel-header .panel-title-up { + bottom: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-icon, +.window-thinborder.panel-hright .window-header .panel-icon { + margin-top: 5px; +} +.window-thinborder.panel-hleft .window-header .panel-tool, +.window-thinborder.panel-hright .window-header .panel-tool { + left: 16px; + bottom: 5px; +} diff --git a/src/main/webapp/css/themes/mobile.css b/src/main/webapp/css/themes/mobile.css new file mode 100644 index 0000000..b9f2f58 --- /dev/null +++ b/src/main/webapp/css/themes/mobile.css @@ -0,0 +1,380 @@ +.m-toolbar{ + position: relative; + text-align: center; + min-height: 32px; +} +.m-toolbar .m-title{ + line-height: 32px; + font-size: 16px; + font-weight: bold; + text-align: center; +} +.m-left{ + position: absolute; + height: 100%; + vertical-align: middle; + top:0; + left:0; + z-index: 1; +} +.m-right{ + position: absolute; + height: 100%; + vertical-align: middle; + top:0; + right:0; + z-index: 1; +} +.m-left>.l-btn,.m-right>.l-btn, +.m-left>.switchbutton,.m-right>.switchbutton{ + position: relative; + vertical-align: top; + top: 50%; + margin-top: -13px; +} +.m-back::before,.m-next::after{ + position: relative; + display: inline-block; + box-sizing: border-box; + vertical-align: top; + border-style: solid; + -webkit-transform:rotate(45deg); + transform:rotate(45deg); + width: 10px; + height: 10px; + top: 7px; + content: ''; +} +.m-back::before{ + border-width: 0 0 1px 1px; + margin-left: 6px; + margin-right: -6px; +} +.m-next::after{ + border-width: 1px 1px 0 0; + margin-left: -6px; + margin-right: 6px; +} +.m-buttongroup{ + display: inline-block; + margin: 0; + padding: 0; + overflow: hidden; + vertical-align: middle; +} +.m-buttongroup .l-btn{ + float: left; + margin-left: -1px; +} +.m-buttongroup .l-btn:last-child::after{ + content: ''; + clear: both; +} +.m-buttongroup .l-btn:not(:first-child):not(:last-child){ + border-radius: 0; +} +.m-buttongroup .l-btn:first-child{ + border-top-right-radius: 0; + border-bottom-right-radius: 0; + margin-left: 0; +} +.m-buttongroup .l-btn:last-child{ + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.m-buttongroup-justified{ + display: table; + table-layout: fixed; +} +.m-buttongroup-justified .l-btn{ + float: none; + display: table-cell; +} +.m-badge:not(.l-btn), +.l-btn.m-badge::after{ + display: inline-block; + min-width: 10px; + line-height: 1; + font-size: 12px; + text-align: center; + white-space: nowrap; + border-radius: 10px; + padding: 2px 4px; + border-style: solid; + border-width: 0px; + background-color: #d9534f; + color: #fff; + z-index: 99999; +} +.l-btn.m-badge::after, +.l-btn .m-badge{ + position: absolute; + top: -10px; + right: -10px; +} +.tabs-inner .m-badge{ + position: absolute; + top: 1px; + right: -10px; +} +.tabs-inner>.tabs-title>.m-badge{ + top: 0; + right: 0; +} +.tabs-header-bottom .tabs-inner>.tabs-title>.m-badge{ + top: auto; + bottom: 0; + right: 0; +} +.panel-footer .l-btn .l-btn-icon-top .m-badge, +.panel-footer .l-btn .l-btn-icon-bottom .m-badge{ + top: 0; + right: -10px; +} +.l-btn.m-badge::after{ + content: attr(data-badge); +} +.l-btn,.l-btn-left{ + overflow: visible; + position: relative; +} + +.m-in{ + -webkit-animation-timing-function: ease-out; + -webkit-animation-duration: 250ms; +} +.m-out{ + -webkit-animation-timing-function: ease-in; + -webkit-animation-duration: 250ms; +} +.m-slide-left.m-in{ + -webkit-animation-name: slideLeftIn; +} +.m-slide-left.m-out{ + -webkit-animation-name: slideLeftOut; +} +.m-slide-right.m-in{ + -webkit-animation-name: slideRightIn; +} +.m-slide-right.m-out{ + -webkit-animation-name: slideRightOut; +} +.m-slide-up.m-in{ + -webkit-animation-name: slideUpIn; +} +.m-slide-up.m-out{ + -webkit-animation-name: slideUpOut; +} +.m-slide-down.m-in{ + -webkit-animation-name: slideDownIn; +} +.m-slide-down.m-out{ + -webkit-animation-name: slideDownOut; +} + +@-webkit-keyframes slideLeftIn{ + from {-webkit-transform: translateX(100%);} + to {-webkit-transform: translateX(0);} +} +@-webkit-keyframes slideLeftOut{ + from {-webkit-transform: translateX(0);} + to {-webkit-transform: translateX(-100%);} +} +@-webkit-keyframes slideRightIn{ + from {-webkit-transform: translateX(-100%);} + to {-webkit-transform: translateX(0);} +} +@-webkit-keyframes slideRightOut{ + from {-webkit-transform: translateX(0);} + to {-webkit-transform: translateX(100%);} +} +@-webkit-keyframes slideUpIn{ + from {-webkit-transform: translateY(100%);} + to {-webkit-transform: translateY(0);} +} +@-webkit-keyframes slideUpOut{ + from {-webkit-transform: translateY(0);} + to {-webkit-transform: translateY(-100%);} +} +@-webkit-keyframes slideDownIn{ + from {-webkit-transform: translateY(-100%);} + to {-webkit-transform: translateY(0);} +} +@-webkit-keyframes slideDownOut{ + from {-webkit-transform: translateY(0);} + to {-webkit-transform: translateY(100%);} +} + +.m-fade.m-in{ + -webkit-animation-name: fadeIn; +} +.m-fade.m-out{ + -webkit-animation-name: fadeOut; +} + +@-webkit-keyframes fadeIn{ + from {opacity: 0;} + to {opacity: 1} +} +@-webkit-keyframes fadeOut{ + from {opacity: 1;} + to {opacity: 0;} +} + +.m-pop.m-in{ + -webkit-animation-name: popIn; +} +.m-pop.m-out{ + -webkit-animation-name: popOut; +} +@-webkit-keyframes popIn{ + from { + opacity: 0; + -webkit-transform: scale(.2); + } + to { + opacity: 1; + -webkit-transform: scale(1); + } +} +@-webkit-keyframes popOut{ + from { + opacity: 1; + -webkit-transform: scale(1); + } + to { + opacity: 0; + -webkit-transform: scale(0); + } +} + +.navpanel{ + position: absolute; +} + +.textbox .textbox-text{ + padding: 8px 4px; +} +.calendar-header,.calendar-title{ + height: 30px; +} +.calendar-title span{ + height: 26px; + line-height: 26px +} +.datebox-button{ + height: 24px; +} +.datebox-button a{ + line-height: 24px; + display1: inline-block; +} +.tree-node{ + height:28px; + padding:5px 0; + box-sizing: border-box; +} + +.panel-title{ + height: 26px; + line-height: 26px; +} +.window{ + padding: 5px 0 0 0; +} +.window-shadow{ + -moz-box-shadow: 0 0 30px 0 #D3D3D3; + -webkit-box-shadow: 0 0 30px 0 #D3D3D3; + box-shadow: 0 0 30px 0 #D3D3D3; +} +.window-header .panel-title{ + height: 26px; + line-height: 26px; + text-align: center; +} +.window-header .panel-tool{ + display: none; +} +.window .window-body{ + border: 0; +} +.dialog-button{ + border-color: transparent; + overflow: hidden; +} +.dialog-button .l-btn{ + margin: 0; +} + +.tabs-justified, +.tabs-justified .l-btn, +.tabs-justified li a.tabs-inner, +.tabs-justified li.tabs-selected a.tabs-inner, +.tabs-header-bottom .tabs-justified li.tabs-selected a.tabs-inner, +.tabs-header-bottom .tabs-justified li a.tabs-inner{ + -moz-border-radius:0; + -webkit-border-radius:0; + border-radius:0; +} + +.datagrid-row,.datagrid-header-row{ + height: 35px; +} +.datalist .datagrid-group-title, +.m-list .m-list-group{ + padding: 0 10px; +} +.datalist .datagrid-cell, +.m-list li{ + padding: 10px; +} +.m-list li .m-right{ + right: 10px; +} +.datalist .datalist-link, +.m-list li>a{ + margin: -10px; + padding: 10px; + padding-right: 24px; +} +.m-list li>a .m-right{ + right: 24px; +} +.datalist .datalist-link::after, +.m-list li>a::after{ + right: 12px; +} + +.spinner-arrow-up,.spinner-arrow-down{ + position: relative; + display: inline-block; + width: 50%; + height: 100%; + background: none; + float: right; +} +.spinner-arrow-down{ + float: left; +} +.spinner-arrow-up::after, +.spinner-arrow-down::after{ + position: absolute; + display: inline-block; + box-sizing: border-box; + vertical-align: top; + border-style: solid; + border-width: 2px 2px 0 0; + -webkit-transform:rotate(-45deg); + transform:rotate(-45deg); + width: 10px; + height: 10px; + left: 50%; + top: 50%; + margin-left: -5px; + margin-top: -3px; + content: ''; +} +.spinner-arrow-down::after{ + border-width: 0 0 2px 2px; + margin-top: -8px; +} \ No newline at end of file diff --git a/src/main/webapp/favicon.ico b/src/main/webapp/favicon.ico new file mode 100644 index 0000000..8a7d1b3 Binary files /dev/null and b/src/main/webapp/favicon.ico differ diff --git a/src/main/webapp/images/0.jpg b/src/main/webapp/images/0.jpg new file mode 100644 index 0000000..b6cad05 Binary files /dev/null and b/src/main/webapp/images/0.jpg differ diff --git a/src/main/webapp/images/00.jpg b/src/main/webapp/images/00.jpg new file mode 100644 index 0000000..6802956 Binary files /dev/null and b/src/main/webapp/images/00.jpg differ diff --git a/src/main/webapp/images/000.jpg b/src/main/webapp/images/000.jpg new file mode 100644 index 0000000..99ca595 Binary files /dev/null and b/src/main/webapp/images/000.jpg differ diff --git a/src/main/webapp/images/1.png b/src/main/webapp/images/1.png new file mode 100644 index 0000000..0e28aa7 Binary files /dev/null and b/src/main/webapp/images/1.png differ diff --git a/src/main/webapp/images/2.png b/src/main/webapp/images/2.png new file mode 100644 index 0000000..10ae1df Binary files /dev/null and b/src/main/webapp/images/2.png differ diff --git a/src/main/webapp/images/4.png b/src/main/webapp/images/4.png new file mode 100644 index 0000000..db6d342 Binary files /dev/null and b/src/main/webapp/images/4.png differ diff --git a/src/main/webapp/images/Login.jpg b/src/main/webapp/images/Login.jpg new file mode 100644 index 0000000..b4f93d9 Binary files /dev/null and b/src/main/webapp/images/Login.jpg differ diff --git a/src/main/webapp/images/Login1.jpg b/src/main/webapp/images/Login1.jpg new file mode 100644 index 0000000..99401a6 Binary files /dev/null and b/src/main/webapp/images/Login1.jpg differ diff --git a/src/main/webapp/images/Login11.jpg b/src/main/webapp/images/Login11.jpg new file mode 100644 index 0000000..08801be Binary files /dev/null and b/src/main/webapp/images/Login11.jpg differ diff --git a/src/main/webapp/images/Login12.jpg b/src/main/webapp/images/Login12.jpg new file mode 100644 index 0000000..1890892 Binary files /dev/null and b/src/main/webapp/images/Login12.jpg differ diff --git a/src/main/webapp/images/Login2.jpg b/src/main/webapp/images/Login2.jpg new file mode 100644 index 0000000..02aa181 Binary files /dev/null and b/src/main/webapp/images/Login2.jpg differ diff --git a/src/main/webapp/images/activeCheck.png b/src/main/webapp/images/activeCheck.png new file mode 100644 index 0000000..989d3ef Binary files /dev/null and b/src/main/webapp/images/activeCheck.png differ diff --git a/src/main/webapp/images/add.png b/src/main/webapp/images/add.png new file mode 100644 index 0000000..7978592 Binary files /dev/null and b/src/main/webapp/images/add.png differ diff --git a/src/main/webapp/images/bb1.jpg b/src/main/webapp/images/bb1.jpg new file mode 100644 index 0000000..ff84aa3 Binary files /dev/null and b/src/main/webapp/images/bb1.jpg differ diff --git a/src/main/webapp/images/bg1.jpg b/src/main/webapp/images/bg1.jpg new file mode 100644 index 0000000..f78d888 Binary files /dev/null and b/src/main/webapp/images/bg1.jpg differ diff --git a/src/main/webapp/images/bg2.jpg b/src/main/webapp/images/bg2.jpg new file mode 100644 index 0000000..b5618d5 Binary files /dev/null and b/src/main/webapp/images/bg2.jpg differ diff --git a/src/main/webapp/images/bgGround.jpg b/src/main/webapp/images/bgGround.jpg new file mode 100644 index 0000000..39debc9 Binary files /dev/null and b/src/main/webapp/images/bgGround.jpg differ diff --git a/src/main/webapp/images/bgGround3.jpg b/src/main/webapp/images/bgGround3.jpg new file mode 100644 index 0000000..2737673 Binary files /dev/null and b/src/main/webapp/images/bgGround3.jpg differ diff --git a/src/main/webapp/images/carlogo.png b/src/main/webapp/images/carlogo.png new file mode 100644 index 0000000..6b0d741 Binary files /dev/null and b/src/main/webapp/images/carlogo.png differ diff --git a/src/main/webapp/images/clear.png b/src/main/webapp/images/clear.png new file mode 100644 index 0000000..6a40192 Binary files /dev/null and b/src/main/webapp/images/clear.png differ diff --git a/src/main/webapp/images/close.png b/src/main/webapp/images/close.png new file mode 100644 index 0000000..093b1fc Binary files /dev/null and b/src/main/webapp/images/close.png differ diff --git a/src/main/webapp/images/favicon.png b/src/main/webapp/images/favicon.png new file mode 100644 index 0000000..2dee890 Binary files /dev/null and b/src/main/webapp/images/favicon.png differ diff --git a/src/main/webapp/images/jblogo.png b/src/main/webapp/images/jblogo.png new file mode 100644 index 0000000..ba84041 Binary files /dev/null and b/src/main/webapp/images/jblogo.png differ diff --git a/src/main/webapp/images/loginBg.jpg b/src/main/webapp/images/loginBg.jpg new file mode 100644 index 0000000..1236bba Binary files /dev/null and b/src/main/webapp/images/loginBg.jpg differ diff --git a/src/main/webapp/images/loginBg2.jpg b/src/main/webapp/images/loginBg2.jpg new file mode 100644 index 0000000..b4f93d9 Binary files /dev/null and b/src/main/webapp/images/loginBg2.jpg differ diff --git a/src/main/webapp/images/mainbk.png b/src/main/webapp/images/mainbk.png new file mode 100644 index 0000000..59034a4 Binary files /dev/null and b/src/main/webapp/images/mainbk.png differ diff --git a/src/main/webapp/images/menuArrow.png b/src/main/webapp/images/menuArrow.png new file mode 100644 index 0000000..d28cf04 Binary files /dev/null and b/src/main/webapp/images/menuArrow.png differ diff --git a/src/main/webapp/images/menuArrowActive.png b/src/main/webapp/images/menuArrowActive.png new file mode 100644 index 0000000..53cd052 Binary files /dev/null and b/src/main/webapp/images/menuArrowActive.png differ diff --git a/src/main/webapp/images/powerIcon.png b/src/main/webapp/images/powerIcon.png new file mode 100644 index 0000000..0c80e22 Binary files /dev/null and b/src/main/webapp/images/powerIcon.png differ diff --git a/src/main/webapp/images/replaceMoney.png b/src/main/webapp/images/replaceMoney.png new file mode 100644 index 0000000..860e1a3 Binary files /dev/null and b/src/main/webapp/images/replaceMoney.png differ diff --git a/src/main/webapp/images/replaceWalkCar.png b/src/main/webapp/images/replaceWalkCar.png new file mode 100644 index 0000000..fb0dc98 Binary files /dev/null and b/src/main/webapp/images/replaceWalkCar.png differ diff --git a/src/main/webapp/images/roadRepair.png b/src/main/webapp/images/roadRepair.png new file mode 100644 index 0000000..05e21e9 Binary files /dev/null and b/src/main/webapp/images/roadRepair.png differ diff --git a/src/main/webapp/images/save.png b/src/main/webapp/images/save.png new file mode 100644 index 0000000..0f861ca Binary files /dev/null and b/src/main/webapp/images/save.png differ diff --git a/src/main/webapp/images/search.png b/src/main/webapp/images/search.png new file mode 100644 index 0000000..c8f567d Binary files /dev/null and b/src/main/webapp/images/search.png differ diff --git a/src/main/webapp/images/sendWater.png b/src/main/webapp/images/sendWater.png new file mode 100644 index 0000000..588423b Binary files /dev/null and b/src/main/webapp/images/sendWater.png differ diff --git a/src/main/webapp/images/sign.png b/src/main/webapp/images/sign.png new file mode 100644 index 0000000..a620933 Binary files /dev/null and b/src/main/webapp/images/sign.png differ diff --git a/src/main/webapp/images/timg.jpg b/src/main/webapp/images/timg.jpg new file mode 100644 index 0000000..cd3f017 Binary files /dev/null and b/src/main/webapp/images/timg.jpg differ diff --git a/src/main/webapp/images/topLogo.png b/src/main/webapp/images/topLogo.png new file mode 100644 index 0000000..4352ea7 Binary files /dev/null and b/src/main/webapp/images/topLogo.png differ diff --git a/src/main/webapp/images/top_bg.png b/src/main/webapp/images/top_bg.png new file mode 100644 index 0000000..972b1e7 Binary files /dev/null and b/src/main/webapp/images/top_bg.png differ diff --git a/src/main/webapp/images/top_bg2.png b/src/main/webapp/images/top_bg2.png new file mode 100644 index 0000000..1a8d0a6 Binary files /dev/null and b/src/main/webapp/images/top_bg2.png differ diff --git a/src/main/webapp/images/topbgnew.png b/src/main/webapp/images/topbgnew.png new file mode 100644 index 0000000..fa52cf9 Binary files /dev/null and b/src/main/webapp/images/topbgnew.png differ diff --git a/src/main/webapp/img/500.jpg b/src/main/webapp/img/500.jpg new file mode 100644 index 0000000..d5af107 Binary files /dev/null and b/src/main/webapp/img/500.jpg differ diff --git a/src/main/webapp/index.jsp b/src/main/webapp/index.jsp new file mode 100644 index 0000000..2ea210a --- /dev/null +++ b/src/main/webapp/index.jsp @@ -0,0 +1,27 @@ +<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> +<% +String path = request.getContextPath(); +String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; +%> + + + + + + + My JSP 'index.jsp' starting page + + + + + + + + + + + This is my JSP page.
+ + diff --git a/src/main/webapp/js/DatePicker/My97DatePicker.htm b/src/main/webapp/js/DatePicker/My97DatePicker.htm new file mode 100644 index 0000000..82c5ca8 --- /dev/null +++ b/src/main/webapp/js/DatePicker/My97DatePicker.htm @@ -0,0 +1,49 @@ + + + +My97DatePicker + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/js/DatePicker/WdatePicker.js b/src/main/webapp/js/DatePicker/WdatePicker.js new file mode 100644 index 0000000..3baa118 --- /dev/null +++ b/src/main/webapp/js/DatePicker/WdatePicker.js @@ -0,0 +1,39 @@ +/* + * My97 DatePicker 4.72 Release + * License: http://www.my97.net/dp/license.asp + */ +var $dp,WdatePicker;(function(){var _={ +$wdate:true, +$dpPath:"", +$crossFrame:true, +doubleCalendar:false, +enableKeyboard:true, +enableInputMask:true, +autoUpdateOnChanged:null, +whichDayIsfirstWeek:4, +position:{}, +lang:"auto", +skin:"default", +dateFmt:"yyyy-MM-dd", +realDateFmt:"yyyy-MM-dd", +realTimeFmt:"HH:mm:ss", +realFullFmt:"%Date %Time", +minDate:"1900-01-01 00:00:00", +maxDate:"2099-12-31 23:59:59", +startDate:"", +alwaysUseStartDate:false, +yearOffset:1911, +firstDayOfWeek:0, +isShowWeek:false, +highLineWeekDay:true, +isShowClear:true, +isShowToday:true, +isShowOK:true, +isShowOthers:true, +readOnly:false, +errDealMode:0, +autoPickDate:null, +qsEnabled:true, +autoShowQS:false, + +specialDates:null,specialDays:null,disabledDates:null,disabledDays:null,opposite:false,onpicking:null,onpicked:null,onclearing:null,oncleared:null,ychanging:null,ychanged:null,Mchanging:null,Mchanged:null,dchanging:null,dchanged:null,Hchanging:null,Hchanged:null,mchanging:null,mchanged:null,schanging:null,schanged:null,eCont:null,vel:null,errMsg:"",quickSel:[],has:{}};WdatePicker=U;var X=window,O="document",J="documentElement",C="getElementsByTagName",V,A,T,I,b;switch(navigator.appName){case"Microsoft Internet Explorer":T=true;break;case"Opera":b=true;break;default:I=true;break}A=L();if(_.$wdate)M(A+"skin/WdatePicker.css");V=X;if(_.$crossFrame){try{while(V.parent&&V.parent[O]!=V[O]&&V.parent[O][C]("frameset").length==0)V=V.parent}catch(P){}}if(!V.$dp)V.$dp={ff:I,ie:T,opera:b,el:null,win:X,status:0,defMinDate:_.minDate,defMaxDate:_.maxDate,flatCfgs:[]};B();if($dp.status==0)Z(X,function(){U(null,true)});if(!X[O].docMD){E(X[O],"onmousedown",D);X[O].docMD=true}if(!V[O].docMD){E(V[O],"onmousedown",D);V[O].docMD=true}E(X,"onunload",function(){if($dp.dd)Q($dp.dd,"none")});function B(){V.$dp=V.$dp||{};obj={$:function($){return(typeof $=="string")?X[O].getElementById($):$},$D:function($,_){return this.$DV(this.$($).value,_)},$DV:function(_,$){if(_!=""){this.dt=$dp.cal.splitDate(_,$dp.cal.dateFmt);if($)for(var B in $)if(this.dt[B]===undefined)this.errMsg="invalid property:"+B;else{this.dt[B]+=$[B];if(B=="M"){var C=$["M"]>0?1:0,A=new Date(this.dt["y"],this.dt["M"],0).getDate();this.dt["d"]=Math.min(A+C,this.dt["d"])}}if(this.dt.refresh())return this.dt}return""},show:function(){var A=V[O].getElementsByTagName("div"),$=100000;for(var B=0;B$)$=_}this.dd.style.zIndex=$+2;Q(this.dd,"block")},hide:function(){Q(this.dd,"none")},attachEvent:E};for(var $ in obj)V.$dp[$]=obj[$];$dp=V.$dp;$dp.dd=V[O].getElementById("_my97DP")}function E(A,$,_){if(T)A.attachEvent($,_);else if(_){var B=$.replace(/on/,"");_._ieEmuEventHandler=function($){return _($)};A.addEventListener(B,_._ieEmuEventHandler,false)}}function L(){var _,A,$=X[O][C]("script");for(var B=0;B<$.length;B++){_=$[B].src.substring(0,$[B].src.toLowerCase().indexOf("wdatepicker.js"));A=_.lastIndexOf("/");if(A>0)_=_.substring(0,A+1);if(_)break}return _}function F(F){var E,C;if(F.substring(0,1)!="/"&&F.indexOf("://")==-1){E=V.location.href;C=location.href;if(E.indexOf("?")>-1)E=E.substring(0,E.indexOf("?"));if(C.indexOf("?")>-1)C=C.substring(0,C.indexOf("?"));var G,I,$="",D="",A="",J,H,B="";for(J=0;J_.scrollTop||A.scrollLeft>_.scrollLeft))?A:_;return{"top":B.scrollTop,"left":B.scrollLeft}}function D($){var _=$?($.srcElement||$.target):null;try{if($dp.cal&&!$dp.eCont&&$dp.dd&&_!=$dp.el&&$dp.dd.style.display=="block")$dp.cal.close()}catch($){}}function Y(){$dp.status=2;H()}function H(){if($dp.flatCfgs.length>0){var $=$dp.flatCfgs.shift();$.el={innerHTML:""};$.autoPickDate=true;$.qsEnabled=false;K($)}}var R,$;function U(J,C){$dp.win=X;B();J=J||{};if(C){if(!G()){$=$||setInterval(function(){if(V[O].readyState=="complete")clearInterval($);U(null,true)},50);return}if($dp.status==0){$dp.status=1;K({el:{innerHTML:""}},true)}else return}else if(J.eCont){J.eCont=$dp.$(J.eCont);$dp.flatCfgs.push(J);if($dp.status==2)H()}else{if($dp.status==0){U(null,true);return}if($dp.status!=2)return;var F=D();if(F){$dp.srcEl=F.srcElement||F.target;F.cancelBubble=true}$dp.el=J.el=$dp.$(J.el||$dp.srcEl);if(!$dp.el||$dp.el["My97Mark"]===true||$dp.el.disabled||($dp.el==$dp.el&&Q($dp.dd)!="none"&&$dp.dd.style.left!="-1970px")){$dp.el["My97Mark"]=false;return}K(J);if(F&&$dp.el.nodeType==1&&$dp.el["My97Mark"]===undefined){$dp.el["My97Mark"]=false;var _,A;if(F.type=="focus"){_="onclick";A="onfocus"}else{_="onfocus";A="onclick"}E($dp.el,_,$dp.el[A])}}function G(){if(T&&V!=X&&V[O].readyState!="complete")return false;return true}function D(){if(I){func=D.caller;while(func!=null){var $=func.arguments[0];if($&&($+"").indexOf("Event")>=0)return $;func=func.caller}return null}return event}}function S(_,$){return _.currentStyle?_.currentStyle[$]:document.defaultView.getComputedStyle(_,false)[$]}function Q(_,$){if(_)if($!=null)_.style.display=$;else return S(_,"display")}function K(H,$){for(var D in _)if(D.substring(0,1)!="$")$dp[D]=_[D];for(D in H)if($dp[D]!==undefined)$dp[D]=H[D];var E=$dp.el?$dp.el.nodeName:"INPUT";if($||$dp.eCont||new RegExp(/input|textarea|div|span|p|a/ig).test(E))$dp.elProp=E=="INPUT"?"value":"innerHTML";else return;if($dp.lang=="auto")$dp.lang=T?navigator.browserLanguage.toLowerCase():navigator.language.toLowerCase();if(!$dp.dd||$dp.eCont||($dp.lang&&$dp.realLang&&$dp.realLang.name!=$dp.lang&&$dp.getLangIndex&&$dp.getLangIndex($dp.lang)>=0)){if($dp.dd&&!$dp.eCont)V[O].body.removeChild($dp.dd);if(_.$dpPath=="")F(A);var B="";if($dp.eCont){$dp.eCont.innerHTML=B;Z($dp.eCont.childNodes[0],Y)}else{$dp.dd=V[O].createElement("DIV");$dp.dd.id="_my97DP";$dp.dd.style.cssText="position:absolute";$dp.dd.innerHTML=B;V[O].body.appendChild($dp.dd);Z($dp.dd.childNodes[0],Y);if($)$dp.dd.style.left=$dp.dd.style.top="-1970px";else{$dp.show();C()}}}else if($dp.cal){$dp.show();$dp.cal.init();if(!$dp.eCont)C()}function C(){var F=$dp.position.left,B=$dp.position.top,C=$dp.el;if(C!=$dp.srcEl&&(Q(C)=="none"||C.type=="hidden"))C=$dp.srcEl;var H=W(C),$=G(X),D=N(V),A=a(V),E=$dp.dd.offsetHeight,_=$dp.dd.offsetWidth;if(isNaN(B)){if(B=="above"||(B!="under"&&(($.topM+H.bottom+E>D.height)&&($.topM+H.top-E>0))))B=A.top+$.topM+H.top-E-2;else B=A.top+$.topM+Math.min(H.bottom,D.height-E)+2}else B+=A.top+$.topM;if(isNaN(F))F=A.left+Math.min($.leftM+H.left,D.width-_-5)-(T?2:0);else F+=A.left+$.leftM;$dp.dd.style.top=B+"px";$dp.dd.style.left=F+"px"}}})() \ No newline at end of file diff --git a/src/main/webapp/js/DatePicker/calendar.js b/src/main/webapp/js/DatePicker/calendar.js new file mode 100644 index 0000000..46cc248 --- /dev/null +++ b/src/main/webapp/js/DatePicker/calendar.js @@ -0,0 +1,5 @@ +/* + * My97 DatePicker 4.72 Release + * License: http://www.my97.net/dp/license.asp + */ +eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p;}('o $c;k($5u){5Q.2X.7n("6G",l($){k(!$)h.25();t $});5Q.2X.7e("6w",l(){o $=h.6t;3i($.5M!=1)$=$.7g;t $});7f.2X.2I=l($,b){o A=$.1l(/6p/,"");b.5R=l($){6L.1Y=$;t b()};h.7t(A,b.5R,1m)}}l 5H(){$c=h;h.2Y=[];$d=1Q.7q("x");$d.1d="4d";$d.1L="<1v Y=3M><1v Y=3M><1x 2o=0 2m=0 2u=0><1j><18 7J=2><4h 1D=7L>&4B;<1v Y=7o 4b=2><1v 1g=\\":\\" Y=5P 5N><1v Y=5O 4b=2><1v 1g=\\":\\" Y=5P 5N><1v Y=5O 4b=2><18><1O 1D=7I><1j><18><1O 1D=7Q><1v Y=4e 1D=7G 3o=1O><1v Y=4e 1D=7z 3o=1O><1v Y=4e 1D=7E 3o=1O>";6M($d,l(){3t()});A();$f.1W=[1Q,$d.1M,$d.1t,$d.2V,$d.3r,$d.3I,$d.2S,$d.28,$d.1U];1b(o B=0;B<$f.1W.u;B++){o b=$f.1W[B];b.3q=B==$f.1W.u-1?$f.1W[1]:$f.1W[B+1];$f.2I(b,"4c",4R)}h.5F();$();4Q("y,M,H,m,s");$d.5S.1q=l(){4Z(1)};$d.5T.1q=l(){4Z(-1)};$d.4i.1q=l(){k($d.1E.1c.2h!="6K"){$c.4p();3w($d.1E)}q 1n($d.1E)};1Q.6N.4q($d);l A(){o b=$("a");1r=$("x"),1I=$("1v"),4g=$("1O"),5G=$("4h");$d.3y=b[0];$d.3V=b[1];$d.42=b[3];$d.3Y=b[2];$d.3K=1r[9];$d.1M=1I[0];$d.1t=1I[1];$d.4k=1r[0];$d.3T=1r[4];$d.2J=1r[6];$d.1E=1r[10];$d.2T=1r[11];$d.2H=1r[12];$d.6R=1r[13];$d.6Q=1r[14];$d.6O=1r[15];$d.4i=1r[16];$d.3z=1r[17];$d.2V=1I[2];$d.3r=1I[4];$d.3I=1I[6];$d.2S=1I[7];$d.28=1I[8];$d.1U=1I[9];$d.5S=4g[0];$d.5T=4g[1];$d.5L=5G[0];l $($){t $d.4o($)}}l $(){$d.3y.1q=l(){$1P=$1P<=0?$1P-1:-1;k($1P%5==0){$d.1t.2d();t}$d.1t.1g=$n.y-1;$d.1t.2n()};$d.3V.1q=l(){$n.2C("M",-1);$d.1M.2n()};$d.42.1q=l(){$n.2C("M",1);$d.1M.2n()};$d.3Y.1q=l(){$1P=$1P>=0?$1P+1:1;k($1P%5==0){$d.1t.2d();t}$d.1t.1g=$n.y+1;$d.1t.2n()}}}5H.2X={5F:l(){$1P=0;$f.5K=h;k($f.3N&&$f.z.3N!=1i){$f.z.3N=19;$f.z.4w()}$();h.5j();$n=h.6f=1a 1C();$1B=1a 1C();$1w=h.2w=1a 1C();h.1y=h.34($f.1y);h.2P=$f.2P==1i?($f.Z.2a&&$f.Z.2a?1m:19):$f.2P;$f.2z=$f.2z==1i?($f.4j&&$f.Z.d?1m:19):$f.2z;h.49=h.3f("8a");h.68=h.3f("8b");h.64=h.3f("89");h.5C=h.3f("87");h.1X=h.3P($f.1X,$f.1X!=$f.5D?$f.1S:$f.3j,$f.5D);h.1Z=h.3P($f.1Z,$f.1Z!=$f.5E?$f.1S:$f.3j,$f.5E);k(h.1X.2r(h.1Z)>0)$f.4f=$1k.7V;k(h.1R()){h.5J();h.3O=$f.z[$f.1z]}q h.3m(1m,2);4u($n);$d.5L.1L=$1k.7R;$d.2S.1g=$1k.7S;$d.28.1g=$1k.7Z;$d.1U.1g=$1k.80;$d.1U.1N=!$c.1u($1w);h.5c();h.6l();k($f.4f)7Y($f.4f);h.4C();k($f.z.5M==1&&$f.z["4m"]===4Y){$f.2I($f.z,"4c",4R);$f.2I($f.z,"2n",l(){k($f.1K.1c.2h=="2E"){$c.3Q();k($f.5K.3O!=$f.z[$f.1z]&&$f.z.75)4I($f.z,"73")}})}$c.1f=$f.z;3t();l $(){o b,$;1b(b=0;($=1Q.4o("71")[b]);b++)k($["72"].1o("1c")!=-1&&$["5I"]){$.1N=19;k($["5I"]==$f.79)$.1N=1m}}},5J:l(){o b=h.2L();k(b!=0){o $;k(b>0)$=h.1Z;q $=h.1X;k($f.Z.3u){$n.y=$.y;$n.M=$.M;$n.d=$.d}k($f.Z.2a){$n.H=$.H;$n.m=$.m;$n.s=$.s}}},3b:l(J,C,Q,E,B,G,F,K,L){o $;k(J&&J.1R)$=J;q{$=1a 1C();k(J!=""){C=C||$f.1y;o H,P=0,O,A=/3a|2l|36|y|2A|2Z|3U|M|1K|d|%2k|4J|H|4K|m|4G|s|3c|D|4H|W|w/g,b=C.35(A);A.2x=0;k(L)O=J.4O(/\\W+/);q{o D=0,M="^";3i((O=A.3h(C))!==1i){k(D>=0)M+=C.1F(D,O.3x);D=A.2x;2G(O[0]){1e"3a":M+="(\\\\d{4})";1h;1e"2l":M+="(\\\\d{3})";1h;1e"2A":1e"2Z":1e"3c":1e"D":M+="(\\\\D+)";1h;5X:M+="(\\\\d\\\\d?)";1h}}M+=".*$";O=1a 4r(M).3h(J);P=1}k(O){1b(H=0;H=0){A=A.1l(/%2k/g,"0");$.d=0;$.M=2e($.M)+1}$.20()}t $},1R:l(){o b,$;k($f.7b||($f.6b!=""&&$f.z[$f.1z]=="")){b=h.34($f.6b);$=$f.1S}q{b=$f.z[$f.1z];$=h.1y}$n.2c(h.3b(b,$));k(b!=""){o A=1;k($f.Z.3u&&!h.44($n)){$n.y=$1B.y;$n.M=$1B.M;$n.d=$1B.d;A=0}k($f.Z.2a&&!h.4a($n)){$n.H=$1B.H;$n.m=$1B.m;$n.s=$1B.s;A=0}t A&&h.1u($n)}t 1},44:l($){k($.y!=1i)$=3n($.y,4)+"-"+$.M+"-"+$.d;t $.35(/^((\\d{2}(([69][7p])|([6a][26]))[\\-\\/\\s]?((((0?[6h])|(1[6i]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[6g])))|(((0?[6e])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])))))|(\\d{2}(([69][74])|([6a][7u]))[\\-\\/\\s]?((((0?[6h])|(1[6i]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[6g])))|(((0?[6e])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\\s(((0?[0-9])|([1-2][0-3]))\\:([0-5]?[0-9])((\\s)|(\\:([0-5]?[0-9])))))?$/)},4a:l($){k($.H!=1i)$=$.H+":"+$.m+":"+$.s;t $.35(/^([0-9]|([0-1][0-9])|([2][0-3])):([0-9]|([0-5][0-9])):([0-9]|([0-5][0-9]))$/)},2L:l($,A){$=$||$n;o b=$.2r(h.1X,A);k(b>0){b=$.2r(h.1Z,A);k(b<0)b=0}t b},1u:l($,A,B){A=A||$f.Z.3A;o b=h.2L($,A);k(b==0){b=1;k(A=="d"&&B==1i)B=2y.5Y((1a 1G($.y,$.M-1,$.d).21()-$f.41)%7);b=!h.67(B)&&!h.5Z($,A)}q b=0;t b},62:l(){o b=$f.z,A=h,$=$f.z[$f.1z];k($!=1i){k($!="")A.2w.2c(A.3b($,A.1y));k($==""||(A.44(A.2w)&&A.4a(A.2w)&&A.1u(A.2w))){k($!=""){A.6f.2c(A.2w);A.2p()}q A.3R("")}q t 1m}t 19},3Q:l($){3t();k(h.62()){h.3m(19);$f.1n()}q{k($){3k($);h.3m(1m,2)}q h.3m(1m);$f.24()}},3F:l(){o E,C,D,K,A,H=1a 2s(),F=$1k.5y,G=$f.41,I="",$="",b=1a 1C($n.y,$n.M,$n.d,0,0,0),J=b.y,B=b.M;A=1-1a 1G(J,B-1,1).21()+G;k(A>1)A-=7;H.a("<1x Y=5g 2U=3p% 2u=0 2o=0 2m=0>");H.a("<1j Y=5f 4A=5h>");k($f.61)H.a("<18>"+F[0]+"");1b(E=0;E<7;E++)H.a("<18>"+F[(G+E)%7+1]+"");H.a("");1b(E=1,C=A;E<7;E++){H.a("<1j>");1b(D=0;D<7;D++){b.1R(J,B,C++);b.20();k(b.M==B){K=19;k(b.2r($1w,"d")==0)I="7s";q k(b.2r($1B,"d")==0)I="7d";q I=($f.63&&(0==(G+D)%7||6==(G+D)%7)?"7k":"7l");$=($f.63&&(0==(G+D)%7||6==(G+D)%7)?"7i":"7j")}q k($f.5s){K=19;I="7c";$="8L"}q K=1m;k($f.61&&D==0&&(E<4||K))H.a("<18 Y=8H>"+4t(b,$f.41==0?1:0)+"");H.a("<18 ");k(K){k(h.1u(b,"d",D)){k(h.65(2y.5Y((1a 1G(b.y,b.M-1,b.d).21()-$f.41)%7))||h.66(b))I="8K";H.a("1q=\\"2O("+b.y+","+b.M+","+b.d+");\\" ");H.a("2t=\\"h.1d=\'"+$+"\'\\" ");H.a("2q=\\"h.1d=\'"+I+"\'\\" ")}q I="8M";H.a("Y="+I);H.a(">"+b.d+"")}q H.a(">")}H.a("")}H.a("");t H.j()},5Z:l(b,A){o $=h.47(b,h.49,A);t(h.49&&$f.5e)?!$:$},67:l($){t h.4x($,h.68)},66:l($){t h.47($,h.64)},65:l($){t h.4x($,h.5C)},47:l($,B,A){o b=A=="d"?$f.4l:$f.1S;t B?B.4P(h.3S(b,$)):0},4x:l(b,$){t $?$.4P(b):0},2R:l(p,c,r,e,2j){o s=1a 2s(),4y=2j?"r"+p:p;5b=$n[p];s.a("<1x 2o=0 2m=3 2u=0");1b(o i=0;i");1b(o j=0;j"+(p=="M"?$1k.29[$n[p]-1]:$n[p])+"")}s.a("")}s.a("");$n[p]=5b;t s.j()},4E:l($,b){k($){o A=$.8Q;k($6m)A=$.8V().2v;b.1c.2v=A}},8E:l($){h.4E($,$d.3T);$d.3T.1L=h.2R("M",2,6,"i+j*6+1",$==$d.2i)},4v:l(b,A){o $=1a 2s();A=2K(A,$n.y-5);$.a(h.2R("y",2,5,A+"+i+j*5",b==$d.2D));$.a("<1x 2o=0 2m=3 2u=0 4A=5h><1j><18 ");$.a(h.1X.y\\8l<18 Y=\'1A\' 2t=\\"h.1d=\'3e\'\\" 2q=\\"h.1d=\'1A\'\\" 3Z=\\"1n($d.2J);$d.1t.4w();\\">\\5l<18 ");$.a(h.1Z.y>A+10?"Y=\'1A\' 2t=\\"h.1d=\'3e\'\\" 2q=\\"h.1d=\'1A\'\\" 3Z=\'k(1Y.25)1Y.25();1Y.4S=19;$c.4v(0,"+(A+10)+")\'":"Y=\'4z\'");$.a(">\\8p");h.4E(b,$d.2J);$d.2J.1L=$.j()},3C:l(A,b,$){$d[A+"D"].1L=h.2R(A,6,b,$)},8n:l(){h.3C("H",4,"i * 6 + j")},8e:l(){h.3C("m",2,"i * 30 + j * 5")},8c:l(){h.3C("s",1,"j * 10")},4p:l(A){h.6F();o b=h.2Y,C=b.1c,$=1a 2s();$.a("<1x Y=5g 2U=3p% 2f=3p% 2u=0 2o=0 2m=0>");$.a("<1j Y=5f><18>"+$1k.8g+"");k(!A)$.a("\\5l");$.a("");1b(o B=0;B<18 1c=\'55-4A:2v\' 3d=\'3d\' Y=\'1A\' 2t=\\"h.1d=\'3e\'\\" 2q=\\"h.1d=\'1A\'\\" 1q=\\"");$.a("2O("+b[B].y+", "+b[B].M+", "+b[B].d+","+b[B].H+","+b[B].m+","+b[B].s+");\\">");$.a("&4B;"+h.3S(1i,b[B]));$.a("")}q $.a("<1j><18 Y=\'1A\'>&4B;");$.a("");$d.1E.1L=$.j()},5j:l(){$(/w/);$(/4H|W/);$(/3c|D/);$(/3a|2l|36|y/);$(/2A|2Z|3U|M/);$(/1K|d/);$(/4J|H/);$(/4K|m/);$(/4G|s/);$f.Z.3u=($f.Z.y||$f.Z.M||$f.Z.d)?19:1m;$f.Z.2a=($f.Z.H||$f.Z.m||$f.Z.s)?19:1m;$f.3j=$f.3j.1l(/%1G/,$f.4l).1l(/%8w/,$f.5d);k($f.Z.3u){k($f.Z.2a)$f.1S=$f.3j;q $f.1S=$f.4l}q $f.1S=$f.5d;l $(b){o $=(b+"").4T(1,2);$f.Z[$]=b.3h($f.1y)?($f.Z.3A=$,19):1m}},5c:l(){o $=0;$f.Z.y?($=1,24($d.1t,$d.3y,$d.3Y)):1n($d.1t,$d.3y,$d.3Y);$f.Z.M?($=1,24($d.1M,$d.3V,$d.42)):1n($d.1M,$d.3V,$d.42);$?24($d.4k):1n($d.4k);k($f.Z.2a){24($d.2H);3G($d.2V,$f.Z.H);3G($d.3r,$f.Z.m);3G($d.3I,$f.Z.s)}q 1n($d.2H);2M($d.2S,$f.5w);2M($d.28,$f.5x);2M($d.1U,$f.4j);2M($d.4i,!$f.5n&&$f.Z.d&&$f.8t);k($f.6v||!($f.5w||$f.5x||$f.4j))1n($d.3z);q 24($d.3z)},3m:l(B,D){o A=$f.z,b=$5u?"Y":"1d";k(B)C(A);q{k(D==1i)D=$f.8s;2G(D){1e 0:k(8B($1k.8C)){A[$f.1z]=h.3O;C(A)}q $(A);1h;1e 1:A[$f.1z]=h.3O;C(A);1h;1e 2:$(A);1h}}l C(A){o B=A.1d;k(B){o $=B.1l(/5B/g,"");k(B!=$)A.5A(b,$)}}l $($){$.5A(b,$.1d+" 5B")}},1V:l(D,b,$){$=$||$1w;o H,C=[D+D,D],E,A=$[D],F=l($){t 3n(A,$.u)};2G(D){1e"w":A=21($);1h;1e"D":o G=21($)+1;F=l($){t $.u==2?$1k.8A[G]:$1k.5y[G]};1h;1e"W":A=4t($);1h;1e"y":C=["3a","2l","36","y"];b=b||C[0];F=l(b){t 3n((b.u<4)?(b.u<3?$.y%3p:($.y+5z-$f.5p)%8x):A,b.u)};1h;1e"M":C=["2A","2Z","3U","M"];F=l($){t($.u==4)?$1k.5m[A-1]:($.u==3)?$1k.29[A-1]:3n(A,$.u)};1h}b=b||D+D;k("2N".1o(D)>-1&&D!="y"&&!$f.Z[D])k("8h".1o(D)>-1)A=0;q A=1;o B=[];1b(H=0;H=0){B[H]=F(E);b=b.1l(E,"{"+H+"}")}}1b(H=0;H=0){o A=1a 1C();A.2c($);A.d=0;A.M=2e(A.M)+1;A.20();b=b.1l(/%2k/g,A.d)}o B="8d";1b(o D=0;D<1j><18 5q=5r>");$.a(h.3F());$.a("<18 5q=5r>");$n.2C("M",1);$.a(h.3F());$d.2i=$d.1M.5o(19);$d.2D=$d.1t.5o(19);$d.3K.4q($d.2i);$d.3K.4q($d.2D);$d.2i.1g=$1k.29[$n.M-1];$d.2i["3v"]=$n.M;$d.2D.1g=$n.y;4Q("6H,6E");$d.2i.1d=$d.2D.1d="3M";$n.2C("M",-1);$.a("");$d.2T.1L=$.j()}q{$d.1d="4d";$d.2T.1L=h.3F()}k(!$f.Z.d||$f.8J){h.4p(19);3w($d.1E)}q 1n($d.1E);h.6P()},6P:l(){o b=8W.1Q.4o("8k");1b(o C=0;C=B){A+=B;$d.1c.2f=A}q $d.1c.2f=$;b[C].1c.2f=2y.5v(A,$d.3l)+"6s"}}$d.1E.1c.2U=$d.2T.6q;$d.1E.1c.2f=$d.2T.3l},4W:l(){$n.d=2y.8D(1a 1G($n.y,$n.M,0).2F(),$n.d);$1w.2c($n);h.2p();k(!$f.6v)k(h.1u($n)){4n();1n($f.1K)}k($f.6u)2g("6u")},6l:l(){$d.2S.1q=l(){k(!2g("8q")){$f.z[$f.1z]="";$c.3R("");4n();1n($f.1K);k($f.6n)2g("6n")}};$d.1U.1q=l(){2O()};k(h.1u($1B)){$d.28.1N=1m;$d.28.1q=l(){$n.2c($1B);2O()}}q $d.28.1N=19},6F:l(){o H,G,A,F,C=[],$=5,E=$f.6I.u,b=$f.Z.3A;k(E>$)E=$;q k(b=="m"||b=="s")C=[-60,-30,0,30,60,-15,15,-45,45];q 1b(H=0;H<$;H++)C[H]=$n[b]-2+H;1b(H=G=0;H=0)1H=43(1H,0,59);k($1w[p]!=1H&&!2g(p+"7U")){o 6o="1T(\\""+p+"\\","+1H+")",3B=$c.2L();k(3B==0)2W(6o);q k(3B<0)4D($c.1X);q k(3B>0)4D($c.1Z);$d.1U.1N=!$c.1u($1w);k("7C".1o(p)>=0)$c.4C();2g(p+"7D")}l 4D($){4u($c.1u($)?$:$1w)}}l 4u($){1T("y",$.y);1T("M",$.M);1T("d",$.d);1T("H",$.H);1T("m",$.m);1T("s",$.s)}l 2O(F,B,b,D,C,A){o $=1a 1C($n.y,$n.M,$n.d,$n.H,$n.m,$n.s);$n.1R(F,B,b,D,C,A);k(!2g("7H")){o E=$.y==F&&$.M==B&&$.d==b;k(!E&&2Q.u!=0){c("y",F);c("M",B);c("d",b);$c.1f=$f.z;k($f.2z)$c.2p()}k($c.2P||E||2Q.u==0)$c.4W()}q $n=$}l 2g($){o b;k($f[$])b=$f[$].4V($f.z,$f);t b}l 1T(b,$){k($==1i)$=$n[b];$1w[b]=$n[b]=$;k("7K".1o(b)>=0)$d[b+"I"].1g=$;k(b=="M"){$d.1M["3v"]=$;$d.1M.1g=$1k.29[$-1]}}l 43(b,$,A){k(b<$)b=$;q k(b>A)b=A;t b}l 6M($,b){$.2I("4c",l(){o $=1Y,A=($.4M==4Y)?$.4F:$.4M;k(A==9)b()})}l 3n($,b){$=$+"";3i($.u=0?C:5;1b(o D=0;D<=C;D++){B=A.1J(D);b=h[B]-$[B];k(b>0)t 1;q k(b<0)t-1}t 0},20:l(){o $=1a 1G(h.y,h.M-1,h.d,h.H,h.m,h.s);h.y=$.52();h.M=$.5a()+1;h.d=$.2F();h.H=$.54();h.m=$.53();h.s=$.56();t!6j(h.y)},2C:l(b,$){k("2N".1o(b)>=0){o A=h.d;k(b=="M")h.d=1;h[b]+=$;h.20();h.d=A}}};l 2e($){t 7F($,10)}l 3E($,b){t 2K(2e($),b)}l 1p($,A,b){t 3E($,2K(A,b))}l 2K($,b){t $==1i||6j($)?b:$}l 4I(A,$){k($6m)A.4I("6p"+$);q{o b=1Q.82("88");b.7W($,19,19);A.7X(b)}}l 3J($){o A,B,b="y,M,H,m,s,6E,6H".4O(",");1b(B=0;B=0?6B(v):$n[p];k(p=="y"){2j=h==$d.2D;k(2j&&$n.M==12)$n.y-=1}q k(p=="M"){2j=h==$d.2i;k(2j){51=$1k.29[$n[p]-1];k(6C==12)$n.y+=1;$n.2C("M",-1)}k($1w.M==$n.M)h.1g=51||$1k.29[$n[p]-1];k(($1w.y!=$n.y))c("y",$n.y)}2W("c(\\""+p+"\\","+$n[p]+")");k(6y!==19){k(p=="y"||p=="M")h.1d="3M";1n($d[p+"D"])}k($f.2z)$c.2p()}l 3k($){k($.25){$.25();$.8i()}q{$.4S=19;$.6G=1m}k($5t)$.4F=0}l 4Q($){o A=$.4O(",");1b(o B=0;B=8m&&Q<=8U)Q-=48;k($f.8I&&58){k(!H.3q){H.3q=$f.1W[1];$c.1f=$f.z}k(H==$f.z)$c.1f=$f.z;k(Q==27)k(H==$f.z){$c.3Q();t}q $f.z.2d();k(Q>=37&&Q<=40){o U;k($c.1f==$f.z||$c.1f==$d.1U)k($f.Z.d){U="d";k(Q==38)$n[U]-=7;q k(Q==39)$n[U]+=1;q k(Q==37)$n[U]-=1;q $n[U]+=7;$n.20();c("y",$n["y"]);c("M",$n["M"]);c("d",$n[U]);3k(M);t}q{U=$f.Z.3A;$d[U+"I"].2d()}U=U||3J($c.1f);k(U){k(Q==38||Q==39)$n[U]+=1;q $n[U]-=1;$n.20();$c.1f.1g=$n[U];3L.4V($c.1f,19);$c.1f.4U()}}q k(Q==9){o D=H.3q;1b(o R=0;R<$f.1W.u;R++)k(D.1N==19||D.3l==0)D=D.3q;q 1h;k($c.1f!=D){$c.1f=D;D.2d()}}q k(Q==13){3L.4V($c.1f);k($c.1f.3o=="1O")$c.1f.8P();q $c.4W();$c.1f=$f.z}}q k(Q==9&&H==$f.z)$c.3Q();k($f.8S&&!$5t&&!$f.3N&&$c.1f==$f.z&&(Q>=48&&Q<=57)){o T=$f.z,S=T.1g,F=E(T),I={22:"",1s:[]},R=0,K,N=0,X=0,O=0,J,b=/3a|2l|36|y|3U|M|1K|d|%2k|4J|H|4K|m|4G|s|4H|W|w/g,L=$f.1y.35(b),B,A,$,V,W,G,J=0;k(S!=""){O=S.35(/[0-9]/g);O=O==1i?0:O.u;1b(R=0;R=0?1:0;k(O==1&&F>=S.u)F=S.u-1}S=S.1F(0,F)+8r.8v(Q)+S.1F(F+O);F++;1b(R=0;R=0){S+=$f.1y.1F(N,X);k(F>=N+J&&F<=X+J)F+=X-N}N=b.2x;G=N-X;B=I.22.1F(0,G);A=K[0].1J(0);$=2e(B.1J(0));k(I.22.u>1){V=I.22.1J(1);W=$*10+2e(V)}q{V="";W=$}k(I.1s[X+1]||A=="M"&&W>12||A=="d"&&W>31||A=="H"&&W>23||"5k".1o(A)>=0&&W>59){k(K[0].u==2)B="0"+$;q B=$;F++}q k(G==1){B=W;G++;J++}S+=B;I.22=I.22.1F(G);k(I.22=="")1h}T.1g=S;P(T,F);3k(M)}k(58&&$c.1f!=$f.z&&!((Q>=48&&Q<=57)||Q==8||Q==46))3k(M);l E(A){o b=0;k($f.4N.1Q.6d){o B=$f.4N.1Q.6d.6U(),$=B.55.u;B.5V("4X",-A.1g.u);b=B.55.u-$}q k(A.4L||A.4L=="0")b=A.4L;t b}l P(b,A){k(b.5U){b.2d();b.5U(A,A)}q k(b.5W){o $=b.5W();$.7w(19);$.7y("4X",A);$.5V("4X",A);$.4U()}}}',62,555,'|||||||||||_||||dp||this|||if|function||dt|var||else|||return|length|||div||el|||||||||||||||||||||||||class|has|||||||||td|true|new|for|style|className|case|currFocus|value|break|null|tr|lang|replace|false|hide|indexOf|pInt3|onclick|divs|arr|yI|checkValid|input|sdt|table|dateFmt|elProp|menu|tdt|DPDate|id|qsDivSel|substring|Date|pv|ipts|charAt|dd|innerHTML|MI|disabled|button|ny|document|loadDate|realFmt|sv|okI|getP|focusArr|minDate|event|maxDate|refresh|getDay|str||show|preventDefault|||todayI|aMonStr|st|9700|loadFromDate|focus|pInt|height|callFunc|display|rMI|isR|ld|yyy|cellpadding|onblur|cellspacing|update|onmouseout|compareWith|sb|onmouseover|border|left|date|lastIndex|Math|autoUpdateOnChanged|MMMM|tmpEval|attr|ryI|none|getDate|switch|tDiv|attachEvent|yD|rtn|checkRange|shorH|yMdHms|day_Click|autoPickDate|arguments|_f|clearI|dDiv|width|HI|eval|prototype|QS|MMM||||menuSel|doExp|match|yy||||yyyy|splitDate|DD|nowrap|menuOn|_initRe|float|exec|while|realFullFmt|_cancelKey|offsetHeight|mark|doStr|type|100|nextCtrl|mI|setDisp|hideSel|sd|realValue|showB|index|navLeftImg|bDiv|minUnit|rv|_fHMS|ps|pInt2|_fd|disHMS|navImg|sI|_foundInput|rMD|_blur|yminput|readOnly|oldValue|doCustomDate|close|setRealValue|getDateStr|MD|MM|leftImg|href|toLowerCase|navRightImg|onmousedown||firstDayOfWeek|rightImg|makeInRange|isDate|||testDate||ddateRe|isTime|maxlength|onkeydown|WdateDiv|dpButton|errMsg|btns|span|qsDiv|isShowOK|titleDiv|realDateFmt|My97Mark|elFocus|getElementsByTagName|_fillQS|appendChild|RegExp|getNewDateStr|getWeek|_setAll|_fy|blur|testDay|fp|invalidMenu|align|nbsp|draw|_setFrom|_fMyPos|keyCode|ss|WW|fireEvent|HH|mm|selectionStart|which|win|split|test|_inputBindEvent|_tab|cancelBubble|slice|select|call|pickDate|character|undefined|updownEvent||mStr|getFullYear|getMinutes|getHours|text|getSeconds||isShow||getMonth|bak|initShowAndHide|realTimeFmt|opposite|MTitle|WdayTable|center|right|_dealFmt|ms|xd7|aLongMonStr|doubleCalendar|cloneNode|yearOffset|valign|top|isShowOthers|OPERA|FF|max|isShowClear|isShowToday|aWeekStr|2000|setAttribute|WdateFmtErr|sdayRe|defMinDate|defMaxDate|init|spans|My97DP|title|_makeDateInRange|cal|timeSpan|nodeType|readonly|tE|tm|Event|_ieEmuEventHandler|upButton|downButton|setSelectionRange|moveStart|createTextRange|default|abs|testDisDate||isShowWeek|checkAndUpdate|highLineWeekDay|sdateRe|testSpeDay|testSpeDate|testDisDay|ddayRe|02468|13579|startDate|re|selection|469|newdate|01|13578|02|isNaN|_focus|initBtn|IE|oncleared|func|on|offsetWidth|coverDate|px|target|onpicked|eCont|srcElement|yminputfocus|showDiv|setDate|hidden|Number|oldv|nodeName|ry|initQS|returnValue|rM|quickSel|valueOf|block|window|attachTabEvent|body|sD|autoSize|mD|HD|Function|86400000|createRange|vel|NavImgll|round|dpTitle|typeof|object|link|rel|change|1235679|onchange|NavImgl|substr|1900|skin|MMenu|alwaysUseStartDate|WotherDay|Wtoday|__defineGetter__|HTMLElement|parentNode|Array|WwdayOn|WdayOn|Wwday|Wday|setMonth|__defineSetter__|tB|048|createElement|join|Wselday|addEventListener|01345789|whichDayIsfirstWeek|collapse|dpTime|moveEnd|dpTodayInput|hhMenu|overflow|yMd|changed|dpOkInput|parseInt|dpClearInput|onpicking|dpTimeUp|rowspan|yHms|dpTimeStr|mmMenu|dpControl|dpQS|ssMenu|dpTimeDown|timeStr|clearStr|00|changing|err_1|initEvent|dispatchEvent|alert|todayStr|okStr|YMenu|createEvent|NavImgrr|NavImgr|absolute|position|specialDays|HTMLEvents|specialDates|disabledDates|disabledDays|_fs|ydHmswW|_fm|scrollHeight|quickStr|Hms|stopPropagation|contentWindow|iframe|u2190|96|_fH|getNewP|u2192|onclearing|String|errDealMode|qsEnabled|onfocus|fromCharCode|Time|1000|pointer|cursor|aLongWeekStr|confirm|errAlertMsg|min|_fM|try|textarea|Wweek|enableKeyboard|autoShowQS|WspecialDay|WotherDayOn|WinvalidDay|srcEl|catch|click|offsetLeft|WdayTable2|enableInputMask|WdateDiv2|105|getBoundingClientRect|parent'.split('|'),0,{})) \ No newline at end of file diff --git a/src/main/webapp/js/DatePicker/config.js b/src/main/webapp/js/DatePicker/config.js new file mode 100644 index 0000000..20db8dd --- /dev/null +++ b/src/main/webapp/js/DatePicker/config.js @@ -0,0 +1,12 @@ +var langList = +[ + {name:'en', charset:'UTF-8'}, + {name:'zh-cn', charset:'UTF-8'}, + {name:'zh-tw', charset:'UTF-8'} +]; + +var skinList = +[ + {name:'default', charset:'UTF-8'}, + {name:'whyGreen', charset:'UTF-8'} +]; \ No newline at end of file diff --git a/src/main/webapp/js/DatePicker/lang/en.js b/src/main/webapp/js/DatePicker/lang/en.js new file mode 100644 index 0000000..3159885 --- /dev/null +++ b/src/main/webapp/js/DatePicker/lang/en.js @@ -0,0 +1,14 @@ +var $lang={ +errAlertMsg: "Invalid date or the date out of range,redo or not?", +aWeekStr: ["wk", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], +aLongWeekStr:["wk","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"], +aMonStr: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], +aLongMonStr: ["January","February","March","April","May","June","July","August","September","October","November","December"], +clearStr: "Clear", +todayStr: "Today", +okStr: "OK", +updateStr: "OK", +timeStr: "Time", +quickStr: "Quick Selection", +err_1: 'MinDate Cannot be bigger than MaxDate!' +} \ No newline at end of file diff --git a/src/main/webapp/js/DatePicker/lang/zh-cn.js b/src/main/webapp/js/DatePicker/lang/zh-cn.js new file mode 100644 index 0000000..70e5e4f --- /dev/null +++ b/src/main/webapp/js/DatePicker/lang/zh-cn.js @@ -0,0 +1,14 @@ +var $lang={ +errAlertMsg: "\u4E0D\u5408\u6CD5\u7684\u65E5\u671F\u683C\u5F0F\u6216\u8005\u65E5\u671F\u8D85\u51FA\u9650\u5B9A\u8303\u56F4,\u9700\u8981\u64A4\u9500\u5417?", +aWeekStr: ["\u5468","\u65E5","\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D"], +aLongWeekStr:["\u5468","\u661F\u671F\u65E5","\u661F\u671F\u4E00","\u661F\u671F\u4E8C","\u661F\u671F\u4E09","\u661F\u671F\u56DB","\u661F\u671F\u4E94","\u661F\u671F\u516D"], +aMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00","\u5341\u4E8C"], +aLongMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"], +clearStr: "\u6E05\u7A7A", +todayStr: "\u4ECA\u5929", +okStr: "\u786E\u5B9A", +updateStr: "\u786E\u5B9A", +timeStr: "\u65F6\u95F4", +quickStr: "\u5FEB\u901F\u9009\u62E9", +err_1: '\u6700\u5C0F\u65E5\u671F\u4E0D\u80FD\u5927\u4E8E\u6700\u5927\u65E5\u671F!' +} \ No newline at end of file diff --git a/src/main/webapp/js/DatePicker/lang/zh-tw.js b/src/main/webapp/js/DatePicker/lang/zh-tw.js new file mode 100644 index 0000000..b92e0ee --- /dev/null +++ b/src/main/webapp/js/DatePicker/lang/zh-tw.js @@ -0,0 +1,14 @@ +var $lang={ +errAlertMsg: "\u4E0D\u5408\u6CD5\u7684\u65E5\u671F\u683C\u5F0F\u6216\u8005\u65E5\u671F\u8D85\u51FA\u9650\u5B9A\u7BC4\u570D,\u9700\u8981\u64A4\u92B7\u55CE?", +aWeekStr: ["\u5468","\u65E5","\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D"], +aLongWeekStr:["\u5468","\u661F\u671F\u65E5","\u661F\u671F\u4E00","\u661F\u671F\u4E8C","\u661F\u671F\u4E09","\u661F\u671F\u56DB","\u661F\u671F\u4E94","\u661F\u671F\u516D"], +aMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00","\u5341\u4E8C"], +aLongMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"], +clearStr: "\u6E05\u7A7A", +todayStr: "\u4ECA\u5929", +okStr: "\u78BA\u5B9A", +updateStr: "\u78BA\u5B9A", +timeStr: "\u6642\u9593", +quickStr: "\u5FEB\u901F\u9078\u64C7", +err_1: '\u6700\u5C0F\u65E5\u671F\u4E0D\u80FD\u5927\u65BC\u6700\u5927\u65E5\u671F!' +} \ No newline at end of file diff --git a/src/main/webapp/js/DatePicker/skin/WdatePicker.css b/src/main/webapp/js/DatePicker/skin/WdatePicker.css new file mode 100644 index 0000000..c4da1fb --- /dev/null +++ b/src/main/webapp/js/DatePicker/skin/WdatePicker.css @@ -0,0 +1,15 @@ +.Wdate{ + border:#D3D3D3 1px solid; + border-radius:5px; + height:19px; + /* padding-left:4px; */ + background:#fff url(date.png) no-repeat 98% 50%; +} +.Wdate:focus{ + box-shadow: 0 0 3px 0 red; + border-color: #ffa8a8; +} +.WdateFmtErr{ + font-weight:bold; + color:red; +} \ No newline at end of file diff --git a/src/main/webapp/js/DatePicker/skin/date.png b/src/main/webapp/js/DatePicker/skin/date.png new file mode 100644 index 0000000..139c583 Binary files /dev/null and b/src/main/webapp/js/DatePicker/skin/date.png differ diff --git a/src/main/webapp/js/DatePicker/skin/datePicker.gif b/src/main/webapp/js/DatePicker/skin/datePicker.gif new file mode 100644 index 0000000..d6bf40c Binary files /dev/null and b/src/main/webapp/js/DatePicker/skin/datePicker.gif differ diff --git a/src/main/webapp/js/DatePicker/skin/default/datepicker.css b/src/main/webapp/js/DatePicker/skin/default/datepicker.css new file mode 100644 index 0000000..29d5432 --- /dev/null +++ b/src/main/webapp/js/DatePicker/skin/default/datepicker.css @@ -0,0 +1,246 @@ +/* + * My97 DatePicker 4.7 + */ + +.WdateDiv{ + width:180px; + background-color:#FFFFFF; + border:#bbb 1px solid; + padding:2px; +} + +.WdateDiv2{ + width:360px; +} +.WdateDiv *{font-size:9pt;} + +.WdateDiv .NavImg a{ + display:block; + cursor:pointer; + height:16px; + width:16px; +} + +.WdateDiv .NavImgll a{ + float:left; + background:transparent url(img.gif) no-repeat scroll 0 0; +} +.WdateDiv .NavImgl a{ + float:left; + background:transparent url(img.gif) no-repeat scroll -16px 0; +} +.WdateDiv .NavImgr a{ + float:right; + background:transparent url(img.gif) no-repeat scroll -32px 0; +} +.WdateDiv .NavImgrr a{ + float:right; + background:transparent url(img.gif) no-repeat scroll -48px 0; +} + +.WdateDiv #dpTitle{ + height:24px; + margin-bottom:2px; + padding:1px; +} + +.WdateDiv .yminput{ + margin-top:2px; + text-align:center; + height:20px; + border:0px; + width:50px; + cursor:pointer; +} + +.WdateDiv .yminputfocus{ + margin-top:2px; + text-align:center; + font-weight:bold; + height:20px; + color:blue; + border:#ccc 1px solid; + width:50px; +} + +.WdateDiv .menuSel{ + z-index:1; + position:absolute; + background-color:#FFFFFF; + border:#ccc 1px solid; + display:none; +} + +.WdateDiv .menu{ + cursor:pointer; + background-color:#fff; +} + +.WdateDiv .menuOn{ + cursor:pointer; + background-color:#BEEBEE; +} + +.WdateDiv .invalidMenu{ + color:#aaa; +} + +.WdateDiv .YMenu{ + margin-top:20px; + +} + +.WdateDiv .MMenu{ + margin-top:20px; + *width:62px; +} + +.WdateDiv .hhMenu{ + margin-top:-90px; + margin-left:26px; +} + +.WdateDiv .mmMenu{ + margin-top:-46px; + margin-left:26px; +} + +.WdateDiv .ssMenu{ + margin-top:-24px; + margin-left:26px; +} + + .WdateDiv .Wweek { + text-align:center; + background:#DAF3F5; + border-right:#BDEBEE 1px solid; + } + +.WdateDiv .MTitle{ + background-color:#BDEBEE; +} +.WdateDiv .WdayTable2{ + border-collapse:collapse; + border:#c5d9e8 1px solid; +} +.WdateDiv .WdayTable2 table{ + border:0; +} + +.WdateDiv .WdayTable{ + line-height:20px; + border:#c5d9e8 1px solid; +} +.WdateDiv .WdayTable td{ + text-align:center; +} + +.WdateDiv .Wday{ + cursor:pointer; +} + +.WdateDiv .WdayOn{ + cursor:pointer; + background-color:#C0EBEF; +} + +.WdateDiv .Wwday{ + cursor:pointer; + color:#FF2F2F; +} + +.WdateDiv .WwdayOn{ + cursor:pointer; + color:#000; + background-color:#C0EBEF; +} +.WdateDiv .Wtoday{ + cursor:pointer; + color:blue; +} +.WdateDiv .Wselday{ + background-color:#A9E4E9; +} +.WdateDiv .WspecialDay{ + background-color:#66F4DF; +} + +.WdateDiv .WotherDay{ + cursor:pointer; + color:#6A6AFF; +} + +.WdateDiv .WotherDayOn{ + cursor:pointer; + background-color:#C0EBEF; +} + +.WdateDiv .WinvalidDay{ + color:#aaa; +} + +.WdateDiv #dpTime{ + float:left; + margin-top:3px; + margin-right:30px; +} + +.WdateDiv #dpTime #dpTimeStr{ + margin-left:1px; +} + +.WdateDiv #dpTime input{ + width:18px; + height:20px; + text-align:center; + border:#ccc 1px solid; +} + +.WdateDiv #dpTime .tB{ + border-right:0px; +} + +.WdateDiv #dpTime .tE{ + border-left:0; + border-right:0; +} + +.WdateDiv #dpTime .tm{ + width:7px; + border-left:0; + border-right:0; +} + +.WdateDiv #dpTime #dpTimeUp{ + height:10px; + width:13px; + border:0px; + background:url(img.gif) no-repeat -32px -16px; +} + +.WdateDiv #dpTime #dpTimeDown{ + height:10px; + width:13px; + border:0px; + background:url(img.gif) no-repeat -48px -16px; +} + + .WdateDiv #dpQS { + float:left; + margin-right:3px; + margin-top:3px; + background:url(img.gif) no-repeat 0px -16px; + width:20px; + height:20px; + cursor:pointer; + } +.WdateDiv #dpControl { + text-align:right; +} +.WdateDiv .dpButton{ + height:20px; + width:45px; + border:#ccc 1px solid; + margin-top:2px; + margin-right:1px; +} \ No newline at end of file diff --git a/src/main/webapp/js/DatePicker/skin/default/img.gif b/src/main/webapp/js/DatePicker/skin/default/img.gif new file mode 100644 index 0000000..053205d Binary files /dev/null and b/src/main/webapp/js/DatePicker/skin/default/img.gif differ diff --git a/src/main/webapp/js/DatePicker/skin/whyGreen/bg.jpg b/src/main/webapp/js/DatePicker/skin/whyGreen/bg.jpg new file mode 100644 index 0000000..75516a6 Binary files /dev/null and b/src/main/webapp/js/DatePicker/skin/whyGreen/bg.jpg differ diff --git a/src/main/webapp/js/DatePicker/skin/whyGreen/datepicker.css b/src/main/webapp/js/DatePicker/skin/whyGreen/datepicker.css new file mode 100644 index 0000000..f8426f5 --- /dev/null +++ b/src/main/webapp/js/DatePicker/skin/whyGreen/datepicker.css @@ -0,0 +1,256 @@ +/* + * My97 DatePicker 4.7 Skin:whyGreen + */ +.WdateDiv{ + width:180px; + background-color:#fff; + border:#C5E1E4 1px solid; + padding:2px; +} + +.WdateDiv2{ + width:360px; +} +.WdateDiv *{font-size:9pt;} + +.WdateDiv .NavImg a{ + cursor:pointer; + display:block; + width:16px; + height:16px; + margin-top:1px; +} + +.WdateDiv .NavImgll a{ + float:left; + background:url(img.gif) no-repeat; +} +.WdateDiv .NavImgl a{ + float:left; + background:url(img.gif) no-repeat -16px 0px; +} +.WdateDiv .NavImgr a{ + float:right; + background:url(img.gif) no-repeat -32px 0px; +} +.WdateDiv .NavImgrr a{ + float:right; + background:url(img.gif) no-repeat -48px 0px; +} + +.WdateDiv #dpTitle{ + height:24px; + padding:1px; + border:#c5d9e8 1px solid; + background:url(bg.jpg); + margin-bottom:2px; +} + +.WdateDiv .yminput{ + margin-top:2px; + text-align:center; + border:0px; + height:20px; + width:50px; + color:#034c50; + background-color:transparent; + cursor:pointer; +} + +.WdateDiv .yminputfocus{ + margin-top:2px; + text-align:center; + border:#939393 1px solid; + font-weight:bold; + color:#034c50; + height:20px; + width:50px; +} + +.WdateDiv .menuSel{ + z-index:1; + position:absolute; + background-color:#FFFFFF; + border:#A3C6C8 1px solid; + display:none; +} + +.WdateDiv .menu{ + cursor:pointer; + background-color:#fff; + color:#11777C; +} + +.WdateDiv .menuOn{ + cursor:pointer; + background-color:#BEEBEE; +} + +.WdateDiv .invalidMenu{ + color:#aaa; +} + +.WdateDiv .YMenu{ + margin-top:20px; +} + +.WdateDiv .MMenu{ + margin-top:20px; + *width:62px; +} + +.WdateDiv .hhMenu{ + margin-top:-90px; + margin-left:26px; +} + +.WdateDiv .mmMenu{ + margin-top:-46px; + margin-left:26px; +} + +.WdateDiv .ssMenu{ + margin-top:-24px; + margin-left:26px; +} + + .WdateDiv .Wweek { + text-align:center; + background:#DAF3F5; + border-right:#BDEBEE 1px solid; + } + +.WdateDiv .MTitle{ + color:#13777e; + background-color:#bdebee; +} +.WdateDiv .WdayTable2{ + border-collapse:collapse; + border:#BEE9F0 1px solid; +} +.WdateDiv .WdayTable2 table{ + border:0; +} + +.WdateDiv .WdayTable{ + line-height:20px; + color:#13777e; + background-color:#edfbfb; + border:#BEE9F0 1px solid; +} +.WdateDiv .WdayTable td{ + text-align:center; +} + +.WdateDiv .Wday{ + cursor:pointer; +} + +.WdateDiv .WdayOn{ + cursor:pointer; + background-color:#74d2d9 ; +} + +.WdateDiv .Wwday{ + cursor:pointer; + color:#ab1e1e; +} + +.WdateDiv .WwdayOn{ + cursor:pointer; + background-color:#74d2d9; +} +.WdateDiv .Wtoday{ + cursor:pointer; + color:blue; +} +.WdateDiv .Wselday{ + background-color:#A7E2E7; +} +.WdateDiv .WspecialDay{ + background-color:#66F4DF; +} + +.WdateDiv .WotherDay{ + cursor:pointer; + color:#0099CC; +} + +.WdateDiv .WotherDayOn{ + cursor:pointer; + background-color:#C0EBEF; +} + +.WdateDiv .WinvalidDay{ + color:#aaa; +} + +.WdateDiv #dpTime{ + float:left; + margin-top:3px; + margin-right:30px; +} + +.WdateDiv #dpTime #dpTimeStr{ + margin-left:1px; + color:#497F7F; +} + +.WdateDiv #dpTime input{ + height:20px; + width:18px; + text-align:center; + color:#333; + border:#61CAD0 1px solid; +} + +.WdateDiv #dpTime .tB{ + border-right:0px; +} + +.WdateDiv #dpTime .tE{ + border-left:0; + border-right:0; +} + +.WdateDiv #dpTime .tm{ + width:7px; + border-left:0; + border-right:0; +} + +.WdateDiv #dpTime #dpTimeUp{ + height:10px; + width:13px; + border:0px; + background:url(img.gif) no-repeat -32px -16px; +} + +.WdateDiv #dpTime #dpTimeDown{ + height:10px; + width:13px; + border:0px; + background:url(img.gif) no-repeat -48px -16px; +} + + .WdateDiv #dpQS { + float:left; + margin-right:3px; + margin-top:3px; + background:url(img.gif) no-repeat 0px -16px; + width:20px; + height:20px; + cursor:pointer; + } +.WdateDiv #dpControl { + text-align:right; + margin-top:3px; +} +.WdateDiv .dpButton{ + height:20px; + width:45px; + margin-top:2px; + border:#38B1B9 1px solid; + background-color:#CFEBEE; + color:#08575B; +} \ No newline at end of file diff --git a/src/main/webapp/js/DatePicker/skin/whyGreen/img.gif b/src/main/webapp/js/DatePicker/skin/whyGreen/img.gif new file mode 100644 index 0000000..4003f20 Binary files /dev/null and b/src/main/webapp/js/DatePicker/skin/whyGreen/img.gif differ diff --git a/src/main/webapp/js/business/balance.js b/src/main/webapp/js/business/balance.js new file mode 100644 index 0000000..6b9abae --- /dev/null +++ b/src/main/webapp/js/business/balance.js @@ -0,0 +1,462 @@ +function queryBalance(urls, queryParams) { + // 默认查询第一页 query查询时保存当前条件 + var TempPageNumber = 1, pageSize = 10; + try { + TempPageNumber = $('#datatable').datagrid('getPager').pagination("options").pageNumber; + pageSize = $('#datatable').datagrid('getPager').pagination("options").pageSize; + } catch (e) { + + } + $('#datatable') + .datagrid( + { + title : "信息列表", + iconCls : 'icon-search', + pageNumber : TempPageNumber, + pageSize : pageSize, + pageList : [ 5, 10, 15, 20, 25, 30, 35, 40, 45, 50 ], + nowrap : true, + striped : true, + border : true, + noheader : true, + url : urls, + loadMsg : '数据加载中......', + queryParams : queryParams, + remoteSort : false, + fitColumns : true, + singleSelect : false, + columns : [ [ + { + field : 'name', + title : '经销商名称', + sortable : 'true', + align : 'center', + width : 10 + }, + + { + field : 'abbr_code', + title : '经销商代码', + sortable : 'true', + align : 'center', + width : 10 + }, + { + field : 'conpon', + title : '代金劵', + sortable : 'true', + align : 'center', + width : 10, + formatter:function(value, row, index){ + var str = '
'+value+'元
'; + return str; + } + },{ + field : 'deliverwater', + title : '送水', + sortable : 'true', + align : 'center', + width : 10, + formatter:function(value, row, index){ + var str = '
'+value+'元
'; + return str; + } + }, { + field : 'roadrepair', + title : '路修', + sortable : 'true', + align : 'center', + width : 10, + formatter:function(value, row, index){ + var str = '
'+value+'元
'; + return str; + } + }, { + field : 'scooter', + title : '代步车', + sortable : 'true', + align : 'center', + width : 10, + formatter:function(value, row, index){ + var str = '
'+value+'元
'; + return str; + } + }, { + field : 'rescuecabinet', + title : '救援柜', + sortable : 'true', + align : 'center', + width : 10, + formatter:function(value, row, index){ + var str = '
'+value+'元
'; + return str; + } + } + ] ], + pagination : true, + rownumbers : false, + onLoadSuccess : function(data) { + }, + toolbar : [ ], + onCheck : function(rowIndex, rowData) { + }, + onCheckAll : function(rows) { + }, + onUncheck : function(rowIndex, rowData) { + }, + onLoadSuccess : function(data) { + }, + onUncheckAll : function(rows) { + } + + }); + $('#datatable').datagrid('getPager').pagination({ + displayMsg : '当前显示从 {from} 到 {to} 共{total}条记录', + onBeforeRefresh : function(pageNumber, pageSize) { + $(this).pagination('loading'); + $(this).pagination('loaded'); + } + }); +} + + + +// +function queryCouponBalanceList(urls, queryParams) { + // 默认查询第一页 query查询时保存当前条件 + var TempPageNumber = 1, pageSize = 10; + try { + TempPageNumber = $('#deletail_datatable').datagrid('getPager').pagination("options").pageNumber; + pageSize = $('#deletail_datatable').datagrid('getPager').pagination("options").pageSize; + } catch (e) { + + } + $('#deletail_datatable') + .datagrid( + { + title : "信息列表", + iconCls : 'icon-search', + pageNumber : TempPageNumber, + pageSize : pageSize, + pageList : [ 5, 10, 15, 20, 25, 30, 35, 40, 45, 50 ], + nowrap : true, + striped : true, + border : true, + noheader : true, + url : urls, + loadMsg : '数据加载中......', + queryParams : queryParams, + remoteSort : false, + fitColumns : true, + singleSelect : false, + frozenColumns : [ [ { + field : 'ck', + checkbox : true + + } ] ], + columns : [ [ + + { + field : 'ids', + title : 'VIN', + sortable : 'true', + align : 'center', + width : 10 + },{ + field : 'name', + title : '姓名', + sortable : 'true', + align : 'center', + width : 10 + }, { + field : 'c2name', + title : '经销商', + sortable : 'true', + align : 'center', + width : 10 + }, { + field : 'params1', + title : '金额', + sortable : 'true', + align : 'center', + width : 10 + }, { + field : 'date', + title : '日期', + sortable : 'true', + align : 'center', + width : 10 + }, { + field : 'params2', + title : '审批状态', + sortable : 'true', + align : 'center', + width : 10, + formatter:function(value, row, index){ + return getSettlementStateStr(value); + } + },{field:'operate',title:'操作',align:'center',width:5, + formatter:function(value, row, index){ + var str ; + if(cancelState(row.params2)){ + str = '撤销'; + }else{ + str = '撤销'; + } + return str; + }} + ] ], + pagination : true, + rownumbers : false, + toolbar : [], + onClickRow: function(rowIndex, rowData) { + //加载完毕后获取所有的checkbox遍历 + $("input[type='checkbox']").each(function(index, el){ + //如果当前的复选框不可选,则不让其选中 + if (el.disabled == true&&index!=0) { + $("#deletail_datatable").datagrid('unselectRow', index - 1); + } + }); + }, + + onCheckAll: function(rows) { + $("input[type='checkbox']").each(function(index, el) { + if (el.disabled&&index!=0) { + $("#deletail_datatable").datagrid('uncheckRow', index - 1); + } + }) ; + }, + onLoadSuccess : function(data) { + if (data.rows.length > 0) { + for (var i = 0; i < data.rows.length; i++) { + if (!canCheckbox(data.rows[i].params2)) { + $("input[type='checkbox']")[i+1].disabled = true; + } + } + } + } + + + }); + $('#deletail_datatable').datagrid('getPager').pagination({ + displayMsg : '当前显示从 {from} 到 {to} 共{total}条记录', + onBeforeRefresh : function(pageNumber, pageSize) { + $(this).pagination('loading'); + $(this).pagination('loaded'); + } + }); +} + +// +function queryBalanceList(urls, queryParams) { + // 默认查询第一页 query查询时保存当前条件 + var TempPageNumber = 1, pageSize = 10; + try { + TempPageNumber = $('#deletail_datatable').datagrid('getPager').pagination("options").pageNumber; + pageSize = $('#deletail_datatable').datagrid('getPager').pagination("options").pageSize; + } catch (e) { + + } + $('#deletail_datatable') + .datagrid( + { + title : "信息列表", + iconCls : 'icon-search', + pageNumber : TempPageNumber, + pageSize : pageSize, + pageList : [ 5, 10, 15, 20, 25, 30, 35, 40, 45, 50 ], + nowrap : true, + striped : true, + border : true, + noheader : true, + url : urls, + loadMsg : '数据加载中......', + queryParams : queryParams, + remoteSort : false, + fitColumns : true, + singleSelect : false, + frozenColumns : [ [ { + field : 'ck', + checkbox : true + + } ] ], + columns : [ [ + + { + field : 'ids', + title : '订单号', + sortable : 'true', + align : 'center', + width : 10 + },{ + field : 'name', + title : '姓名', + sortable : 'true', + align : 'center', + width : 10 + }, { + field : 'phone', + title : '电话', + sortable : 'true', + align : 'center', + width : 10 + }, { + field : 'c2name', + title : '经销商', + sortable : 'true', + align : 'center', + width : 10 + }, { + field : 'date', + title : '日期', + sortable : 'true', + align : 'center', + width : 10 + }, { + field : 'params2', + title : '审批状态', + sortable : 'true', + align : 'center', + width : 10, + formatter:function(value, row, index){ + return getSettlementStateStr(value); + } + },{field:'operate',title:'操作',align:'center',width:5, + formatter:function(value, row, index){ + var str ; + if(cancelState(row.params2)){ + str = '撤销'; + }else{ + str = '撤销'; + } + return str; + }} + ] ], + pagination : true, + rownumbers : false, + toolbar : [ ], + onClickRow: function(rowIndex, rowData) { + //加载完毕后获取所有的checkbox遍历 + $("input[type='checkbox']").each(function(index, el){ + //如果当前的复选框不可选,则不让其选中 + if (el.disabled == true&&index!=0) { + $("#deletail_datatable").datagrid('unselectRow', index - 1); + } + }); + }, + + onCheckAll: function(rows) { + $("input[type='checkbox']").each(function(index, el) { + if (el.disabled&&index!=0) { + $("#deletail_datatable").datagrid('uncheckRow', index - 1); + } + }) ; + }, + onLoadSuccess : function(data) { + if (data.rows.length > 0) { + for (var i = 0; i < data.rows.length; i++) { + if (!canCheckbox(data.rows[i].params2)) { + $("input[type='checkbox']")[i+1].disabled = true; + } + } + } + } + + }); + $('#deletail_datatable').datagrid('getPager').pagination({ + displayMsg : '当前显示从 {from} 到 {to} 共{total}条记录', + onBeforeRefresh : function(pageNumber, pageSize) { + $(this).pagination('loading'); + $(this).pagination('loaded'); + } + }); +} +function tableChangeSettlementState(state){ + var type= $("#extraServer").val(); + var s; + if(type>0){ + type=1; + + }else{ + type=0; + } + + if(state==100){ + s="已付款"; + }else{ + s="同意付款"; + } + + var rows = $('#deletail_datatable').datagrid( + 'getSelections'); + if (rows.length == 0) { + $.messager.alert('提示', + '请选择'+s+'的信息!'); + } else { + var ids = []; + for (var i = 0; i < rows.length; i++) { + ids.push(rows[i].params3); + } + + $.messager + .confirm( + '提示', + '确认'+s+'?', + function(r) { + if (r) { + changeSettlementState(ids.join(","),state,type); + } + }); + + } +} +function changeSettlementState(ids,state,type){ + + var params={}; + params["ids"]=ids; + params["state"]=state; + params["type"]=type; + var result = ajaxgetresultpost($("#paths").val() + + '/balance/change_settlement_state.do',params ); + if(result.flag==0){ + alert(result.msg); + + }else{ + alert(result.msg); + + $('#deletail_datatable').datagrid('reload'); + } +} +function cancelState(val){ + + //结算状态 : 0或者空 未结算,5 提交结算 ,10 同意付款,100 已付款,101 撤销 + if(val==null||val==''||val==0){ + return true; + }else { + return false; + } +} +function canCheckbox(val){ + + //结算状态 : 0或者空 未结算,5 提交结算 ,10 同意付款,100 已付款,101 撤销 + if(val==null||val==''||val==0||val==5||val==10){ + return true; + }else { + return false; + } +} +function getSettlementStateStr(val){ + + //结算状态 : 0或者空 未结算,5 提交结算 ,10 同意付款,100 已付款,101 撤销 + if(val==null||val==''||val==0){ + return '未结算'; + }else if(val==5){ + return '提交结算'; + }else if(val==10){ + return '同意付款'; + }else if(val==100){ + return '已付款'; + }else if(val==101){ + return '已撤销'; + } +} diff --git a/src/main/webapp/js/business/caseEnter.js b/src/main/webapp/js/business/caseEnter.js new file mode 100644 index 0000000..cb921bd --- /dev/null +++ b/src/main/webapp/js/business/caseEnter.js @@ -0,0 +1,257 @@ +Date.prototype.Format = function (fmt) { //author: meizz + var o = { + "M+": this.getMonth() + 1, //月份 + "d+": this.getDate(), //日 + "h+": this.getHours(), //小时 + "m+": this.getMinutes(), //分 + "s+": this.getSeconds(), //秒 + "q+": Math.floor((this.getMonth() + 3) / 3), //季度 + "S": this.getMilliseconds() //毫秒 + }; + if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); + for (var k in o) + if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); + return fmt; +} +function queryCouponList(urls, queryParams, paraUrls,state) { + var pageNumber = 1, pageSize = 10; + // 默认查询第一页 query查询时保存当前条件 + //var pageCount = 0; + // var sum = parseInt(total); + try { + pageNumber = $('#datatable').datagrid('getPager').pagination("options").pageNumber; + pageSize = $('#datatable').datagrid('getPager').pagination("options").pageSize; + } catch (e) { + pageNumber = 1, pageSize = 10; + } + $('#datatable') + .datagrid( + { + title: "信息列表", + iconCls: 'icon-search', + pageNumber: pageNumber, + pageSize: pageSize, + pageList: [5, 10, 15, 20, 25, 30, 35, 40, 45, 50], + nowrap: true, + striped: true, + border: true, + noheader: true, + url: urls, + loadMsg: '数据加载中......', + queryParams: queryParams, + remoteSort: false, + fitColumns: true, + singleSelect: false, + columns: [[ + + { + field: 'ORDER_CODE', + title: '案件编号', + sortable: 'false', + align: 'center', + width: 10 + }, { + field: 'CREATE_TIME', + title: '案件创建时间', + sortable: 'false', + align: 'center', + width: 10, + formatter: function (value, row, index) { + return new Date(value).Format("yyyy-MM-dd hh:mm:ss"); + } + } + , { + field: 'VIN_NO', + title: 'VIN码', + sortable: 'false', + align: 'center', + width: 10 + } + + , { + field: 'NAME', + title: '服务商名称', + sortable: 'false', + align: 'center', + width: 15 + } + , { + field: 'CODE', + title: '服务商代码', + sortable: 'false', + align: 'center', + width: 10 + } + , { + field: 'SERVICE_NAME', + title: '服务类型', + sortable: 'false', + align: 'center', + width: 10 + } + , { + field: 'STATE', + title: '维修信息', + sortable: 'false', + align: 'center', + width: 10, + formatter: function (value, row, index) { + var str = ''; + if(state == '0') { + str = '查看详情'; + }else if(state == '1'){ + if (row.STATE == '1') { + str = '查看详情'; + } + else if (row.STATE == '0') { + str = '填写维修信息'; + }else{ + str = '填写维修信息'; + } + } + return str; + } + } + ]], + pagination: true, + rownumbers: false, + onLoadSuccess: function (data) { + } + + , + toolbar: [], + onCheck: function (rowIndex, rowData) { + } + + , + onCheckAll: function (rows) { + } + , + onUncheck: function (rowIndex, rowData) { + } + , + onLoadSuccess: function (data) { + } + , + onUncheckAll: function (rows) { + } + }) + ; + $('#datatable').datagrid('getPager').pagination({ + displayMsg: '', + }); + +} + +// 计算页面个数 +function getPageCount(total, pageSize) { + if (total % pageSize == 0) { + return total / pageSize; + } else { + return parseInt(total / pageSize) + 1; + } + +} + + +function toCompairTime(a, b) { + var arr = a.split("-"); + var starttime = new Date(arr[0], arr[1], arr[2]); + var starttimes = starttime.getTime(); + var arrs = b.split("-"); + var lktime = new Date(arrs[0], arrs[1], arrs[2]); + var lktimes = lktime.getTime(); + + if (starttimes >= lktimes) { + + return false; + } + else + return true; +} + +// 2.向select选项中 加入一个Item +function jsAddItemToSelect(objSelect, listfirst, idList) { + + // jsRemoveItemFromSelect(objSelect, idList); +//判断是否存在 + if (listfirst != null && listfirst.length > 0) { + objSelect.options.add(new Option('请选择', 0)); + for (var i = 0; i < listfirst.length; i++) { + var objItemValue = idList[i]; + // alert(objItemValue); + var objItemText = listfirst[i]; + //alert(objItemText); + var varItem = new Option(objItemText, objItemValue); + objSelect.options.add(varItem); + } + } + + //alert("成功加入"); +} + + + +function jsRemoveItemFromSelect(objSelect) { +//判断是否存在 + var optionList = objSelect.options + for (var i = 0; i < optionList.length; i++) { + alert(optionList.length); + optionList.remove(i); + } +} +// 1.判断select选项中 是否存在Value="paraValue"的Item +function jsSelectIsExitItem(objSelect, objItemValue) { + var isExit = false; + for (var i = 0; i < objSelect.options.length; i++) { + if (objSelect.options[i].value == objItemValue) { + isExit = true; + break; + } + } + return isExit; +} + +// 求援完成确定 +function completionOfRescue(code, special_organize, servicesname) { + var path = $("#paths").val(); + $(".order_print").show(); + var param = {}; + param["code"] = code; + var result = ajaxgetresultpost(path + '/casesInfo/completionOfRescue.do', param); + var specialOrganize = special_organize == "undefined" || special_organize == null ? '' : special_organize; + var servicesName = servicesname == "undefined" || servicesname == null ? '' : servicesname; + + var s = ' 案件信息 ' + + ' 案件编号:' + result.code + ' ' + + '服务内容:' + servicesName + '' + + ' 经销商代码:' + result.contract_company_code + '' + + '经销商名称:' + specialOrganize + '' + + ' 车架号:' + result.frame_code + ' ' + + '车  型:' + result.style + ' ' + + ' 故障描述:' + result.trouble_leve2 + ' ' + + '事发地:' + result.depart_address + ' ' + + '目的地:' + result.dest_address + ' '; + $(".PrintCase").html(s); + + + // 救援详情 + var ss = ' 救援详情 ' + + '接案时间:' + result.accept_time + ' ' + + '到达时间:' + result.arrive_time + ' ' + + '完成时间:' + result.finish_time + ' ' + $(".saveDetail").html(ss); + + // 签名 + //alert(result.csignaturePath,result.cksignaturePath); + var sss = '
' + + '车主签字
' + + '
' + + '车主/接车人签字
'; + $(".sign").html(sss); +} + diff --git a/src/main/webapp/js/business/cases.js b/src/main/webapp/js/business/cases.js new file mode 100644 index 0000000..3bdf424 --- /dev/null +++ b/src/main/webapp/js/business/cases.js @@ -0,0 +1,294 @@ +Date.prototype.Format = function (fmt) { //author: meizz + var o = { + "M+": this.getMonth() + 1, //月份 + "d+": this.getDate(), //日 + "h+": this.getHours(), //小时 + "m+": this.getMinutes(), //分 + "s+": this.getSeconds(), //秒 + "q+": Math.floor((this.getMonth() + 3) / 3), //季度 + "S": this.getMilliseconds() //毫秒 + }; + if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); + for (var k in o) + if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); + return fmt; +} +function queryCouponList(urls, queryParams) { + var pageNumber = 1, pageSize = 10; + try { + pageNumber = $('#datatable').datagrid('getPager').pagination("options").pageNumber; + pageSize = $('#datatable').datagrid('getPager').pagination("options").pageSize; + } catch (e) { + pageNumber = 1, pageSize = 10; + } + $('#datatable') + .datagrid( + { + title: "信息列表", + iconCls: 'icon-search', + pageNumber: pageNumber, + pageSize: pageSize, + pageList: [5, 10, 15, 20, 25, 30, 35, 40, 45, 50], + nowrap: true, + striped: true, + border: true, + noheader: true, + url: urls, + loadMsg: '数据加载中......', + queryParams: queryParams, + remoteSort: false, + fitColumns: true, + singleSelect: false, + // frozenColumns: [[{ + // field: 'orderkey', + // checkbox: true + // }]], + columns: [[ + + { + field: 'ORDER_CODE', + title: '案件编号', + sortable: 'false', + align: 'center', + width: 10 + }, { + field: 'CREATE_TIME', + title: '案件创建时间', + sortable: 'false', + align: 'center', + width: 10, + formatter: function (value, row, index) { + return new Date(value).Format("yyyy-MM-dd hh:mm:ss"); + } + } + , { + field: 'VIN_NO', + title: 'VIN码', + sortable: 'false', + align: 'center', + width: 10 + } + + , { + field: 'NAME', + title: '服务商名称', + sortable: 'false', + align: 'center', + width: 15 + } + , { + field: 'CODE', + title: '服务商代码', + sortable: 'false', + align: 'center', + width: 10 + } + , { + field: 'SERVICE_NAME', + title: '服务类型', + sortable: 'false', + align: 'center', + width: 10 + } + , { + field: 'STATUS', + title: '服务状态', + sortable: 'false', + align: 'center', + width: 10, + formatter: function(value,row,index){ + if (value == 11){ + return "救援中"; + }else if (value == 13){ + return "救援中"; + }else if (value == 15){ + return "救援中"; + }else if (value == 19){ + return "救援中"; + }else if (value == 17){ + return "救援中"; + }else if (value == 21){ + return "救援中"; + }else if (value == 23){ + return "救援中"; + }else if (value == 25){ + return "救援中"; + }else if (value == 28){ + return "救援中"; + }else if (value == 31){ + return "救援中"; + }else if (value == 51){ + return "取消服务"; + }else if (value == 53){ + return "救援失败,订单结束"; + }else if (value == 55){ + return "救援完成"; + } + } + } + ]], + pagination: true, + rownumbers: false, + onLoadSuccess: function (data) { + } + + , + toolbar: [], + onCheck: function (rowIndex, rowData) { + } + + , + onCheckAll: function (rows) { + } + , + onUncheck: function (rowIndex, rowData) { + } + , + onLoadSuccess: function (data) { + } + , + onUncheckAll: function (rows) { + } + }) + ; + $('#datatable').datagrid('getPager').pagination({ + displayMsg: '', + // onBeforeRefresh: function (pageNumber, pageSize) { 当前显示从 {from} 到 {to} + // $(this).pagination('loading'); + // $(this).pagination('loaded'); + // }, + // onSelectPage:function (pageNumber, pageSize) { + // // $('#datatable').panel('refresh', urls+'?pageNumber='+pageNumber+"&pageSize="+pageSize); + // var params={}; + // params["pageNumber"]=pageNumber; + // params["pageSize"]=pageSize; + // var result = ajaxgetresultpost(urls,params ); + // $('#datatable').datagrid('loadData', result.userOrderViewVOList); + // } + }); + +} + +// 计算页面个数 +function getPageCount(total, pageSize) { + if (total % pageSize == 0) { + return total / pageSize; + } else { + return parseInt(total / pageSize) + 1; + } + +} + + +function toCompairTime(a, b) { + var arr = a.split("-"); + var starttime = new Date(arr[0], arr[1], arr[2]); + var starttimes = starttime.getTime(); + var arrs = b.split("-"); + var lktime = new Date(arrs[0], arrs[1], arrs[2]); + var lktimes = lktime.getTime(); + + if (starttimes >= lktimes) { + + return false; + } + else + return true; +} + +// 2.向select选项中 加入一个Item +function jsAddItemToSelect(objSelect, listfirst, idList) { +//判断是否存在 + if (listfirst != null && listfirst.length > 0) { + objSelect.options.add(new Option('请选择', 0)); + for (var i = 0; i < listfirst.length; i++) { + var objItemValue = idList[i]; + // alert(objItemValue); + var objItemText = listfirst[i]; + //alert(objItemText); + var varItem = new Option(objItemText, objItemValue); + objSelect.options.add(varItem); + } + } + + //alert("成功加入"); +} + +// +// function jsRemoveItemFromSelect(objSelect, listfirst) { +// //判断是否存在 +// if (listfirst != null && listfirst.length > 0) { +// for (var i = 0; i < listfirst.length; i++) { +// var objItemValue = listfirst[i]; +// // if (!jsSelectIsExitItem(objSelect, objItemValue)) { +// for (var i = 0; i < objSelect.options.length; i++) { +// if (objSelect.options[i].value == objItemValue) { +// objSelect.options.remove(i); +// break; +// } +// // } +// } +// } +// } +// } + + +function jsRemoveItemFromSelect(objSelect) { +//判断是否存在 + var optionList = objSelect.options + for (var i = 0; i < optionList.length; i++) { + alert(optionList.length); + optionList.remove(i); + } +} +// 1.判断select选项中 是否存在Value="paraValue"的Item +function jsSelectIsExitItem(objSelect, objItemValue) { + var isExit = false; + for (var i = 0; i < objSelect.options.length; i++) { + if (objSelect.options[i].value == objItemValue) { + isExit = true; + break; + } + } + return isExit; +} + +// 求援完成确定 +function completionOfRescue(code, special_organize, servicesname) { + var path = $("#paths").val(); + $(".order_print").show(); + var param = {}; + param["code"] = code; + var result = ajaxgetresultpost(path + '/casesInfo/completionOfRescue.do', param); + var specialOrganize = special_organize == "undefined" || special_organize == null ? '' : special_organize; + var servicesName = servicesname == "undefined" || servicesname == null ? '' : servicesname; + + var s = ' 案件信息 ' + + ' 案件编号:' + result.code + ' ' + + '服务内容:' + servicesName + '' + + ' 经销商代码:' + result.contract_company_code + '' + + '经销商名称:' + specialOrganize + '' + + ' 车架号:' + result.frame_code + ' ' + + '车  型:' + result.style + ' ' + + ' 故障描述:' + result.trouble_leve2 + ' ' + + '事发地:' + result.depart_address + ' ' + + '目的地:' + result.dest_address + ' '; + $(".PrintCase").html(s); + + + // 救援详情 + var ss = ' 救援详情 ' + + '接案时间:' + result.accept_time + ' ' + + '到达时间:' + result.arrive_time + ' ' + + '完成时间:' + result.finish_time + ' ' + $(".saveDetail").html(ss); + + // 签名 + //alert(result.csignaturePath,result.cksignaturePath); + var sss = '
' + + '车主签字
' + + '
' + + '车主/接车人签字
'; + $(".sign").html(sss); +} + diff --git a/src/main/webapp/js/business/coupon.js b/src/main/webapp/js/business/coupon.js new file mode 100644 index 0000000..079a686 --- /dev/null +++ b/src/main/webapp/js/business/coupon.js @@ -0,0 +1,467 @@ +// 对Date的扩展,将 Date 转化为指定格式的String +// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, +// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) +// 例子: +// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 +// (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18 +Date.prototype.Format = function (fmt) { //author: meizz + var o = { + "M+": this.getMonth() + 1, //月份 + "d+": this.getDate(), //日 + "h+": this.getHours(), //小时 + "m+": this.getMinutes(), //分 + "s+": this.getSeconds(), //秒 + "q+": Math.floor((this.getMonth() + 3) / 3), //季度 + "S": this.getMilliseconds() //毫秒 + }; + if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); + for (var k in o) + if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); + return fmt; +}; +// 代金券消费 +function queryCouponList(urls, queryParams) { + // 默认查询第一页 query查询时保存当前条件 + var TempPageNumber = 1, pageSize = 10; + try { + TempPageNumber = $('#datatable').datagrid('getPager').pagination("options").pageNumber; + pageSize = $('#datatable').datagrid('getPager').pagination("options").pageSize; + } catch (e) { + + } + $('#datatable') + .datagrid( + { + title: "信息列表", + iconCls: 'icon-search', + pageNumber: TempPageNumber, + pageSize: pageSize, + pageList: [5, 10, 15, 20, 25, 30, 35, 40, 45, 50], + nowrap: true, + striped: true, + border: true, + noheader: true, + url: urls, + loadMsg: '数据加载中......', + queryParams: queryParams, + remoteSort: false, + fitColumns: true, + singleSelect: false, + columns: [[ + + { + field: 'vinCode', + title: 'VIN码', + sortable: 'true', + align: 'center', + width: 10 + }, { + field: 'userName', + title: '姓名', + sortable: 'true', + align: 'center', + width: 10 + } + /*, { + field : 'userPhone', + title : '电话', + sortable : 'true', + align : 'center', + width : 10 + }*/ + , { + field: 'license', + title: '车牌号', + sortable: 'true', + align: 'center', + width: 10 + } + , { + field: 'charge', + title: '余额', + sortable: 'true', + align: 'center', + width: 10 + } + , { + field: 'operate', title: '操作', align: 'center', width: 5, + formatter: function (value, row, index) { + var str = '消费'; + return str; + } + } + ]], + pagination: true, + rownumbers: false, + onLoadSuccess: function (data) { + }, + toolbar: [], + onCheck: function (rowIndex, rowData) { + }, + onCheckAll: function (rows) { + }, + onUncheck: function (rowIndex, rowData) { + }, + onLoadSuccess: function (data) { + }, + onUncheckAll: function (rows) { + } + + }); + $('#datatable').datagrid('getPager').pagination({ + displayMsg: '当前显示从 {from} 到 {to} 共{total}条记录', + onBeforeRefresh: function (pageNumber, pageSize) { + $(this).pagination('loading'); + $(this).pagination('loaded'); + } + }); +} + +function showConsumePanel(vin, balance) { + $("#vinCode").val(vin); + $("#balance").val(balance); + + $("#balancetext").html("余额: " + balance + "元"); + $("#consume_dialog").show(); +} + +//代金券历史充值记录和消费 +function queryCouponHistoryList(urls, queryParams) { + // 默认查询第一页 query查询时保存当前条件 + var TempPageNumber = 1, pageSize = 10; + try { + TempPageNumber = $('#datatable').datagrid('getPager').pagination("options").pageNumber; + pageSize = $('#datatable').datagrid('getPager').pagination("options").pageSize; + } catch (e) { + + } + $('#datatable') + .datagrid( + { + title: "信息列表", + iconCls: 'icon-search', + pageNumber: TempPageNumber, + pageSize: pageSize, + pageList: [5, 10, 15, 20, 25, 30, 35, 40, 45, 50], + nowrap: true, + striped: true, + border: true, + noheader: true, + url: urls, + loadMsg: '数据加载中......', + queryParams: queryParams, + remoteSort: false, + fitColumns: true, + singleSelect: false, + columns: [[ + + { + field: 'vinCode', + title: 'VIN码', + sortable: 'true', + align: 'center', + width: 10 + }, { + field: 'electronicAccounts', + title: '电子账户', + sortable: 'true', + align: 'center', + width: 10 + }, { + field: 'userPhone', + title: '手机号', + sortable: 'true', + align: 'center', + width: 10, + formatter: function (value, row, index) { + var str = '' + value + ''; + return str; + } + }, { + field: 'charge', + title: '余额', + sortable: 'true', + align: 'center', + width: 10 + } + , { + field: 'operate', title: '详情', align: 'center', width: 5, + formatter: function (value, row, index) { + var str = '查看'; + return str; + } + } + ]], + pagination: true, + rownumbers: false, + onLoadSuccess: function (data) { + }, + toolbar: [], + onCheck: function (rowIndex, rowData) { + }, + onCheckAll: function (rows) { + }, + onUncheck: function (rowIndex, rowData) { + }, + onLoadSuccess: function (data) { + }, + onUncheckAll: function (rows) { + } + + }); + $('#datatable').datagrid('getPager').pagination({ + displayMsg: '当前显示从 {from} 到 {to} 共{total}条记录', + onBeforeRefresh: function (pageNumber, pageSize) { + $(this).pagination('loading'); + $(this).pagination('loaded'); + } + }); +} + +function showConsumePanelHistory(vin) { + + $("#consume_dialog").show(); + $("#vinSelectCode").val(vin); + $("#c_type").val(""); + setTimeout(function () { + queryHistory(2); + }, 100); + +} + +function sendMsg(phoneNum, password) { + var param = {}; + param["phoneNum"] = phoneNum; + var msgContent = "尊敬的用户您好,您的代金卷账户密码为" + password; + var msgContentEx = "确定发送消息\"" + msgContent + "\"给客户吗?"; + var res + if(confirm(msgContentEx)) { + param["msgContent"] = msgContent; + res= ajaxgetresultpost($("#paths").val() + '/coupon/sendMsg.do', param); + }else{ + return; + } + if (res.sign) { + alert("发送成功"); + } else { + alert("发送失败"); + } +} + + +//代金券历史消费记录 +function queryCouponConsumeHistoryList(urls, queryParams) { + // 默认查询第一页 query查询时保存当前条件 + var TempPageNumber = 1, pageSize = 5; + try { + TempPageNumber = $('#datatable2').datagrid('getPager').pagination("options").pageNumber; + pageSize = $('#datatable2').datagrid('getPager').pagination("options").pageSize; + } catch (e) { + + } + $('#datatable2') + .datagrid( + { + title: "信息列表", + iconCls: 'icon-search', + pageNumber: TempPageNumber, + pageSize: pageSize, + pageList: [5, 10, 15, 20, 25, 30, 35, 40, 45, 50], + nowrap: true, + striped: true, + border: true, + noheader: true, + url: urls, + loadMsg: '数据加载中......', + queryParams: queryParams, + remoteSort: false, + fitColumns: true, + singleSelect: false, + columns: [[ + + { + field: 'vinCode', + title: 'VIN码', + sortable: 'true', + align: 'center', + width: 10 + }, { + field: 'consumeCount', + title: '消费金额', + sortable: 'true', + align: 'center', + width: 10 + } + , { + field: 'settlementState', + title: '消费状态', + sortable: 'true', + align: 'center', + width: 10, + formatter: function (value, row, index) { + return getSettlementStateStr(value); + } + }, { + field: 'remark', + title: 'DMS单号', + sortable: 'true', + align: 'center', + width: 10 + }, { + field: 'consumeTime', + title: '消费时间', + sortable: 'true', + align: 'center', + width: 10, + formatter: function (value, row, index) { + var str = new Date(value.time).Format("yyyy-MM-dd hh:mm:ss"); + return str; + } + } + ]], + pagination: true, + rownumbers: false, + onLoadSuccess: function (data) { + }, + toolbar: [], + onCheck: function (rowIndex, rowData) { + }, + onCheckAll: function (rows) { + }, + onUncheck: function (rowIndex, rowData) { + }, + onLoadSuccess: function (data) { + }, + onUncheckAll: function (rows) { + } + + }); + $('#datatable2').datagrid('getPager').pagination({ + displayMsg: '当前显示从 {from} 到 {to} 共{total}条记录', + onBeforeRefresh: function (pageNumber, pageSize) { + $(this).pagination('loading'); + $(this).pagination('loaded'); + } + }); +} +function getSettlementStateStr(val) { + + //结算状态 : 0或者空 未结算,5 提交结算 ,10 同意付款,100 已付款,101 撤销 + if (val == null || val == '' || val == 0) { + return '未结算'; + } else if (val == 5) { + return '提交结算'; + } else if (val == 10) { + return '同意付款'; + } else if (val == 100) { + return '已付款'; + } else if (val == 101) { + return '撤销'; + } +} +//代金券历史充值记录 +function queryCouponRechargehistoryList(urls, queryParams) { + // 默认查询第一页 query查询时保存当前条件 + var TempPageNumber = 1, pageSize = 5; + try { + TempPageNumber = $('#datatable2').datagrid('getPager').pagination("options").pageNumber; + pageSize = $('#datatable2').datagrid('getPager').pagination("options").pageSize; + } catch (e) { + + } + $('#datatable2') + .datagrid( + { + title: "信息列表", + iconCls: 'icon-search', + pageNumber: TempPageNumber, + pageSize: pageSize, + pageList: [5, 10, 15, 20, 25, 30, 35, 40, 45, 50], + nowrap: true, + striped: true, + border: true, + noheader: true, + url: urls, + loadMsg: '数据加载中......', + queryParams: queryParams, + remoteSort: false, + fitColumns: true, + singleSelect: false, + columns: [[ + + { + field: 'orderCode', + title: '案件编号', + sortable: 'true', + align: 'center', + width: 10 + }, { + field: 'rechargeCount', + title: '充值金额', + sortable: 'true', + align: 'center', + width: 10 + } + /*, { + field : 'consumeCount', + title : '已消费金额', + sortable : 'true', + align : 'center', + width : 10 + }*/ + , { + field: 'serviceName', + title: '服务类型', + sortable: 'true', + align: 'center', + width: 10 + } + , { + field: 'rechargeTime', + title: '充值时间', + sortable: 'true', + align: 'center', + width: 10, + formatter: function (value, row, index) { + var str = new Date(value.time).Format("yyyy-MM-dd hh:mm:ss"); + return str; + } + }, { + field: 'overdueTime', + title: '过期时间', + sortable: 'true', + align: 'center', + width: 10, + formatter: function (value, row, index) { + var str = new Date(value.time).Format("yyyy-MM-dd hh:mm:ss"); + return str; + } + } + + ]], + pagination: true, + rownumbers: false, + onLoadSuccess: function (data) { + }, + toolbar: [], + onCheck: function (rowIndex, rowData) { + }, + onCheckAll: function (rows) { + }, + onUncheck: function (rowIndex, rowData) { + }, + onLoadSuccess: function (data) { + }, + onUncheckAll: function (rows) { + } + + }); + $('#datatable2').datagrid('getPager').pagination({ + displayMsg: '当前显示从 {from} 到 {to} 共{total}条记录', + onBeforeRefresh: function (pageNumber, pageSize) { + $(this).pagination('loading'); + $(this).pagination('loaded'); + } + }); +} + diff --git a/src/main/webapp/js/business/coupon_query.js b/src/main/webapp/js/business/coupon_query.js new file mode 100644 index 0000000..50fac63 --- /dev/null +++ b/src/main/webapp/js/business/coupon_query.js @@ -0,0 +1,203 @@ +// 对Date的扩展,将 Date 转化为指定格式的String +// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, +// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) +// 例子: +// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 +// (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18 +Date.prototype.Format = function (fmt) { //author: meizz + var o = { + "M+": this.getMonth() + 1, //月份 + "d+": this.getDate(), //日 + "h+": this.getHours(), //小时 + "m+": this.getMinutes(), //分 + "s+": this.getSeconds(), //秒 + "q+": Math.floor((this.getMonth() + 3) / 3), //季度 + "S": this.getMilliseconds() //毫秒 + }; + if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); + for (var k in o) + if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); + return fmt; +}; +// 代金券消费 +function queryCouponList(urls, queryParams) { + // 默认查询第一页 query查询时保存当前条件 + var TempPageNumber = 1, pageSize = 10; + try { + TempPageNumber = $('#datatable').datagrid('getPager').pagination("options").pageNumber; + pageSize = $('#datatable').datagrid('getPager').pagination("options").pageSize; + } catch (e) { + + } + $('#datatable') + .datagrid( + { + title: "信息列表", + iconCls: 'icon-search', + pageNumber: TempPageNumber, + pageSize: pageSize, + pageList: [5, 10, 15, 20, 25, 30, 35, 40, 45, 50], + nowrap: true, + striped: true, + border: true, + noheader: true, + url: urls, + loadMsg: '数据加载中......', + queryParams: queryParams, + remoteSort: false, + fitColumns: true, + toolbar: '#edit-tb', + columns: [[ + { + field: 'ck', + checkbox: true + }, + { + field: 'VIN_CODE', + title: 'VIN码', + sortable: 'true', + align: 'center', + width: 10, + }, + { + field: 'ELECTRONIC_ACCOUNTS', + title: '电子账户', + sortable: 'true', + align: 'center', + width: 10 + }, { + field: 'USER_PHONE', + title: '手机号码', + sortable: 'true', + align: 'center', + width: 10 + }, { + field: 'LICENSE', + title: '车牌号', + sortable: 'true', + align: 'center', + width: 10 + } + , { + field: 'CONSUME_TIME', + title: '消费时间', + sortable: 'true', + align: 'center', + width: 10, + formatter: function (value, row, index) { + return new Date(value).Format("yyyy-MM-dd"); + } + } + , { + field: 'CONSUME_COUNT', + title: '消费金额', + sortable: 'true', + align: 'center', + width: 10 + } + , { + field: 'NAME', + title: '经销商', + sortable: 'true', + align: 'center', + width: 10 + } + , { + field: 'SETTLEMENT_STATE', + title: '审批状态', + sortable: 'true', + align: 'center', + width: 10, + formatter: function (value, row, index) { + return transState(value); + } + } + , { + field: 'operate', title: '查看', align: 'center', width: 5, + formatter: function (value, row, index) { + var str = '查看'; + return str; + } + } + ]], + pagination: true, + rownumbers: false, + onClickRow: function (rowIndex, rowData) { + //加载完毕后获取所有的checkbox遍历 + if (rowData.SETTLEMENT_STATE != "0" && rowData.SETTLEMENT_STATE != "1" && rowData.SETTLEMENT_STATE != "5") { + $("#datatable").datagrid('unselectRow', rowIndex); + } + }, + + onCheckAll: function (rows) { + $("input[type='checkbox']").each(function(index, el) { + if (el.disabled&&index!=0) { + $("#datatable").datagrid('uncheckRow', index - 1); + } + }) ; + }, + onLoadSuccess: function (data) { + if (data.rows.length > 0) { + for (var i = 0; i < data.rows.length; i++) { + if (data.rows[i].SETTLEMENT_STATE != "0" && data.rows[i].SETTLEMENT_STATE != "1" && data.rows[i].SETTLEMENT_STATE != "5") { + $("input[type='checkbox']")[i + 1].disabled = true; + } + } + } + } + + }); + $('#datatable').datagrid('getPager').pagination({ + displayMsg: '当前显示从 {from} 到 {to} 共{total}条记录', + onBeforeRefresh: function (pageNumber, pageSize) { + $(this).pagination('loading'); + $(this).pagination('loaded'); + } + }); +} + + +function showConsumePanel(index) { + var data = $("#datatable").datagrid('getRows')[index]; + $('#i-VIN_CODE').html(data.VIN_CODE); + $('#i-CONSUME_COUNT').html(data.CONSUME_COUNT); + $('#i-CONSUME_TIME').html(data.CONSUME_TIME ? new Date(data.CONSUME_TIME).Format("yyyy-MM-dd") : '-'); + //$('#i-RESCCUE_COMPANY_CODE').html(RESCCUE_COMPANY_CODE); + $('#i-REPARIE_INFO').html(data.REPARIE_INFO); + $('#i-HITCH_INFO').html(data.HITCH_INFO); + //$('#i-IS_SETTLE').html(IS_SETTLE); + $('#i-SETTLE_TIME').html(data.SETTLE_TIME ? new Date(data.SETTLE_TIME).Format("yyyy-MM-dd hh:mm:ss") : '-'); + $('#i-SETTLEMENT_STATE').html(transState(data.SETTLEMENT_STATE)); + $('#i-REMARK').html(data.REMARK); + $('#i-ELECTRONIC_ACCOUNTS').html(data.ELECTRONIC_ACCOUNTS); + $('#i-CREATE_TIME').html(data.CREATE_TIME ? new Date(data.CREATE_TIME).Format("yyyy-MM-dd hh:mm:ss") : '-'); + $('#i-NAME').html(data.NAME); + $('#i-LICENSE').html(data.LICENSE); + $('#i-USER_PHONE').html(data.USER_PHONE); + $('#cosume_windowContent').show(); + +} + +function dateF(times, f) { + var d1 = new Date(); + d1.setTime(times); + return d1.Format(f); +} + +function transState(value) { + switch (value) { + case '0': + return '未结算'; + case '1': + return '未结算'; + case '5': + return '提交结算'; + case '10': + return '同意付款'; + case '100': + return '已付款'; + case '101': + return '已撤销'; + } +} diff --git a/src/main/webapp/js/business/enterprise.js b/src/main/webapp/js/business/enterprise.js new file mode 100644 index 0000000..2a0d090 --- /dev/null +++ b/src/main/webapp/js/business/enterprise.js @@ -0,0 +1,175 @@ +// 代金券消费 +function queryEnterpriseList(urls, queryParams) { + // 默认查询第一页 query查询时保存当前条件 + var TempPageNumber = 1, pageSize = 10; + try { + TempPageNumber = $('#datatable').datagrid('getPager').pagination("options").pageNumber; + pageSize = $('#datatable').datagrid('getPager').pagination("options").pageSize; + } catch (e) { + + } + $('#datatable') + .datagrid( + { + title: "信息列表", + iconCls: 'icon-search', + pageNumber: TempPageNumber, + pageSize: pageSize, + pageList: [5, 10, 15, 20, 25, 30, 35, 40, 45, 50], + nowrap: true, + striped: true, + border: true, + noheader: true, + url: urls, + loadMsg: '数据加载中......', + queryParams: queryParams, + remoteSort: false, + fitColumns: true, + singleSelect: false, + columns: [[ + + { + field: 'name', + title: '经销商名称', + sortable: 'true', + halign: 'center', + align: 'left', + width: 10 + }, { + field: 'abbr_code', + title: '经销商代码', + sortable: 'true', + align: 'center', + width: 10 + }, { + field: 'address', + title: '地址', + sortable: 'true', + halign: 'center', + align: 'left', + width: 15 + } + , { + field: 'contact', + title: '联系人', + sortable: 'true', + align: 'center', + width: 10 + } + , { + field: 'operate', title: '操作', align: 'center', width: 5, + formatter: function (value, row, index) { + + //将数组序列化为json字符串 +// row = json_encode(row); +// var obj = eval("("+row+")"); +// alert(JSON.stringify(row)); + var str = '编辑  '; + str = str + '删除'; + + return str; + } + } + ]], + pagination: true, + rownumbers: false, + onLoadSuccess: function (data) { + }, + toolbar: [], + onCheck: function (rowIndex, rowData) { + }, + onCheckAll: function (rows) { + }, + onUncheck: function (rowIndex, rowData) { + }, + onLoadSuccess: function (data) { + }, + onUncheckAll: function (rows) { + } + + }); + $('#datatable').datagrid('getPager').pagination({ + displayMsg: '', + onBeforeRefresh: function (pageNumber, pageSize) { + $(this).pagination('loading'); + $(this).pagination('loaded'); + } + }); +} + +function showEnterprisePanel(id) { + $("#enterpriseform").form("clear"); + var params = {}; + params["id"] = id; + var result = ajaxgetresultpost($("#paths").val() + + '/enterprise/get_by_id.do', params); + if (result.flag == 0) { + alert(result.msg); + } else { + //alert(result.data); + //getMapUrl(); + loadData2(result.data); + var lng = $("#lng").val(); + var lat = $("#lat").val(); + //alert(lng); + var url = $("#paths").val() + "/base/amap.do?lng=" + lng + "&lat=" + lat; + setTimeout(function () { + $("#map_frame").attr("src", url); + }, 1); + $("#addedit_dialog").show(); + + } + + +} + +function deleteEnterprise(id) { + $.messager.confirm('确定', '你确定删除该经销商么?', function (r) { + if (r) { + var params = {}; + params["id"] = id; + var result = ajaxgetresultpost($("#paths").val() + + '/enterprise/delete_by_id.do', params); + if (result.flag == 0) { + alert(result.msg); + } else { + query(); + } + } + }); + +} + + +function loadData2(obj) { + var key, value, tagName, type, arr; + for (x in obj) { + key = x; + value = obj[x]; + + $("#addedit_dialog").find($("[name='" + key + "'],[name='" + key + "[]']")).each(function () { + tagName = $(this)[0].tagName; + type = $(this).attr('type'); + if (tagName == 'INPUT') { + if (type == 'radio') { + $(this).attr('checked', $(this).val() == value); + } else if (type == 'checkbox') { + arr = value.split(','); + for (var i = 0; i < arr.length; i++) { + //alert($(this).val()+'&&'+arr[i]+i); + if ($(this).val() == arr[i]) { + //alert(1); + $(this).prop('checked', true); + break; + } + } + } else { + $(this).val(value); + } + } else if (tagName == 'SELECT' || tagName == 'TEXTAREA') { + $(this).val(value); + } + + }); + } +} \ No newline at end of file diff --git a/src/main/webapp/js/business/orderCheck.js b/src/main/webapp/js/business/orderCheck.js new file mode 100644 index 0000000..904b1b6 --- /dev/null +++ b/src/main/webapp/js/business/orderCheck.js @@ -0,0 +1,300 @@ +// 对Date的扩展,将 Date 转化为指定格式的String +// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, +// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) +// 例子: +// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 +// (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18 +Date.prototype.Format = function (fmt) { //author: meizz + var o = { + "M+": this.getMonth() + 1, //月份 + "d+": this.getDate(), //日 + "h+": this.getHours(), //小时 + "m+": this.getMinutes(), //分 + "s+": this.getSeconds(), //秒 + "q+": Math.floor((this.getMonth() + 3) / 3), //季度 + "S": this.getMilliseconds() //毫秒 + }; + if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); + for (var k in o) + if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); + return fmt; +} + + +// 代金券消费 +function queryOrderCheckList(urls, queryParams) { + // 默认查询第一页 query查询时保存当前条件 + var TempPageNumber = 1, pageSize = 10; + try { + TempPageNumber = $('#datatable2').datagrid('getPager').pagination("options").pageNumber; + pageSize = $('#datatable2').datagrid('getPager').pagination("options").pageSize; + } catch (e) { + + } + $('#datatable') + .datagrid( + { + title: "对账列表", + iconCls: 'icon-search', + pageNumber: TempPageNumber, + pageSize: pageSize, + pageList: [10, 50], + nowrap: true, + striped: true, + border: true, + noheader: true, + url: urls, + loadMsg: '数据加载中......', + queryParams: queryParams, + remoteSort: false, + fitColumns: true, + singleSelect: false, + columns: [[ + + { + field: 'ORDER_CODE', + title: '案件编号', + sortable: 'true', + align: 'left', + width: 40 + }, { + field: 'VIN_NO', + title: 'VIN码', + sortable: 'true', + align: 'left', + width: 25 + }, { + field: 'ADDRESS', + title: '案件事发地', + sortable: 'true', + align: 'left', + width: 60 + }, + { + field: 'SERVICE_NAME', + title: '服务类型', + sortable: 'true', + align: 'left', + width: 20 + }, + { + field: 'CREATE_TIME', + title: '开案时间', + sortable: 'true', + align: 'left', + width: 30, + formatter: function (value, row, index) { + return new Date(value).Format("yyyy-MM-dd hh:mm") + } + },{ + field: 'RECUESTATE', + title: '完成情况', + sortable: 'true', + align: 'left', + width: 20, + formatter: function (value, row, index) { + switch (value) { + case '51': + return "取消服务"; + case '53': + return "救援失败"; + case '55': + return "救援成功"; + } + } + }, + + { + field: 'MONEY', + title: '救援服务费', + sortable: 'true', + align: 'center', + width: 15, + formatter: function (value, row, index) { + var ALL_FEE1 = parseInt(row.MONEY) + parseInt(row.MONEY); + return '800'; + } + }, + { + field: 'ALL_FEE1', + title: '经销商核对', + sortable: 'true', + align: 'center', + width: 15, + formatter: function (value, row, index) { + var ALL_FEE1 = parseInt(row.TOTAL_FEE1) + parseInt(row.OTHER_FEE1); + return ALL_FEE1 || '-'; + } + }, + { + field: 'ACCOUNTSTATE', + title: '结算状态', + sortable: 'true', + align: 'left', + width: 25, + formatter: function (value, row, index) { + switch (value) { + case '2': + return "未填写"; + case '3': + return "等待审核"; + case '4': + return "对账完成"; + case '6': + return "开票完成"; + default : + return "对账中"; + } + } + }, + { + field: 'operation', + title: '操作', + sortable: 'true', + align: 'left', + width: 20, + formatter: function (value, row, index) { + var str = '核对'; + return str; + } + } + ]], + pagination: true, + rownumbers: false, + onLoadSuccess: function (data) { + } + + , + toolbar: [], + onCheck: function (rowIndex, rowData) { + } + + , + onCheckAll: function (rows) { + } + , + onUncheck: function (rowIndex, rowData) { + } + , + onLoadSuccess: function (data) { + } + , + onUncheckAll: function (rows) { + } + + } + ) + ; +} + +function showDetail(index) { + var order = $('#datatable').datagrid('getRows')[index] + $('#i-checkStateValue').val(order.CHECK_STATE); + $('#i-checkID').val(order.CHECK_ID); + $('#i-orderID').val(order.ORDER_ID); + $('#uid').val(order.ID); + if(order.ACCOUNTSTATE == 2 || order.ACCOUNTSTATE == 3) { + $("#acceptBtn").show(); + }else{ + $("#acceptBtn").hide(); + } + + + $("#checkInfoEdit_windowContent").show(); + console.log(order); + $("#i-orderCode").html(order.ORDER_CODE); + $("#i-orderState").html(function () { + switch (order.RECUESTATE) { + case '51': + return "取消服务"; + case '53': + return "救援失败"; + case '55': + return "救援成功"; + } + }); + $("#i-checkState").html(function () { + switch (order.ACCOUNTSTATE) { + case '2': + return "等待填写"; + case '3': + return "等待审核"; + case '4': + return "对账完成"; + case '6': + return "开票完成"; + default : + return "未填写"; + } + }); + $("#i-serviceName").html(order.SERVICE_NAME); + $("#i-address").html(order.ADDRESS); + if (order.DESTINATION != null && order.DESTINATION != '') { + $('.i-destAddressTR').show(); + $("#i-destAddress").html(order.DESTINATION); + } else { + $('.i-destAddressTR').hide(); + } + $("#i-companyName").html(order.NAME); + $("#i-frameCode").html(order.VIN_NO); + $("#i-totalFee").html(800); + $("#i-isSuccessServer").val("1"); + $("#i-isSuccessServer").change(function(){ + var select=$("#i-isSuccessServer").val(); + if(select == "0"){ + $("#i-totalFee1").html(parseInt(600)); + } + if(select == "1"){ + $("#i-totalFee1").html(parseInt(800)); + } + if(select == "2"){ + $("#i-totalFee1").html(parseInt(300)); + } + }); + $("#i-totalFee").html(function () { + if (order.FLOW_ID == "1") { + $("#i-isSuccessServerTD").show(); + $(".i-refMileageTR").hide(); + $("#i-isSuccessServer").val(order.IS_SUCCESS_SERVER); + if (order.MONEY >0) { + $('#i-otherFee').val(order.MONEY); + return (parseInt(order.MONEY) + parseInt(order.MONEY)); + } else { + if (order.IS_SUCCESS_SERVER == 1) { + return 800; + } else { + return 600; + } + } + } else if (order.FLOW_ID == "2") { + $(".i-refMileageTR").show(); + $("#i-isSuccessServerTD").hide(); + if (order.MONEY>0 || order.MONEY > 0) { + return parseInt(order.MONEY) + parseInt(order.MONEY); + } else { + var REF_MILEAGE2 = order.MONEY; + if (!REF_MILEAGE2) REF_MILEAGE2 = 0; + else REF_MILEAGE2 = parseInt(REF_MILEAGE2 / 1000) + if (REF_MILEAGE2 > 15) { + REF_MILEAGE2 = REF_MILEAGE2 - 15 + } + $("#i-refMileage").html(REF_MILEAGE2); + return 150 + REF_MILEAGE2 * 6; + } + } + }); + + var totalFee = $("#i-totalFee").html(); + if (order.MONEY) { + $('#i-totalFee1').html(parseInt(800)) + } else { + $('#i-totalFee1').html(totalFee) + } + + var mile = !order.MILE ? 0 : parseInt(order.MILE); + if (order.MILE > 15000 && (!order.MILE > 0)) { + mile = parseInt((MILE - 15000) / 1000); + } + $('#i-mileage1').val(mile); + +} diff --git a/src/main/webapp/js/business/orderCheckAll.js b/src/main/webapp/js/business/orderCheckAll.js new file mode 100644 index 0000000..162710c --- /dev/null +++ b/src/main/webapp/js/business/orderCheckAll.js @@ -0,0 +1,245 @@ +// 对Date的扩展,将 Date 转化为指定格式的String +// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, +// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) +// 例子: +// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 +// (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18 +Date.prototype.Format = function (fmt) { //author: meizz + var o = { + "M+": this.getMonth() + 1, //月份 + "d+": this.getDate(), //日 + "h+": this.getHours(), //小时 + "m+": this.getMinutes(), //分 + "s+": this.getSeconds(), //秒 + "q+": Math.floor((this.getMonth() + 3) / 3), //季度 + "S": this.getMilliseconds() //毫秒 + }; + if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); + for (var k in o) + if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); + return fmt; +} + + +// 代金券消费 +function queryOrderCheckList(urls, queryParams,state) { + // 默认查询第一页 query查询时保存当前条件 + var TempPageNumber = 1, pageSize = 10; + try { + TempPageNumber = $('#datatable2').datagrid('getPager').pagination("options").pageNumber; + pageSize = $('#datatable2').datagrid('getPager').pagination("options").pageSize; + } catch (e) { + + } + $('#datatable') + .datagrid( + { + title: "对账列表", + iconCls: 'icon-search', + pageNumber: TempPageNumber, + pageSize: pageSize, + pageList: [10, 50], + nowrap: true, + striped: true, + border: true, + noheader: true, + url: urls, + loadMsg: '数据加载中......', + queryParams: queryParams, + remoteSort: false, + fitColumns: true, + singleSelect: false, + columns: [[ + { + field: 'ORDER_CODE', + title: '案件编号', + sortable: 'true', + align: 'left', + width: 40 + }, { + field: 'VIN_NO', + title: 'VIN码', + sortable: 'true', + align: 'left', + width: 40, + + }, + { + field: 'NAME', + title: '服务商', + sortable: 'true', + align: 'left', + width: 40, + styler: function (value, row, index) { + if (state == '1') { + // var str = '查看详情'; + // return str; + $('#datatable').datagrid('hideColumn', 'NAME'); + return 'display:none;' + } else { + return value; + } + + } + + },{ + field: 'ADDRESS', + title: '案件事发地', + sortable: 'true', + align: 'left', + width: 60 + }, + { + field: 'SERVICE_NAME', + title: '服务类型', + sortable: 'true', + align: 'left', + width: 20 + }, + { + field: 'CREATE_TIME', + title: '开案时间', + sortable: 'true', + align: 'left', + width: 30, + formatter: function (value, row, index) { + return new Date(value).Format("yyyy-MM-dd hh:mm") + } + },{ + field: 'RECUESTATE', + title: '完成情况', + sortable: 'true', + align: 'center', + width: 15, + formatter: function (value, row, index) { + switch (value) { + case '51': + return "取消服务"; + case '53': + return "救援失败"; + case '55': + return "救援成功"; + } + } + }, + { + field: 'MONEY', + title: '结算费用', + sortable: 'true', + align: 'center', + width: 20, + formatter: function (value, row, index) { + var ALL_FEE1 = parseInt(row.MONEY) + parseInt(row.MONEY); + return ALL_FEE1 || '0'; + } + }, + { + field: 'ACCOUNTSTATE', + title: '结算状态', + sortable: 'true', + align: 'left', + width: 25, + formatter: function (value, row, index) { + switch (value) { + case '2': + return "对账中"; + case '3': + return "对账中"; + case '4': + return "对账完成"; + case '6': + return "开票完成"; + default : + return "对账中"; + } + } + }, + { + field: 'operation', + title: '操作', + sortable: 'true', + align: 'left', + width: 20, + formatter: function (value, row, index) { + var str = '详情'; + return str; + } + } + ]], + pagination: true, + rownumbers: false, + onLoadSuccess: function (data) { + } + + , + toolbar: [], + onCheck: function (rowIndex, rowData) { + } + + , + onCheckAll: function (rows) { + } + , + onUncheck: function (rowIndex, rowData) { + } + , + onLoadSuccess: function (data) { + } + , + onUncheckAll: function (rows) { + } + + } + ) + ; +} + +function showDetail(index) { + var order = $('#datatable').datagrid('getRows')[index] + + $("#checkInfoEdit_windowContent").show(); + $("#i-orderCode").html(order.ORDER_CODE); + $("#i-orderState").html(function () { + switch (order.RECUESTATE) { + case '51': + return "取消服务"; + case '53': + return "救援失败"; + case '55': + return "救援成功"; + default : + return "未完成"; + } + }); + $("#i-checkState").html(function () { + switch (order.ACCOUNTSTATE) { + case '2': + return "未填写"; + case '3': + return "等待审核"; + case '4': + return "对账完成"; + case '6': + return "开票完成"; + default : + return "对账中"; + } + }); + $("#i-serviceName").html(order.SERVICE_NAME); + $("#i-address").html(order.ADDRESS); + if (order.DESTINATION != null && order.DESTINATION != '') { + $('.i-destAddressTR').show(); + $("#i-destAddress").html(order.DESTINATION); + } else { + $('.i-destAddressTR').hide(); + } + if (order.FLOW_ID == "1") { + $('.i-refMileageTR').hide(); + }else{ + $('.i-refMileageTR').show(); + } + $("#i-companyName").html(order.NAME); + $("#i-frameCode").html(order.VIN_NO); + $('#i-totalFee').html(parseInt(order.MONEY)+parseInt(order.MONEY)); + $('#i-refMileage').html(parseInt(order.MILE)||0); +} \ No newline at end of file diff --git a/src/main/webapp/js/business/orderCheckHIs.js b/src/main/webapp/js/business/orderCheckHIs.js new file mode 100644 index 0000000..2f11d6a --- /dev/null +++ b/src/main/webapp/js/business/orderCheckHIs.js @@ -0,0 +1,247 @@ +// 对Date的扩展,将 Date 转化为指定格式的String +// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, +// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) +// 例子: +// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 +// (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18 +Date.prototype.Format = function (fmt) { //author: meizz + var o = { + "M+": this.getMonth() + 1, //月份 + "d+": this.getDate(), //日 + "h+": this.getHours(), //小时 + "m+": this.getMinutes(), //分 + "s+": this.getSeconds(), //秒 + "q+": Math.floor((this.getMonth() + 3) / 3), //季度 + "S": this.getMilliseconds() //毫秒 + }; + if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); + for (var k in o) + if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); + return fmt; +} + + +// 代金券消费 +function queryOrderCheckList(urls, queryParams) { + // 默认查询第一页 query查询时保存当前条件 + var TempPageNumber = 1, pageSize = 10; + try { + TempPageNumber = $('#datatable2').datagrid('getPager').pagination("options").pageNumber; + pageSize = $('#datatable2').datagrid('getPager').pagination("options").pageSize; + } catch (e) { + + } + $('#datatable') + .datagrid( + { + title: "对账列表", + iconCls: 'icon-search', + pageNumber: TempPageNumber, + pageSize: pageSize, + pageList: [10, 50], + nowrap: true, + striped: true, + border: true, + noheader: true, + url: urls, + loadMsg: '数据加载中......', + queryParams: queryParams, + remoteSort: false, + fitColumns: true, + singleSelect: false, + columns: [[ + { + field: 'CODE', + title: '案件编号', + sortable: 'true', + align: 'left', + width: 40 + }, { + field: 'FRAME_CODE', + title: 'VIN码', + sortable: 'true', + align: 'left', + width: 25 + }, + { + field: 'ADDRESS', + title: '案件事发地', + sortable: 'true', + align: 'left', + width: 60 + }, + { + field: 'SERVICE_NAME', + title: '服务类型', + sortable: 'true', + align: 'left', + width: 20 + }, + { + field: 'CREATE_TIME', + title: '开案时间', + sortable: 'true', + align: 'left', + width: 30, + formatter: function (value, row, index) { + return new Date(value).Format("yyyy-MM-dd hh:mm") + } + },{ + field: 'STATE', + title: '完成情况', + sortable: 'true', + align: 'center', + width: 15, + formatter: function (value, row, index) { + switch (value) { + case '15': + return "等待评价"; + case '16': + return "救援完成"; + case '18': + return "车主取消"; + case '17': + return "放弃救援"; + case '19': + return "放弃救援"; + default : + return "未完成"; + } + } + }, + { + field: 'ALL_FEE1', + title: '结算费用', + sortable: 'true', + align: 'center', + width: 20, + formatter: function (value, row, index) { + var ALL_FEE1 = parseInt(row.TOTAL_FEE2) + parseInt(row.OTHER_FEE2); + return ALL_FEE1 || '0'; + } + }, + { + field: 'CHECK_STATE', + title: '结算状态', + sortable: 'true', + align: 'left', + width: 25, + formatter: function (value, row, index) { + switch (value) { + case '1': + return "等待填写"; + case '2': + return "等待审核"; + case '3': + return "审核未通过"; + case '4': + return "再次审核"; + case '5': + return "对账完成"; + case '6': + return "开票完成"; + default : + return "未填写"; + } + } + }, + { + field: 'operation', + title: '操作', + sortable: 'true', + align: 'left', + width: 20, + formatter: function (value, row, index) { + var str = '详情'; + return str; + } + } + ]], + pagination: true, + rownumbers: false, + onLoadSuccess: function (data) { + } + + , + toolbar: [], + onCheck: function (rowIndex, rowData) { + } + + , + onCheckAll: function (rows) { + } + , + onUncheck: function (rowIndex, rowData) { + } + , + onLoadSuccess: function (data) { + } + , + onUncheckAll: function (rows) { + } + + } + ) + ; +} + +function showDetail(index) { + var order = $('#datatable').datagrid('getRows')[index] + + $("#checkInfoEdit_windowContent").show(); + $("#i-orderCode").html(order.CODE); + $("#i-orderState").html(function () { + switch (order.STATE) { + case '15': + return "等待评价"; + case '16': + return "救援完成"; + case '18': + return "车主取消"; + case '17': + return "放弃救援"; + case '19': + return "放弃救援"; + default : + return "未完成"; + } + }); + $("#i-checkState").html(function () { + switch (order.CHECK_STATE) { + case '1': + return "等待填写"; + case '2': + return "等待审核"; + case '3': + return "审核未通过"; + case '4': + return "再次审核"; + case '5': + return "审核通过"; + case '6': + return "开票完成"; + default : + return "未填写"; + } + }); + $("#i-serviceName").html(order.SERVICE_NAME); + $("#i-address").html(order.ADDRESS); + if (order.DEST_ADDRESS && order.DEST_ADDRESS != null && order.DEST_ADDRESS != '') { + $('.i-destAddressTR').show(); + $("#i-destAddress").html(order.DEST_ADDRESS); + } else { + $('.i-destAddressTR').hide(); + } + if (order.FLOW_ID == "1") { + $('.i-refMileageTR').hide(); + }else{ + $('.i-refMileageTR').show(); + } + $("#i-companyName").html(order.COMPANYNAME); + $("#i-frameCode").html(order.FRAME_CODE); + + + $('#i-totalFee').html(parseInt(order.TOTAL_FEE2)+parseInt(order.OTHER_FEE2)); + $('#i-refMileage').html(parseInt(order.BC_MILEAGE2/1000)||0); + +} \ No newline at end of file diff --git a/src/main/webapp/js/business/recharge_query.js b/src/main/webapp/js/business/recharge_query.js new file mode 100644 index 0000000..a230d36 --- /dev/null +++ b/src/main/webapp/js/business/recharge_query.js @@ -0,0 +1,153 @@ +// 对Date的扩展,将 Date 转化为指定格式的String +// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, +// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) +// 例子: +// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 +// (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18 +Date.prototype.Format = function (fmt) { //author: meizz + var o = { + "M+": this.getMonth() + 1, //月份 + "d+": this.getDate(), //日 + "h+": this.getHours(), //小时 + "m+": this.getMinutes(), //分 + "s+": this.getSeconds(), //秒 + "q+": Math.floor((this.getMonth() + 3) / 3), //季度 + "S": this.getMilliseconds() //毫秒 + }; + if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); + for (var k in o) + if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); + return fmt; +} +// 代金券消费 +function queryCouponList(urls, queryParams) { + // 默认查询第一页 query查询时保存当前条件 + var TempPageNumber = 1, pageSize = 10; + try { + TempPageNumber = $('#datatable').datagrid('getPager').pagination("options").pageNumber; + pageSize = $('#datatable').datagrid('getPager').pagination("options").pageSize; + } catch (e) { + + } + $('#datatable') + .datagrid( + { + title: "信息列表", + iconCls: 'icon-search', + pageNumber: TempPageNumber, + pageSize: pageSize, + pageList: [5, 10, 15, 20, 25, 30, 35, 40, 45, 50], + nowrap: true, + striped: true, + border: true, + noheader: true, + url: urls, + loadMsg: '数据加载中......', + queryParams: queryParams, + remoteSort: false, + fitColumns: true, + toolbar: '#edit-tb', + columns: [[ + { + field: 'VIN_CODE', + title: 'VIN码', + sortable: 'true', + align: 'center', + width: 10, + }, + { + field: 'ELECTRONIC_ACCOUNTS', + title: '电子账户', + sortable: 'true', + align: 'center', + width: 10 + }, { + field: 'USER_PHONE', + title: '手机号码', + sortable: 'true', + align: 'center', + width: 10 + }, { + field: 'LICENSE', + title: '车牌号', + sortable: 'true', + align: 'center', + width: 10 + },{ + field: 'SERVICE_NAME', + title: '服务类型', + sortable: 'true', + align: 'center', + width: 10 + }, { + field: 'ORDER_CODE', + title: '案件编号', + sortable: 'true', + align: 'center', + width: 15 + }, + /*{ + field: 'CREATE_TIME', + title: '案件创建时间', + sortable: 'true', + align: 'center', + width: 10, + formatter: function (value, row, index) { + return value ? new Date(value).Format("yyyy-MM-dd hh:mm:ss"):'--'; + } + },*/{ + field: 'RECHARGE_COUNT', + title: '充值金额', + sortable: 'true', + align: 'center', + width: 10 + }, + { + field: 'RECHARGE_TIME', + title: '充值时间', + sortable: 'true', + align: 'center', + width: 10, + formatter: function (value, row, index) { + return value ? new Date(value).Format("yyyy-MM-dd"):'--'; + } + } + , { + field: 'OVERDUE_TIME', + title: '到期时间', + sortable: 'true', + align: 'center', + width: 10, + formatter: function (value, row, index) { + return value ? new Date(value).Format("yyyy-MM-dd"):'--'; + } + } + ]], + pagination: true, + rownumbers: false, + }); + $('#datatable').datagrid('getPager').pagination({ + displayMsg: '当前显示从 {from} 到 {to} 共{total}条记录', + onBeforeRefresh: function (pageNumber, pageSize) { + $(this).pagination('loading'); + $(this).pagination('loaded'); + } + }); +} + +function transState(value) { + switch (value) { + case '0': + return '未结算'; + case '1': + return '未结算'; + case '5': + return '提交结算'; + case '10': + return '同意付款'; + case '100': + return '已付款'; + case '101': + return '已撤销'; + } +} diff --git a/src/main/webapp/js/business/role.js b/src/main/webapp/js/business/role.js new file mode 100644 index 0000000..3e3fa28 --- /dev/null +++ b/src/main/webapp/js/business/role.js @@ -0,0 +1,307 @@ +Date.prototype.Format = function (fmt) { //author: meizz + var o = { + "M+": this.getMonth() + 1, //月份 + "d+": this.getDate(), //日 + "h+": this.getHours(), //小时 + "m+": this.getMinutes(), //分 + "s+": this.getSeconds(), //秒 + "q+": Math.floor((this.getMonth() + 3) / 3), //季度 + "S": this.getMilliseconds() //毫秒 + }; + if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); + for (var k in o) + if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); + return fmt; +} +function deleteEnterprise(id,name) { + $.messager.confirm('确定', '你确定删除该角色吗?', function (r) { + if (r) { + var params = {}; + params["id"] = id; + params["name"] = name; + var result = ajaxgetresultpost( + '/role/deleteRole.do', params); + if (result.flag == 0) { + alert(result.msg); + } else { + queryes(); + } + } + }); + +} +function showEnterprisePanel(id) { + $("#userform").form("clear"); + var params = {}; + params["id"] = id; + var result = ajaxgetresultpost($("#paths").val() + + '/role/getRoleInfo.do', params); + if (result.flag == 0) { + alert(result.msg); + } else { + loadData2(result.data); + $('#tt').tree({ + url:'/role/getTree.do', + lines : true, + checkbox:true, + loadFilter: function(data){ + if (data.d){ + return data.d; + } else { + return data; + } + } + }); + $.post("/role/getMenuInfo.do","id="+id,function (data) { + var data = eval("(" + data + ")"); + if(data.flag == 1){ + var dataes=data.data; + alert("权限展示"); + for(var i=0;i编辑  '; + str = str + '删除'; + + return str; + } + } + ]], + pagination: true, + rownumbers: false, + onLoadSuccess: function (data) { + } + + , + toolbar: [], + onCheck: function (rowIndex, rowData) { + } + + , + onCheckAll: function (rows) { + } + , + onUncheck: function (rowIndex, rowData) { + } + , + onLoadSuccess: function (data) { + } + , + onUncheckAll: function (rows) { + } + }) + ; + $('#datatable').datagrid('getPager').pagination({ + displayMsg: '', + }); + +} + +// 计算页面个数 +function getPageCount(total, pageSize) { + if (total % pageSize == 0) { + return total / pageSize; + } else { + return parseInt(total / pageSize) + 1; + } + +} + + +function toCompairTime(a, b) { + var arr = a.split("-"); + var starttime = new Date(arr[0], arr[1], arr[2]); + var starttimes = starttime.getTime(); + var arrs = b.split("-"); + var lktime = new Date(arrs[0], arrs[1], arrs[2]); + var lktimes = lktime.getTime(); + + if (starttimes >= lktimes) { + + return false; + } + else + return true; +} + +// 2.向select选项中 加入一个Item +function jsAddItemToSelect(objSelect, listfirst, idList) { + + // jsRemoveItemFromSelect(objSelect, idList); +//判断是否存在 + if (listfirst != null && listfirst.length > 0) { + objSelect.options.add(new Option('请选择', 0)); + for (var i = 0; i < listfirst.length; i++) { + var objItemValue = idList[i]; + // alert(objItemValue); + var objItemText = listfirst[i]; + //alert(objItemText); + var varItem = new Option(objItemText, objItemValue); + objSelect.options.add(varItem); + } + } + + //alert("成功加入"); +} + + + + +function jsRemoveItemFromSelect(objSelect) { +//判断是否存在 + var optionList = objSelect.options + for (var i = 0; i < optionList.length; i++) { + alert(optionList.length); + optionList.remove(i); + } +} +// 1.判断select选项中 是否存在Value="paraValue"的Item +function jsSelectIsExitItem(objSelect, objItemValue) { + var isExit = false; + for (var i = 0; i < objSelect.options.length; i++) { + if (objSelect.options[i].value == objItemValue) { + isExit = true; + break; + } + } + return isExit; +} + +// 求援完成确定 +function completionOfRescue(code, special_organize, servicesname) { + var path = $("#paths").val(); + $(".order_print").show(); + var param = {}; + param["code"] = code; + var result = ajaxgetresultpost(path + '/casesInfo/completionOfRescue.do', param); + var specialOrganize = special_organize == "undefined" || special_organize == null ? '' : special_organize; + var servicesName = servicesname == "undefined" || servicesname == null ? '' : servicesname; + + var s = ' 案件信息 ' + + ' 案件编号:' + result.code + ' ' + + '服务内容:' + servicesName + '' + + ' 经销商代码:' + result.contract_company_code + '' + + '经销商名称:' + specialOrganize + '' + + ' 车架号:' + result.frame_code + ' ' + + '车  型:' + result.style + ' ' + + ' 故障描述:' + result.trouble_leve2 + ' ' + + '事发地:' + result.depart_address + ' ' + + '目的地:' + result.dest_address + ' '; + $(".PrintCase").html(s); + + + // 救援详情 + var ss = ' 救援详情 ' + + '接案时间:' + result.accept_time + ' ' + + '到达时间:' + result.arrive_time + ' ' + + '完成时间:' + result.finish_time + ' ' + $(".saveDetail").html(ss); + + // 签名 + //alert(result.csignaturePath,result.cksignaturePath); + var sss = '
' + + '车主签字
' + + '
' + + '车主/接车人签字
'; + $(".sign").html(sss); +} + diff --git a/src/main/webapp/js/business/sue.js b/src/main/webapp/js/business/sue.js new file mode 100644 index 0000000..0184d70 --- /dev/null +++ b/src/main/webapp/js/business/sue.js @@ -0,0 +1,357 @@ +Date.prototype.Format = function (fmt) { //author: meizz + var o = { + "M+": this.getMonth() + 1, //月份 + "d+": this.getDate(), //日 + "h+": this.getHours(), //小时 + "m+": this.getMinutes(), //分 + "s+": this.getSeconds(), //秒 + "q+": Math.floor((this.getMonth() + 3) / 3), //季度 + "S": this.getMilliseconds() //毫秒 + }; + if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); + for (var k in o) + if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); + return fmt; +} +function queryCouponList(urls, queryParams,rescueState) { + var pageNumber = 1, pageSize = 10; + try { + pageNumber = $('#datatable').datagrid('getPager').pagination("options").pageNumber; + pageSize = $('#datatable').datagrid('getPager').pagination("options").pageSize; + } catch (e) { + pageNumber = 1, pageSize = 10; + } + $('#datatable') + .datagrid( + { + title: "信息列表", + iconCls: 'icon-search', + pageNumber: pageNumber, + pageSize: pageSize, + pageList: [5, 10, 15, 20, 25, 30, 35, 40, 45, 50], + nowrap: true, + striped: true, + border: true, + noheader: true, + url: urls, + loadMsg: '数据加载中......', + queryParams: queryParams, + remoteSort: false, + fitColumns: true, + singleSelect: false, + // frozenColumns: [[{ + // field: 'orderkey', + // checkbox: true + // }]], + columns: [[ + + { + field: 'ORDER_CODE', + title: '案件编号', + sortable: 'false', + align: 'center', + width: 10, + formatter: function (value, row, index) { + if (rescueState == "2") { + var str = value; + + str = '
' + value + '
'; + + return str; + }else { + return value; + } + } + }, { + field: 'CREATE_TIME', + title: '案件创建时间', + sortable: 'false', + align: 'center', + width: 10, + formatter: function (value, row, index) { + return new Date(value).Format("yyyy-MM-dd hh:mm:ss"); + } + } + , { + field: 'VIN_NO', + title: 'VIN码', + sortable: 'false', + align: 'center', + width: 10 + } + , { + field: 'PLATE_NUMBER', + title: '车牌号', + sortable: 'false', + align: 'center', + width: 10 + } + , { + field: 'NAME', + title: '服务商名称', + sortable: 'false', + align: 'center', + width: 15 + } + , { + field: 'CODE', + title: '服务商代码', + sortable: 'false', + align: 'center', + width: 10 + } + , { + field: 'SERVICE_NAME', + title: '服务类型', + sortable: 'false', + align: 'center', + width: 10 + } + , { + field: 'TASK_STATUS', + title: '服务状态', + sortable: 'false', + align: 'center', + width: 10, + formatter: function(value,row,index){ + if(value == ''){ + var value = row.STATUS; + if (value == 11){ + return "订单创建,等待完善信息"; + }else if (value == 13){ + return "改为预约订单"; + }else if (value == 15){ + return "订单需要授权"; + }else if (value == 19){ + return "等待坐席处理"; + }else if (value == 17){ + return "订单待付款"; + }else if (value == 21){ + return "调度服务商,等待回应"; + }else if (value == 23){ + return "等待系统自动调度"; + }else if (value == 25){ + return "自动调度中,等待回应"; + }else if (value == 28){ + return "待派车"; + }else if (value == 31){ + return "救援中"; + }else if (value == 51){ + return "取消服务"; + }else if (value == 53){ + return "救援失败,订单结束"; + }else if (value == 55){ + return "救援完成"; + } + }else if (value == 10000){ + return "调度成功,等待出发"; + }else if (value == 11001){ + return "救援车发车,正在赶往现场"; + }else if (value == 12001){ + return "救援车到达,核对救援资格"; + }else if (value == 13001){ + return "救援资格核对成功,开始验车"; + }else if (value == 14001){ + return "验车完成,开始救援作业"; + }else if (value == 15001){ + return "验车完成,拖车作业中"; + }else if (value == 16001){ + return "作业完成,正在拖往目的地"; + }else if (value == 17001){ + return "拖车到达目的地,生成结算单"; + }else if (value == 18001){ + return "确认结算单"; + }else if (value == 19001){ + return "任务完成"; + }else if (value == 11002){ + return "服务人员已经出发"; + }else if (value == 12002){ + return "服务人员到达,核对信息"; + }else if (value == 13002){ + return "信息核对完成,收取材料"; + }else if (value == 15002){ + return "材料收取完毕,前往验车点"; + }else if (value == 17002){ + return "到达验车点,开始验车"; + }else if (value == 11003){ + return "服务人员前往验车点"; + }else if (value == 12003){ + return "到达验车点,取回材料"; + }else if (value == 16002){ + return "作业完成,生成结算单"; + }else if (value == 19002){ + return "任务取消"; + }else if (value == 19003){ + return "任务放弃"; + }else if (value == 14002){ + return "验车完成,开始困境救援"; + } + } + } + ]], + pagination: true, + rownumbers: false, + onLoadSuccess: function (data) { + } + + , + toolbar: [], + onCheck: function (rowIndex, rowData) { + } + + , + onCheckAll: function (rows) { + } + , + onUncheck: function (rowIndex, rowData) { + } + , + onLoadSuccess: function (data) { + } + , + onUncheckAll: function (rows) { + } + }) + ; + $('#datatable').datagrid('getPager').pagination({ + displayMsg: '', + // onBeforeRefresh: function (pageNumber, pageSize) { 当前显示从 {from} 到 {to} + // $(this).pagination('loading'); + // $(this).pagination('loaded'); + // }, + // onSelectPage:function (pageNumber, pageSize) { + // // $('#datatable').panel('refresh', urls+'?pageNumber='+pageNumber+"&pageSize="+pageSize); + // var params={}; + // params["pageNumber"]=pageNumber; + // params["pageSize"]=pageSize; + // var result = ajaxgetresultpost(urls,params ); + // $('#datatable').datagrid('loadData', result.userOrderViewVOList); + // } + }); + +} + +// 计算页面个数 +function getPageCount(total, pageSize) { + if (total % pageSize == 0) { + return total / pageSize; + } else { + return parseInt(total / pageSize) + 1; + } + +} + + +function toCompairTime(a, b) { + var arr = a.split("-"); + var starttime = new Date(arr[0], arr[1], arr[2]); + var starttimes = starttime.getTime(); + var arrs = b.split("-"); + var lktime = new Date(arrs[0], arrs[1], arrs[2]); + var lktimes = lktime.getTime(); + + if (starttimes >= lktimes) { + + return false; + } + else + return true; +} + +// 2.向select选项中 加入一个Item +function jsAddItemToSelect(objSelect, listfirst, idList) { +//判断是否存在 + if (listfirst != null && listfirst.length > 0) { + objSelect.options.add(new Option('请选择', 0)); + for (var i = 0; i < listfirst.length; i++) { + var objItemValue = idList[i]; + // alert(objItemValue); + var objItemText = listfirst[i]; + //alert(objItemText); + var varItem = new Option(objItemText, objItemValue); + objSelect.options.add(varItem); + } + } + + //alert("成功加入"); +} + +// +// function jsRemoveItemFromSelect(objSelect, listfirst) { +// //判断是否存在 +// if (listfirst != null && listfirst.length > 0) { +// for (var i = 0; i < listfirst.length; i++) { +// var objItemValue = listfirst[i]; +// // if (!jsSelectIsExitItem(objSelect, objItemValue)) { +// for (var i = 0; i < objSelect.options.length; i++) { +// if (objSelect.options[i].value == objItemValue) { +// objSelect.options.remove(i); +// break; +// } +// // } +// } +// } +// } +// } + + +function jsRemoveItemFromSelect(objSelect) { +//判断是否存在 + var optionList = objSelect.options + for (var i = 0; i < optionList.length; i++) { + alert(optionList.length); + optionList.remove(i); + } +} +// 1.判断select选项中 是否存在Value="paraValue"的Item +function jsSelectIsExitItem(objSelect, objItemValue) { + var isExit = false; + for (var i = 0; i < objSelect.options.length; i++) { + if (objSelect.options[i].value == objItemValue) { + isExit = true; + break; + } + } + return isExit; +} + +// 求援完成确定 +function completionOfRescue(code, special_organize, servicesname) { + var path = $("#paths").val(); + $(".order_print").show(); + var param = {}; + param["code"] = code; + var result = ajaxgetresultpost(path + '/casesInfo/completionOfRescue.do', param); + var specialOrganize = special_organize == "undefined" || special_organize == null ? '' : special_organize; + var servicesName = servicesname == "undefined" || servicesname == null ? '' : servicesname; + var s = ' 案件信息 ' + + ' 案件编号:' + result.ORDER_CODE + ' ' + + '服务内容:' + result.SERVICE_TIME + '' + + ' 经销商代码:' + result.CODE + '' + + '经销商名称:' + result.NAME + '' + + ' 车架号:' + result.VIN_NO + ' ' + + '车  型:' + result.MODEL + ' ' + + ' 故障描述:' + result.MAL_REMARK + ' ' + + '事发地:' + result.START_ADDRESS + ' ' + + '目的地:' + result.DESTINATION_ADDRESS + ' '; + $(".PrintCase").html(s); + var createTime=new Date(result.CREATE_TIME).Format("yyyy-MM-dd hh:mm:ss"); + var arriveTime=new Date(result.ARRIVE_TIME).Format("yyyy-MM-dd hh:mm:ss"); + var finishTime=new Date(result.FINISH_TIME).Format("yyyy-MM-dd hh:mm:ss"); + // 救援详情 + var ss = ' 救援详情 ' + + '接案时间:' + createTime + ' ' + + '到达时间:' + arriveTime + ' ' + + '完成时间:' + finishTime + ' ' + $(".saveDetail").html(ss); + // 签名 + //alert(result.csignaturePath,result.cksignaturePath); + var sss = '
' + + '车主签字
' + + '
' + + '车主/接车人签字
'; + $(".sign").html(sss); +} + diff --git a/src/main/webapp/js/business/supplier.js b/src/main/webapp/js/business/supplier.js new file mode 100644 index 0000000..4863f99 --- /dev/null +++ b/src/main/webapp/js/business/supplier.js @@ -0,0 +1,698 @@ +Date.prototype.Format = function (fmt) { //author: meizz + var o = { + "M+": this.getMonth() + 1, //月份 + "d+": this.getDate(), //日 + "h+": this.getHours(), //小时 + "m+": this.getMinutes(), //分 + "s+": this.getSeconds(), //秒 + "q+": Math.floor((this.getMonth() + 3) / 3), //季度 + "S": this.getMilliseconds() //毫秒 + }; + if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); + for (var k in o) + if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); + return fmt; +} +function deleteEnterprise(id) { + $.post("/supplier/getDestinationInfo.do","id="+id,function(data) { + var data = eval("(" + data + ")"); + if(data.flag == 1){ + var datas=data.data; + if(datas == ""){ + alert("未选择合同"); + return; + }else{ + $("#destination").combobox({ + editable : false, + url :"/supplier/geAssignDestination.do?id="+id,//下拉选项框中数据 获取url + valueField : "id",//相当于 option 中的 value 发送到后台的 + textField : "name",//option中间的内容 显示给用户看的 + multiple:true, + //参数,可根据自己的需要来修改或者不要 + formatter:function(row){ + var opts=$(this).combobox('options'); + return '' + row[opts.textField] + }, + onSelect: function (row) { //选中一个选项时调用 + var opts = $(this).combobox('options'); + var el = opts.finder.getEl(this, row[opts.valueField]); + el.find('input.combobox-checkbox')._propAttr('checked', true); + }, + onUnselect: function (row) {//不选中一个选项时调用 + var opts = $(this).combobox('options'); + var el = opts.finder.getEl(this, row[opts.valueField]); + el.find('input.combobox-checkbox')._propAttr('checked', false); + } + }); + $("#userIDs").val(id); + $("#consumes_dialog").show(); + $("#names").val(""); + var queryParams = {}; + var urls="/supplier/getDestination.do?id="+id; + queryDestinationList(urls,queryParams); + } + } + }) +} + +function loadData2(obj) { + var key, value, tagName, type, arr; + for (x in obj) { + key = x; + value = obj[x]; + + $("#addedit_dialog").find($("[name='" + key + "'],[name='" + key + "[]']")).each(function () { + tagName = $(this)[0].tagName; + type = $(this).attr('type'); + if (tagName == 'INPUT') { + if (type == 'radio') { + $(this).attr('checked', $(this).val() == value); + } else if (type == 'checkbox') { + arr = value.split(','); + //alert(arr); + for (var i = 0; i < arr.length; i++) { + //alert($(this).val()+'&&'+arr[i]+i); + if ($(this).val() == arr[i]) { + //alert(1); + $(this).prop('checked', true); + break; + } + } + } else { + $(this).val(value); + } + } else if (tagName == 'SELECT' || tagName == 'TEXTAREA') { + $(this).val(value); + } + + }); + } +} +function showEnterprisePanel(id){ + $("#cc").combobox({ + editable : false, + url :"/supplier/geAssignContract.do?id="+id,//下拉选项框中数据 获取url + valueField : "id",//相当于 option 中的 value 发送到后台的 + textField : "name",//option中间的内容 显示给用户看的 + multiple:true, + //参数,可根据自己的需要来修改或者不要 + formatter:function(row){ + var opts=$(this).combobox('options'); + return '' + row[opts.textField] + }, + onSelect: function (row) { //选中一个选项时调用 + var opts = $(this).combobox('options'); + var el = opts.finder.getEl(this, row[opts.valueField]); + el.find('input.combobox-checkbox')._propAttr('checked', true); + }, + onUnselect: function (row) {//不选中一个选项时调用 + var opts = $(this).combobox('options'); + var el = opts.finder.getEl(this, row[opts.valueField]); + el.find('input.combobox-checkbox')._propAttr('checked', false); + } + }); + $("#userID").val(id); + $("#consume_dialog").show(); + $("#name").val(""); + var queryParams = {}; + var url="/supplier/getContractInfo.do?id="+id; + queryCouponRechargehistoryList(url,queryParams); +} +function insertEnterprise(id){ + $("#enterprise").combobox({ + editable : false, + url :"/supplier/geAssignEnterprise.do?id="+id,//下拉选项框中数据 获取url + valueField : "id",//相当于 option 中的 value 发送到后台的 + textField : "name",//option中间的内容 显示给用户看的 + //这里的id是上面的combobox的id,因为我要在点击一个按钮的之后再动态的加载出来,所以我把它单独的抽取出来了。如果需要一开始就加载数据加载方式为: + multiple:true, + //参数,可根据自己的需要来修改或者不要 + formatter:function(row){ + var opts=$(this).combobox('options'); + return '' + row[opts.textField] + }, + onLoadSuccess:function(){ + var opts = $(this).combobox('options'); + var target = this; + var values = $(target).combobox('getValues');//获取选中的值的values + $.map(values, function (value) { + var el = opts.finder.getEl(target, value); + el.find('input.combobox-checkbox')._propAttr('checked', true); + }) + }, + onSelect: function (row) { //选中一个选项时调用 + var opts = $(this).combobox('options'); + //获取选中的值的values + // var name=$("#enterprise").val(); + // alert(name); + //当点击全选时,则勾中所有的选项 + // if(name="1127"){ + // var a= $("#enterprise").combobox('getData'); + // for(var i=0;i选择合同  '; + str = str + '指定目的地  '; + str = str + '指定供应商' + + return str; + } + } + ]], + pagination: true, + rownumbers: false, + onLoadSuccess: function (data) { + } + + , + toolbar: [], + onCheck: function (rowIndex, rowData) { + } + + , + onCheckAll: function (rows) { + } + , + onUncheck: function (rowIndex, rowData) { + } + , + onLoadSuccess: function (data) { + } + , + onUncheckAll: function (rows) { + } + }) + ; + $('#datatable').datagrid('getPager').pagination({ + displayMsg: '', + }); + +} + +// 计算页面个数 +function getPageCount(total, pageSize) { + if (total % pageSize == 0) { + return total / pageSize; + } else { + return parseInt(total / pageSize) + 1; + } + +} + + +function toCompairTime(a, b) { + var arr = a.split("-"); + var starttime = new Date(arr[0], arr[1], arr[2]); + var starttimes = starttime.getTime(); + var arrs = b.split("-"); + var lktime = new Date(arrs[0], arrs[1], arrs[2]); + var lktimes = lktime.getTime(); + + if (starttimes >= lktimes) { + + return false; + } + else + return true; +} + +// 2.向select选项中 加入一个Item +function jsAddItemToSelect(objSelect, listfirst, idList) { + + // jsRemoveItemFromSelect(objSelect, idList); +//判断是否存在 + if (listfirst != null && listfirst.length > 0) { + objSelect.options.add(new Option('请选择', 0)); + for (var i = 0; i < listfirst.length; i++) { + var objItemValue = idList[i]; + // alert(objItemValue); + var objItemText = listfirst[i]; + //alert(objItemText); + var varItem = new Option(objItemText, objItemValue); + objSelect.options.add(varItem); + } + } + + //alert("成功加入"); +} + +// +// function jsRemoveItemFromSelect(objSelect, listfirst) { +// //判断是否存在 +// if (listfirst != null && listfirst.length > 0) { +// for (var i = 0; i < listfirst.length; i++) { +// var objItemValue = listfirst[i]; +// // if (!jsSelectIsExitItem(objSelect, objItemValue)) { +// for (var i = 0; i < objSelect.options.length; i++) { +// if (objSelect.options[i].value == objItemValue) { +// objSelect.options.remove(i); +// break; +// } +// // } +// } +// } +// } +// } + + +function jsRemoveItemFromSelect(objSelect) { +//判断是否存在 + var optionList = objSelect.options + for (var i = 0; i < optionList.length; i++) { + alert(optionList.length); + optionList.remove(i); + } +} +// 1.判断select选项中 是否存在Value="paraValue"的Item +function jsSelectIsExitItem(objSelect, objItemValue) { + var isExit = false; + for (var i = 0; i < objSelect.options.length; i++) { + if (objSelect.options[i].value == objItemValue) { + isExit = true; + break; + } + } + return isExit; +} + +// 求援完成确定 +function completionOfRescue(code, special_organize, servicesname) { + var path = $("#paths").val(); + $(".order_print").show(); + var param = {}; + param["code"] = code; + var result = ajaxgetresultpost(path + '/casesInfo/completionOfRescue.do', param); + var specialOrganize = special_organize == "undefined" || special_organize == null ? '' : special_organize; + var servicesName = servicesname == "undefined" || servicesname == null ? '' : servicesname; + + var s = ' 案件信息 ' + + ' 案件编号:' + result.code + ' ' + + '服务内容:' + servicesName + '' + + ' 经销商代码:' + result.contract_company_code + '' + + '经销商名称:' + specialOrganize + '' + + ' 车架号:' + result.frame_code + ' ' + + '车  型:' + result.style + ' ' + + ' 故障描述:' + result.trouble_leve2 + ' ' + + '事发地:' + result.depart_address + ' ' + + '目的地:' + result.dest_address + ' '; + $(".PrintCase").html(s); + + + // 救援详情 + var ss = ' 救援详情 ' + + '接案时间:' + result.accept_time + ' ' + + '到达时间:' + result.arrive_time + ' ' + + '完成时间:' + result.finish_time + ' ' + $(".saveDetail").html(ss); + + // 签名 + //alert(result.csignaturePath,result.cksignaturePath); + var sss = '
' + + '车主签字
' + + '
' + + '车主/接车人签字
'; + $(".sign").html(sss); +} + diff --git a/src/main/webapp/js/business/user.js b/src/main/webapp/js/business/user.js new file mode 100644 index 0000000..f19f718 --- /dev/null +++ b/src/main/webapp/js/business/user.js @@ -0,0 +1,337 @@ +Date.prototype.Format = function (fmt) { //author: meizz + var o = { + "M+": this.getMonth() + 1, //月份 + "d+": this.getDate(), //日 + "h+": this.getHours(), //小时 + "m+": this.getMinutes(), //分 + "s+": this.getSeconds(), //秒 + "q+": Math.floor((this.getMonth() + 3) / 3), //季度 + "S": this.getMilliseconds() //毫秒 + }; + if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); + for (var k in o) + if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); + return fmt; +} +function deleteEnterprise(id) { + $.messager.confirm('确定', '你确定删除该用户么?', function (r) { + if (r) { + var params = {}; + params["id"] = id; + var result = ajaxgetresultpost( + '/user/deleteUser.do', params); + if (result.flag == 0) { + alert(result.msg); + } else { + querys(); + } + } + }); + +} +function showEnterprisePanel(id) { + $("#userform").form("clear"); + $("#start").html(''); + var params = {}; + params["id"] = id; + var result = ajaxgetresultpost($("#paths").val() + + '/user/getUser.do', params); + if (result.flag == 0) { + alert(result.msg); + } else { + //alert(result.data); + //getMapUrl(); + loadData2(result.data); + $("#roles").attr('value',result.data.role_id); + $("#enterprise").attr('value',result.data.enterprise_id); + $("#addedit_dialog").show(); + } +} +function loadData2(obj) { + var key, value, tagName, type, arr; + for (x in obj) { + key = x; + value = obj[x]; + + $("#addedit_dialog").find($("[name='" + key + "'],[name='" + key + "[]']")).each(function () { + tagName = $(this)[0].tagName; + type = $(this).attr('type'); + if (tagName == 'INPUT') { + if (type == 'radio') { + $(this).attr('checked', $(this).val() == value); + } else if (type == 'checkbox') { + arr = value.split(','); + //alert(arr); + for (var i = 0; i < arr.length; i++) { + //alert($(this).val()+'&&'+arr[i]+i); + if ($(this).val() == arr[i]) { + //alert(1); + $(this).prop('checked', true); + break; + } + } + } else { + $(this).val(value); + } + } else if (tagName == 'SELECT' || tagName == 'TEXTAREA') { + $(this).val(value); + } + + }); + } +} +function queryCouponList(urls, queryParams, paraUrls, state, isExist) { + var pageNumber = 1, pageSize = 10; + // 默认查询第一页 query查询时保存当前条件 + //var pageCount = 0; + // var sum = parseInt(total); + try { + pageNumber = $('#datatable').datagrid('getPager').pagination("options").pageNumber; + pageSize = $('#datatable').datagrid('getPager').pagination("options").pageSize; + } catch (e) { + pageNumber = 1, pageSize = 10; + } + $('#datatable') + .datagrid( + { + title: "信息列表", + iconCls: 'icon-search', + pageNumber: pageNumber, + pageSize: pageSize, + pageList: [5, 10, 15, 20, 25, 30, 35, 40, 45, 50], + nowrap: true, + striped: true, + border: true, + noheader: true, + url: urls, + loadMsg: '数据加载中......', + queryParams: queryParams, + remoteSort: false, + fitColumns: true, + singleSelect: false, + // frozenColumns: [[{ + // field: 'orderkey', + // checkbox: true + // }]], + columns: [[ + + { + field: 'NAME', + title: '姓名', + sortable: 'false', + align: 'center', + width: 10 + }, { + field: 'LOGINNAME', + title: '登录名', + sortable: 'false', + align: 'center', + width: 10 + }, { + field: 'PHONE', + title: '手机号', + sortable: 'false', + align: 'center', + width: 10, + } + , { + field: 'EMAIL', + title: '电子邮箱', + sortable: 'false', + align: 'center', + width: 10 + } + + , { + field: 'ROLENAME', + title: '所属角色', + sortable: 'false', + align: 'center', + width: 15 + } + , { + field: 'UPDATETIME', + title: '更新时间', + sortable: 'false', + align: 'center', + width: 10, + formatter: function (value, row, index) { + return new Date(value).Format("yyyy-MM-dd hh:mm:ss"); + } + },{ + field: 'operate', title: '操作', align: 'center', width: 5, + formatter: function (value, row, index) { + var str = '编辑  '; + str = str + '删除'; + + return str; + } + } + ]], + pagination: true, + rownumbers: false, + onLoadSuccess: function (data) { + } + + , + toolbar: [], + onCheck: function (rowIndex, rowData) { + } + + , + onCheckAll: function (rows) { + } + , + onUncheck: function (rowIndex, rowData) { + } + , + onLoadSuccess: function (data) { + } + , + onUncheckAll: function (rows) { + } + }) + ; + $('#datatable').datagrid('getPager').pagination({ + displayMsg: '', + // onBeforeRefresh: function (pageNumber, pageSize) { 当前显示从 {from} 到 {to} + // $(this).pagination('loading'); + // $(this).pagination('loaded'); + // }, + // onSelectPage:function (pageNumber, pageSize) { + // // $('#datatable').panel('refresh', urls+'?pageNumber='+pageNumber+"&pageSize="+pageSize); + // var params={}; + // params["pageNumber"]=pageNumber; + // params["pageSize"]=pageSize; + // var result = ajaxgetresultpost(urls,params ); + // $('#datatable').datagrid('loadData', result.userOrderViewVOList); + // } + }); + +} + +// 计算页面个数 +function getPageCount(total, pageSize) { + if (total % pageSize == 0) { + return total / pageSize; + } else { + return parseInt(total / pageSize) + 1; + } + +} + + +function toCompairTime(a, b) { + var arr = a.split("-"); + var starttime = new Date(arr[0], arr[1], arr[2]); + var starttimes = starttime.getTime(); + var arrs = b.split("-"); + var lktime = new Date(arrs[0], arrs[1], arrs[2]); + var lktimes = lktime.getTime(); + + if (starttimes >= lktimes) { + + return false; + } + else + return true; +} + +// 2.向select选项中 加入一个Item +function jsAddItemToSelect(objSelect, listfirst, idList) { + + // jsRemoveItemFromSelect(objSelect, idList); +//判断是否存在 + if (listfirst != null && listfirst.length > 0) { + objSelect.options.add(new Option('请选择', 0)); + for (var i = 0; i < listfirst.length; i++) { + var objItemValue = idList[i]; + // alert(objItemValue); + var objItemText = listfirst[i]; + //alert(objItemText); + var varItem = new Option(objItemText, objItemValue); + objSelect.options.add(varItem); + } + } + + //alert("成功加入"); +} + +// +// function jsRemoveItemFromSelect(objSelect, listfirst) { +// //判断是否存在 +// if (listfirst != null && listfirst.length > 0) { +// for (var i = 0; i < listfirst.length; i++) { +// var objItemValue = listfirst[i]; +// // if (!jsSelectIsExitItem(objSelect, objItemValue)) { +// for (var i = 0; i < objSelect.options.length; i++) { +// if (objSelect.options[i].value == objItemValue) { +// objSelect.options.remove(i); +// break; +// } +// // } +// } +// } +// } +// } + + +function jsRemoveItemFromSelect(objSelect) { +//判断是否存在 + var optionList = objSelect.options + for (var i = 0; i < optionList.length; i++) { + alert(optionList.length); + optionList.remove(i); + } +} +// 1.判断select选项中 是否存在Value="paraValue"的Item +function jsSelectIsExitItem(objSelect, objItemValue) { + var isExit = false; + for (var i = 0; i < objSelect.options.length; i++) { + if (objSelect.options[i].value == objItemValue) { + isExit = true; + break; + } + } + return isExit; +} + +// 求援完成确定 +function completionOfRescue(code, special_organize, servicesname) { + var path = $("#paths").val(); + $(".order_print").show(); + var param = {}; + param["code"] = code; + var result = ajaxgetresultpost(path + '/casesInfo/completionOfRescue.do', param); + var specialOrganize = special_organize == "undefined" || special_organize == null ? '' : special_organize; + var servicesName = servicesname == "undefined" || servicesname == null ? '' : servicesname; + + var s = ' 案件信息 ' + + ' 案件编号:' + result.code + ' ' + + '服务内容:' + servicesName + '' + + ' 经销商代码:' + result.contract_company_code + '' + + '经销商名称:' + specialOrganize + '' + + ' 车架号:' + result.frame_code + ' ' + + '车  型:' + result.style + ' ' + + ' 故障描述:' + result.trouble_leve2 + ' ' + + '事发地:' + result.depart_address + ' ' + + '目的地:' + result.dest_address + ' '; + $(".PrintCase").html(s); + + + // 救援详情 + var ss = ' 救援详情 ' + + '接案时间:' + result.accept_time + ' ' + + '到达时间:' + result.arrive_time + ' ' + + '完成时间:' + result.finish_time + ' ' + $(".saveDetail").html(ss); + + // 签名 + //alert(result.csignaturePath,result.cksignaturePath); + var sss = '
' + + '车主签字
' + + '
' + + '车主/接车人签字
'; + $(".sign").html(sss); +} + diff --git a/src/main/webapp/js/clear.js b/src/main/webapp/js/clear.js new file mode 100644 index 0000000..1312f20 --- /dev/null +++ b/src/main/webapp/js/clear.js @@ -0,0 +1,73 @@ + $.extend($.fn.textbox.methods, { + addClearBtn: function(jq, iconCls){ + return jq.each(function(){ + var t = $(this); + var opts = t.textbox('options'); + opts.icons =[]; + opts.icons.unshift({ + iconCls: iconCls, + handler: function(e){ + $(e.data.target).textbox('clear').textbox('textbox').focus(); + $(this).css('visibility','hidden'); + } + }); + t.textbox(); + if (!t.textbox('getText')){ + t.textbox('getIcon',0).css('visibility','hidden'); + } + t.textbox('textbox').bind('keyup', function(){ + + var icon = t.textbox('getIcon',0); + if ($(this).val()){ + icon.css('visibility','visible'); + } else { + icon.css('visibility','hidden'); + } + }); + }); + } + }); + + + //input批量添加清除图标 参数input的id + function inputListToClearBtn(inputArr){ + if(typeof inputArr=='string'){ + $('#'+inputArr).textbox().textbox('addClearBtn', 'icon-clear'); + }else{ + for(var i=0;i' + name + ''; + return temp; +} + +/** + * 下载模板 + */ +function downMb(fn) { + fn = escapeparam(fn); + var urls = $("#paths").val() + "/order/downPlate.tag?fn=" + fn + "&mn=" + + new Date().getTime(); + $.post(urls, function(result) { + if (result == "0") { + $.messager.alert('提示', '文件已丢失!'); + } else { + location.href = urls; + } + }); +} + +/** + * 参数加密 + * @param value + * @return string + */ +function escapeparam(value) { + return escape(escape(value)); +} + +/** + * 参数解密 + * @param value + * @return string + */ +function upescapeparam(value) { + return unescape(unescape(value)); +} + +/** + * 返回编辑器控件 + * @return array + */ +function returneditorstyle() { + var result = [ 'fontname', 'fontsize', 'forecolor', 'hilitecolor', 'bold', + 'italic', 'underline', '|', 'justifyleft', 'justifycenter', + 'justifyright', 'insertorderedlist', 'indent', 'outdent', + 'insertunorderedlist', '|', 'superscript', 'subscript', 'link', + 'unlink', 'table', 'hr', 'lineheight', '|', 'removeformat', + 'clearhtml', 'quickformat', 'wordpaste', 'plainpaste', 'emoticons', + 'print', 'image', 'fullscreen' ] + return result; +} +/** + * 将多个编辑器的内容设置到原来的textarea控件里 + */ +function editorsync() { + var kes = KindEditor.instances; + for (var i = 0; i < kes.length; i++) { + kes[i].sync(); + } +} + +/** + * 创建编辑器 ids:编辑器的id,多个id,用","分割 + * @param ids + */ +function createEditor(ids) { + var path = $("#paths").val(); + removeKindEditor(ids); + KindEditor.create(ids, { + resizeType : 1, + allowPreviewEmoticons : false, + allowImageUpload : true, + uploadJson : path + '/kindeditor/upload_json.jsp', + fileManagerJson : path + '/kindeditor/file_manager_json.jsp', + newlineTag : "br", + items : returneditorstyle() + }); +} + +/** + * 移除编辑器 + * @param ids:编辑器ids,多个编辑器用","分割 + */ +function removeKindEditor(ids) { + var nids = ids.split(','); + for (var i = 0; i < nids.length; i++) { + KindEditor.html(nids[i], ''); + KindEditor.remove(nids[i]); + } +} + +/** + * 判断上传的文件 + * @param id:fileid + * @param parma:文件格式,多个文件格式用","分割 + * @return true or false + */ +function pdupfile(id, param) { + var temp = false; + var value = $("#" + id).val(); + if (value != "") { + param = param.split(","); + var hzm = /\.[^\.]+$/.exec(value); + for (var i = 0; i < param.length; i++) { + if (hzm == ('.' + param[i])) { + temp = true; + break; + } + } + } + + return temp; +} + +/** + * 显示图表 + * @param xmlname:xml文件名称 + * @param divid:图片显示的位置 + * @param xmlname:xml文件的路径 + */ +function show_tb(xmlname, divid, xmlpath) { + var path = document.getElementById("paths").value; + AnyChart.swfFile = path + "/anychart/AnyChart.swf"; + var chart = new AnyChart(); + chart.width = "100%"; + chart.height = "100%"; + chart.wMode = "opaque"; + if (xmlpath != undefined && xmlpath != "undefined") { + chart.setXMLFile(xmlpath); + } else { + chart.setXMLFile(path + "/files/" + xmlname); + } + chart.write(divid); +} + +/** + * 打开窗体 + * @param str:窗体id + */ +function open1(str) { + setwindow(str); + $('#' + str).window('open'); +} +/** + * 关闭窗体 + * @param str:窗体id + */ +function close1(strs) { + $('#' + strs).window('close'); +} + +/** + *设置窗体 + * @param str:窗体id + */ +function setwindow(str) { + $('#' + str).window({ + modal : true, + draggable : true, + shadow : true + }); +} +/** + *重置表单 + * @param id:formid + */ +function resetForm(id) { + $('#' + id).form('reset'); +} + +/** + * 添加tab页 + * @param title:标题 + * @param href:地址 + * @param iconCls:tab页的图标 + */ +function addTabPage(title, href, iconCls) { + parent.addTab(title, href, iconCls); +} + +/** + * 关闭tab页 + * @param title:标题 + */ +function closeTabPage(title) { + parent.closeTab(title); +} +//主页面关闭当前tab页 +function closeTabThisPage() { + var tab = parent.$('#tabs').tabs('getSelected'); + var tabIndex = parent.$('#tabs').tabs('getTabIndex', tab); + closeTabPage(tabIndex); +} + +/** + * 得到comboxvalue + * @param id:combox的id + */ +function getcomboxVal(id) { + return $('#' + id).combobox('getValue'); +} + +/** + * 改变json对象的属性名 + * @param newName + * @param obj + */ +function changeJsonAttr(newName, obj) { + for ( var key in obj) { + obj[newName + key] = obj[key] + delete obj[key]; + } +} + +/** + * 将json对象打印到页面上去 + * @param id + * @param obj + */ +function printJson(id, obj) { + $("#" + id).each(function() { + for ( var key in obj) { + $("#" + key).html(obj[key]); + } + }); +} + +/** + * 获得checkboxtree选中的节点ids + * @param obj + * @return 选中的节点ids + */ +function getTreeids(obj) { + var nodes = obj.tree('getChecked'); + var s = ''; + for (var i = 0; i < nodes.length; i++) { + if (s != '') + s += ':'; + s += nodes[i].id; + } + return s; +} +/** + * 获得checkboxtree选中的节点text + * @param obj + * @return 选中的节点text + */ +function getTreetext(obj) { + var nodes = obj.tree('getChecked'); + var s = ''; + for (var i = 0; i < nodes.length; i++) { + if (s != '') + s += ','; + s += nodes[i].text; + } + return s; +} +//按数字类型排序 自定义排序 +function sort_int(a, b) { + if (a.length > b.length) + return 1; + else if (a.length < b.length) + return -1; + else if (a > b) + return 1; + else + return -1; +} +//删除html代码 +function removeHtml(s) { + return (s) ? jQuery("

").append(s).text() : ""; +} +//判断电话是否合法 +function isphone(phone) { + var myreg = /^(13[0-9]|15[012356789]|17[36780]|18[0-9]|14[57])[0-9]{8}$/; + if (myreg.test(phone)) { + return true; + } else { + return false; + } +} +//设置面板的标题和图标 +function setPanelTextIco(panelId, title, iconCls) { + if (null == panelId || panelId == '') { + return; + } + var opts = {}; + if (null != title && title != '') { + opts['title'] = title; + } + if (null != iconCls && iconCls != '') { + opts['iconCls'] = iconCls; + } + $('#' + panelId).panel(opts); +} +function getRootPath() { + //获取当前网址,如: http://localhost:8083/uimcardprj/share/meun.jsp + var curWwwPath = window.document.location.href; + //获取主机地址之后的目录,如: uimcardprj/share/meun.jsp + var pathName = window.document.location.pathname; + var pos = curWwwPath.indexOf(pathName); + //获取主机地址,如: http://localhost:8083 + var localhostPaht = curWwwPath.substring(0, pos); + //获取带"/"的项目名,如:/uimcardprj + var projectName = pathName + .substring(0, pathName.substr(1).indexOf('/') + 1); + return (localhostPaht + projectName); +} +//绑定下拉框 +function getCombobox(selectid, url, seld) { + var path = $("#paths").val(); + var msg = ajaxgetresult(url);//下拉框不采用异步加载, 否则读取不到默认值 + if (msg.rows.length <= 0) { + msg.rows[0] = { + "id" : "", + "text" : "--请选择--" + }; + } else { + msg.rows.splice(0, 0, { + "id" : "", + "text" : "--请选择--" + }); + } + var arr = []; + for (var i = 0; i < msg.rows.length; i++) { + if (null != seld && "" != seld && msg.rows[i].id == seld) { + msg.rows[i]["selected"] = true; + } + } + if (typeof selectid == 'string') { + $('#' + selectid).combobox({ + data : msg.rows, + editable : false, + valueField : 'id', + textField : 'text' + }); + } else { + for (var i = 0; i < selectid.length; i++) { + $('#' + selectid[i]).combobox({ + data : msg.rows, + editable : false, + valueField : 'id', + textField : 'text' + }); + } + } +} + +function getComboboxs(selectid, url, seld) { + var path = $("#paths").val(); + + var msg = ajaxgetresult(url);//下拉框不采用异步加载, 否则读取不到默认值 + if (msg.rows.length <= 0) { + msg.rows[0] = { + "id" : "", + "text" : "--请选择--" + }; + } else { + msg.rows.splice(0, 0, { + "id" : "", + "text" : "--请选择--" + }); + } + var arr = []; + for (var i = 0; i < msg.rows.length; i++) { + if (null != seld && "" != seld && msg.rows[i].id == seld) { + msg.rows[i]["selected"] = true; + } + } + if (typeof selectid == 'string') { + $('#' + selectid) + .combobox( + { + data : msg.rows, + editable : false, + valueField : 'id', + textField : 'text', + onSelect : function(rec) { + if (rec.id == '') { + $("#ordercode").val(""); + } else { + var urlscode = path + + '/basics/getBxcompanyCode.tag?bxcompanykey=' + + rec.id + '&tim' + + new Date().getTime(); + var msgs = ajaxgetresults(urlscode); + $("#ordercode").val(msgs); + } + //alert(msgs); + } + }); + } else { + for (var i = 0; i < selectid.length; i++) { + $('#' + selectid[i]) + .combobox( + { + data : msg.rows, + editable : false, + valueField : 'id', + textField : 'text', + onSelect : function(rec) { + //获取简码并重新生成订单号 + if (rec.id == '') { + $("#ordercode").val(""); + } else { + var urlscode = path + + '/basics/getBxcompanyCode.tag?bxcompanykey=' + + rec.id + '&tim' + + new Date().getTime(); + var msgs = ajaxgetresults(urlscode); + $("#ordercode").val(msgs); + } + + } + }); + } + } +} +//绑定单选 +function getSingleRadio(selectid, seld) { + jQuery("input[type='radio'][name='"+selectid+"'][value='"+seld+"']").attr("checked", "checked"); +} +//绑定是否下拉框 +function getSingleCombobox(selectid, seld) { + var msg = [ { + "id" : "", + "text" : "--请选择--" + }, { + "id" : "0", + "text" : "是" + }, { + "id" : "1", + "text" : "否" + } ]; + var selds = "s" + seld; + var arr = []; + if (selds == "s0") { + msg[1]["selected"] = true; + } else if (selds == "s1") { + msg[2]["selected"] = true; + } else { + msg[0]["selected"] = true; + } + // var flag=false; + // for(var i=0;i' + phone, function(r) { + if (r) { + if ($("#outCall_phone").length > 0) { + $("#outCall_phone").textbox('setValue', ''); + } + $.post($("#paths").val() + + "/order/outCallOrderCustom.tag?orderkey=" + orderkey + + "&customerkey=" + customkey + "&calledno=" + phone, + function(msg) { + msg = eval('(' + msg + ')'); + if (msg.result == 0 || msg.result == '0') { + //$.messager.alert('提示',"拔号中...."); + return; + } else { + $.messager.alert('提示', msg.msg); + return; + } + }); + } + }); +} diff --git a/src/main/webapp/js/easyloader.js b/src/main/webapp/js/easyloader.js new file mode 100644 index 0000000..edf4b5e --- /dev/null +++ b/src/main/webapp/js/easyloader.js @@ -0,0 +1,190 @@ +/** + * jQuery EasyUI 1.5.2 + * + * Copyright (c) 2009-2017 www.jeasyui.com. All rights reserved. + * + * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php + * To use it on other terms please contact us: info@jeasyui.com + * + */ +(function(){ +var _1={draggable:{js:"jquery.draggable.js"},droppable:{js:"jquery.droppable.js"},resizable:{js:"jquery.resizable.js"},linkbutton:{js:"jquery.linkbutton.js",css:"linkbutton.css"},progressbar:{js:"jquery.progressbar.js",css:"progressbar.css"},tooltip:{js:"jquery.tooltip.js",css:"tooltip.css"},pagination:{js:"jquery.pagination.js",css:"pagination.css",dependencies:["linkbutton"]},datagrid:{js:"jquery.datagrid.js",css:"datagrid.css",dependencies:["panel","resizable","linkbutton","pagination"]},treegrid:{js:"jquery.treegrid.js",css:"tree.css",dependencies:["datagrid"]},propertygrid:{js:"jquery.propertygrid.js",css:"propertygrid.css",dependencies:["datagrid"]},datalist:{js:"jquery.datalist.js",css:"datalist.css",dependencies:["datagrid"]},panel:{js:"jquery.panel.js",css:"panel.css"},window:{js:"jquery.window.js",css:"window.css",dependencies:["resizable","draggable","panel"]},dialog:{js:"jquery.dialog.js",css:"dialog.css",dependencies:["linkbutton","window"]},messager:{js:"jquery.messager.js",css:"messager.css",dependencies:["linkbutton","dialog","progressbar"]},layout:{js:"jquery.layout.js",css:"layout.css",dependencies:["resizable","panel"]},form:{js:"jquery.form.js"},menu:{js:"jquery.menu.js",css:"menu.css"},tabs:{js:"jquery.tabs.js",css:"tabs.css",dependencies:["panel","linkbutton"]},menubutton:{js:"jquery.menubutton.js",css:"menubutton.css",dependencies:["linkbutton","menu"]},splitbutton:{js:"jquery.splitbutton.js",css:"splitbutton.css",dependencies:["menubutton"]},switchbutton:{js:"jquery.switchbutton.js",css:"switchbutton.css"},accordion:{js:"jquery.accordion.js",css:"accordion.css",dependencies:["panel"]},calendar:{js:"jquery.calendar.js",css:"calendar.css"},textbox:{js:"jquery.textbox.js",css:"textbox.css",dependencies:["validatebox","linkbutton"]},passwordbox:{js:"jquery.passwordbox.js",css:"passwordbox.css",dependencies:["textbox"]},filebox:{js:"jquery.filebox.js",css:"filebox.css",dependencies:["textbox"]},combo:{js:"jquery.combo.js",css:"combo.css",dependencies:["panel","textbox"]},combobox:{js:"jquery.combobox.js",css:"combobox.css",dependencies:["combo"]},combotree:{js:"jquery.combotree.js",dependencies:["combo","tree"]},combogrid:{js:"jquery.combogrid.js",dependencies:["combo","datagrid"]},combotreegrid:{js:"jquery.combotreegrid.js",dependencies:["combo","treegrid"]},tagbox:{js:"jquery.tagbox.js",dependencies:["combobox"]},validatebox:{js:"jquery.validatebox.js",css:"validatebox.css",dependencies:["tooltip"]},numberbox:{js:"jquery.numberbox.js",dependencies:["textbox"]},searchbox:{js:"jquery.searchbox.js",css:"searchbox.css",dependencies:["menubutton","textbox"]},spinner:{js:"jquery.spinner.js",css:"spinner.css",dependencies:["textbox"]},numberspinner:{js:"jquery.numberspinner.js",dependencies:["spinner","numberbox"]},timespinner:{js:"jquery.timespinner.js",dependencies:["spinner"]},tree:{js:"jquery.tree.js",css:"tree.css",dependencies:["draggable","droppable"]},datebox:{js:"jquery.datebox.js",css:"datebox.css",dependencies:["calendar","combo"]},datetimebox:{js:"jquery.datetimebox.js",dependencies:["datebox","timespinner"]},slider:{js:"jquery.slider.js",dependencies:["draggable"]},parser:{js:"jquery.parser.js"},mobile:{js:"jquery.mobile.js"}}; +var _2={"af":"easyui-lang-af.js","ar":"easyui-lang-ar.js","bg":"easyui-lang-bg.js","ca":"easyui-lang-ca.js","cs":"easyui-lang-cs.js","cz":"easyui-lang-cz.js","da":"easyui-lang-da.js","de":"easyui-lang-de.js","el":"easyui-lang-el.js","en":"easyui-lang-en.js","es":"easyui-lang-es.js","fr":"easyui-lang-fr.js","it":"easyui-lang-it.js","jp":"easyui-lang-jp.js","nl":"easyui-lang-nl.js","pl":"easyui-lang-pl.js","pt_BR":"easyui-lang-pt_BR.js","ru":"easyui-lang-ru.js","sv_SE":"easyui-lang-sv_SE.js","tr":"easyui-lang-tr.js","zh_CN":"easyui-lang-zh_CN.js","zh_TW":"easyui-lang-zh_TW.js"}; +var _3={}; +function _4(_5,_6){ +var _7=false; +var _8=document.createElement("script"); +_8.type="text/javascript"; +_8.language="javascript"; +_8.src=_5; +_8.onload=_8.onreadystatechange=function(){ +if(!_7&&(!_8.readyState||_8.readyState=="loaded"||_8.readyState=="complete")){ +_7=true; +_8.onload=_8.onreadystatechange=null; +if(_6){ +_6.call(_8); +} +} +}; +document.getElementsByTagName("head")[0].appendChild(_8); +}; +function _9(_a,_b){ +_4(_a,function(){ +document.getElementsByTagName("head")[0].removeChild(this); +if(_b){ +_b(); +} +}); +}; +function _c(_d,_e){ +var _f=document.createElement("link"); +_f.rel="stylesheet"; +_f.type="text/css"; +_f.media="screen"; +_f.href=_d; +document.getElementsByTagName("head")[0].appendChild(_f); +if(_e){ +_e.call(_f); +} +}; +function _10(_11,_12){ +_3[_11]="loading"; +var _13=_1[_11]; +var _14="loading"; +var _15=(easyloader.css&&_13["css"])?"loading":"loaded"; +if(easyloader.css&&_13["css"]){ +if(/^http/i.test(_13["css"])){ +var url=_13["css"]; +}else{ +var url=easyloader.base+"themes/"+easyloader.theme+"/"+_13["css"]; +} +_c(url,function(){ +_15="loaded"; +if(_14=="loaded"&&_15=="loaded"){ +_16(); +} +}); +} +if(/^http/i.test(_13["js"])){ +var url=_13["js"]; +}else{ +var url=easyloader.base+"plugins/"+_13["js"]; +} +_4(url,function(){ +_14="loaded"; +if(_14=="loaded"&&_15=="loaded"){ +_16(); +} +}); +function _16(){ +_3[_11]="loaded"; +easyloader.onProgress(_11); +if(_12){ +_12(); +} +}; +}; +function _17(_18,_19){ +var mm=[]; +var _1a=false; +if(typeof _18=="string"){ +add(_18); +}else{ +for(var i=0;i<_18.length;i++){ +add(_18[i]); +} +} +function add(_1b){ +if(!_1[_1b]){ +return; +} +var d=_1[_1b]["dependencies"]; +if(d){ +for(var i=0;i=0;i--){ +_9.unshift(_a.children[i]); +} +} +} +}}; +$.parser={auto:true,onComplete:function(_b){ +},plugins:["draggable","droppable","resizable","pagination","tooltip","linkbutton","menu","menubutton","splitbutton","switchbutton","progressbar","tree","textbox","passwordbox","filebox","combo","combobox","combotree","combogrid","combotreegrid","tagbox","numberbox","validatebox","searchbox","spinner","numberspinner","timespinner","datetimespinner","calendar","datebox","datetimebox","slider","layout","panel","datagrid","propertygrid","treegrid","datalist","tabs","accordion","window","dialog","form"],parse:function(_c){ +var aa=[]; +for(var i=0;i<$.parser.plugins.length;i++){ +var _d=$.parser.plugins[i]; +var r=$(".easyui-"+_d,_c); +if(r.length){ +if(r[_d]){ +r.each(function(){ +$(this)[_d]($.data(this,"options")||{}); +}); +}else{ +aa.push({name:_d,jq:r}); +} +} +} +if(aa.length&&window.easyloader){ +var _e=[]; +for(var i=0;i=0){ +v=Math.floor((_12.width()-_13)*v/100); +}else{ +v=Math.floor((_12.height()-_13)*v/100); +} +}else{ +v=parseInt(v)||undefined; +} +return v; +},parseOptions:function(_15,_16){ +var t=$(_15); +var _17={}; +var s=$.trim(t.attr("data-options")); +if(s){ +if(s.substring(0,1)!="{"){ +s="{"+s+"}"; +} +_17=(new Function("return "+s))(); +} +$.map(["width","height","left","top","minWidth","maxWidth","minHeight","maxHeight"],function(p){ +var pv=$.trim(_15.style[p]||""); +if(pv){ +if(pv.indexOf("%")==-1){ +pv=parseInt(pv); +if(isNaN(pv)){ +pv=undefined; +} +} +_17[p]=pv; +} +}); +if(_16){ +var _18={}; +for(var i=0;i<_16.length;i++){ +var pp=_16[i]; +if(typeof pp=="string"){ +_18[pp]=t.attr(pp); +}else{ +for(var _19 in pp){ +var _1a=pp[_19]; +if(_1a=="boolean"){ +_18[_19]=t.attr(_19)?(t.attr(_19)=="true"):undefined; +}else{ +if(_1a=="number"){ +_18[_19]=t.attr(_19)=="0"?0:parseFloat(t.attr(_19))||undefined; +} +} +} +} +} +$.extend(_17,_18); +} +return _17; +}}; +$(function(){ +var d=$("

").appendTo("body"); +$._boxModel=d.outerWidth()!=100; +d.remove(); +d=$("
").appendTo("body"); +$._positionFixed=(d.css("position")=="fixed"); +d.remove(); +if(!window.easyloader&&$.parser.auto){ +$.parser.parse(); +} +}); +$.fn._outerWidth=function(_1b){ +if(_1b==undefined){ +if(this[0]==window){ +return this.width()||document.body.clientWidth; +} +return this.outerWidth()||0; +} +return this._size("width",_1b); +}; +$.fn._outerHeight=function(_1c){ +if(_1c==undefined){ +if(this[0]==window){ +return this.height()||document.body.clientHeight; +} +return this.outerHeight()||0; +} +return this._size("height",_1c); +}; +$.fn._scrollLeft=function(_1d){ +if(_1d==undefined){ +return this.scrollLeft(); +}else{ +return this.each(function(){ +$(this).scrollLeft(_1d); +}); +} +}; +$.fn._propAttr=$.fn.prop||$.fn.attr; +$.fn._size=function(_1e,_1f){ +if(typeof _1e=="string"){ +if(_1e=="clear"){ +return this.each(function(){ +$(this).css({width:"",minWidth:"",maxWidth:"",height:"",minHeight:"",maxHeight:""}); +}); +}else{ +if(_1e=="fit"){ +return this.each(function(){ +_20(this,this.tagName=="BODY"?$("body"):$(this).parent(),true); +}); +}else{ +if(_1e=="unfit"){ +return this.each(function(){ +_20(this,$(this).parent(),false); +}); +}else{ +if(_1f==undefined){ +return _21(this[0],_1e); +}else{ +return this.each(function(){ +_21(this,_1e,_1f); +}); +} +} +} +} +}else{ +return this.each(function(){ +_1f=_1f||$(this).parent(); +$.extend(_1e,_20(this,_1f,_1e.fit)||{}); +var r1=_22(this,"width",_1f,_1e); +var r2=_22(this,"height",_1f,_1e); +if(r1||r2){ +$(this).addClass("easyui-fluid"); +}else{ +$(this).removeClass("easyui-fluid"); +} +}); +} +function _20(_23,_24,fit){ +if(!_24.length){ +return false; +} +var t=$(_23)[0]; +var p=_24[0]; +var _25=p.fcount||0; +if(fit){ +if(!t.fitted){ +t.fitted=true; +p.fcount=_25+1; +$(p).addClass("panel-noscroll"); +if(p.tagName=="BODY"){ +$("html").addClass("panel-fit"); +} +} +return {width:($(p).width()||1),height:($(p).height()||1)}; +}else{ +if(t.fitted){ +t.fitted=false; +p.fcount=_25-1; +if(p.fcount==0){ +$(p).removeClass("panel-noscroll"); +if(p.tagName=="BODY"){ +$("html").removeClass("panel-fit"); +} +} +} +return false; +} +}; +function _22(_26,_27,_28,_29){ +var t=$(_26); +var p=_27; +var p1=p.substr(0,1).toUpperCase()+p.substr(1); +var min=$.parser.parseValue("min"+p1,_29["min"+p1],_28); +var max=$.parser.parseValue("max"+p1,_29["max"+p1],_28); +var val=$.parser.parseValue(p,_29[p],_28); +var _2a=(String(_29[p]||"").indexOf("%")>=0?true:false); +if(!isNaN(val)){ +var v=Math.min(Math.max(val,min||0),max||99999); +if(!_2a){ +_29[p]=v; +} +t._size("min"+p1,""); +t._size("max"+p1,""); +t._size(p,v); +}else{ +t._size(p,""); +t._size("min"+p1,min); +t._size("max"+p1,max); +} +return _2a||_29.fit; +}; +function _21(_2b,_2c,_2d){ +var t=$(_2b); +if(_2d==undefined){ +_2d=parseInt(_2b.style[_2c]); +if(isNaN(_2d)){ +return undefined; +} +if($._boxModel){ +_2d+=_2e(); +} +return _2d; +}else{ +if(_2d===""){ +t.css(_2c,""); +}else{ +if($._boxModel){ +_2d-=_2e(); +if(_2d<0){ +_2d=0; +} +} +t.css(_2c,_2d+"px"); +} +} +function _2e(){ +if(_2c.toLowerCase().indexOf("width")>=0){ +return t.outerWidth()-t.width(); +}else{ +return t.outerHeight()-t.height(); +} +}; +}; +}; +})(jQuery); +(function($){ +var _2f=null; +var _30=null; +var _31=false; +function _32(e){ +if(e.touches.length!=1){ +return; +} +if(!_31){ +_31=true; +dblClickTimer=setTimeout(function(){ +_31=false; +},500); +}else{ +clearTimeout(dblClickTimer); +_31=false; +_33(e,"dblclick"); +} +_2f=setTimeout(function(){ +_33(e,"contextmenu",3); +},1000); +_33(e,"mousedown"); +if($.fn.draggable.isDragging||$.fn.resizable.isResizing){ +e.preventDefault(); +} +}; +function _34(e){ +if(e.touches.length!=1){ +return; +} +if(_2f){ +clearTimeout(_2f); +} +_33(e,"mousemove"); +if($.fn.draggable.isDragging||$.fn.resizable.isResizing){ +e.preventDefault(); +} +}; +function _35(e){ +if(_2f){ +clearTimeout(_2f); +} +_33(e,"mouseup"); +if($.fn.draggable.isDragging||$.fn.resizable.isResizing){ +e.preventDefault(); +} +}; +function _33(e,_36,_37){ +var _38=new $.Event(_36); +_38.pageX=e.changedTouches[0].pageX; +_38.pageY=e.changedTouches[0].pageY; +_38.which=_37||1; +$(e.target).trigger(_38); +}; +if(document.addEventListener){ +document.addEventListener("touchstart",_32,true); +document.addEventListener("touchmove",_34,true); +document.addEventListener("touchend",_35,true); +} +})(jQuery); +(function($){ +function _39(e){ +var _3a=$.data(e.data.target,"draggable"); +var _3b=_3a.options; +var _3c=_3a.proxy; +var _3d=e.data; +var _3e=_3d.startLeft+e.pageX-_3d.startX; +var top=_3d.startTop+e.pageY-_3d.startY; +if(_3c){ +if(_3c.parent()[0]==document.body){ +if(_3b.deltaX!=null&&_3b.deltaX!=undefined){ +_3e=e.pageX+_3b.deltaX; +}else{ +_3e=e.pageX-e.data.offsetWidth; +} +if(_3b.deltaY!=null&&_3b.deltaY!=undefined){ +top=e.pageY+_3b.deltaY; +}else{ +top=e.pageY-e.data.offsetHeight; +} +}else{ +if(_3b.deltaX!=null&&_3b.deltaX!=undefined){ +_3e+=e.data.offsetWidth+_3b.deltaX; +} +if(_3b.deltaY!=null&&_3b.deltaY!=undefined){ +top+=e.data.offsetHeight+_3b.deltaY; +} +} +} +if(e.data.parent!=document.body){ +_3e+=$(e.data.parent).scrollLeft(); +top+=$(e.data.parent).scrollTop(); +} +if(_3b.axis=="h"){ +_3d.left=_3e; +}else{ +if(_3b.axis=="v"){ +_3d.top=top; +}else{ +_3d.left=_3e; +_3d.top=top; +} +} +}; +function _3f(e){ +var _40=$.data(e.data.target,"draggable"); +var _41=_40.options; +var _42=_40.proxy; +if(!_42){ +_42=$(e.data.target); +} +_42.css({left:e.data.left,top:e.data.top}); +$("body").css("cursor",_41.cursor); +}; +function _43(e){ +if(!$.fn.draggable.isDragging){ +return false; +} +var _44=$.data(e.data.target,"draggable"); +var _45=_44.options; +var _46=$(".droppable:visible").filter(function(){ +return e.data.target!=this; +}).filter(function(){ +var _47=$.data(this,"droppable").options.accept; +if(_47){ +return $(_47).filter(function(){ +return this==e.data.target; +}).length>0; +}else{ +return true; +} +}); +_44.droppables=_46; +var _48=_44.proxy; +if(!_48){ +if(_45.proxy){ +if(_45.proxy=="clone"){ +_48=$(e.data.target).clone().insertAfter(e.data.target); +}else{ +_48=_45.proxy.call(e.data.target,e.data.target); +} +_44.proxy=_48; +}else{ +_48=$(e.data.target); +} +} +_48.css("position","absolute"); +_39(e); +_3f(e); +_45.onStartDrag.call(e.data.target,e); +return false; +}; +function _49(e){ +if(!$.fn.draggable.isDragging){ +return false; +} +var _4a=$.data(e.data.target,"draggable"); +_39(e); +if(_4a.options.onDrag.call(e.data.target,e)!=false){ +_3f(e); +} +var _4b=e.data.target; +_4a.droppables.each(function(){ +var _4c=$(this); +if(_4c.droppable("options").disabled){ +return; +} +var p2=_4c.offset(); +if(e.pageX>p2.left&&e.pageXp2.top&&e.pageYp2.left&&e.pageXp2.top&&e.pageY_62.options.edge; +}; +}); +}; +$.fn.draggable.methods={options:function(jq){ +return $.data(jq[0],"draggable").options; +},proxy:function(jq){ +return $.data(jq[0],"draggable").proxy; +},enable:function(jq){ +return jq.each(function(){ +$(this).draggable({disabled:false}); +}); +},disable:function(jq){ +return jq.each(function(){ +$(this).draggable({disabled:true}); +}); +}}; +$.fn.draggable.parseOptions=function(_67){ +var t=$(_67); +return $.extend({},$.parser.parseOptions(_67,["cursor","handle","axis",{"revert":"boolean","deltaX":"number","deltaY":"number","edge":"number","delay":"number"}]),{disabled:(t.attr("disabled")?true:undefined)}); +}; +$.fn.draggable.defaults={proxy:null,revert:false,cursor:"move",deltaX:null,deltaY:null,handle:null,disabled:false,edge:0,axis:null,delay:100,onBeforeDrag:function(e){ +},onStartDrag:function(e){ +},onDrag:function(e){ +},onStopDrag:function(e){ +}}; +$.fn.draggable.isDragging=false; +})(jQuery); +(function($){ +function _68(_69){ +$(_69).addClass("droppable"); +$(_69).bind("_dragenter",function(e,_6a){ +$.data(_69,"droppable").options.onDragEnter.apply(_69,[e,_6a]); +}); +$(_69).bind("_dragleave",function(e,_6b){ +$.data(_69,"droppable").options.onDragLeave.apply(_69,[e,_6b]); +}); +$(_69).bind("_dragover",function(e,_6c){ +$.data(_69,"droppable").options.onDragOver.apply(_69,[e,_6c]); +}); +$(_69).bind("_drop",function(e,_6d){ +$.data(_69,"droppable").options.onDrop.apply(_69,[e,_6d]); +}); +}; +$.fn.droppable=function(_6e,_6f){ +if(typeof _6e=="string"){ +return $.fn.droppable.methods[_6e](this,_6f); +} +_6e=_6e||{}; +return this.each(function(){ +var _70=$.data(this,"droppable"); +if(_70){ +$.extend(_70.options,_6e); +}else{ +_68(this); +$.data(this,"droppable",{options:$.extend({},$.fn.droppable.defaults,$.fn.droppable.parseOptions(this),_6e)}); +} +}); +}; +$.fn.droppable.methods={options:function(jq){ +return $.data(jq[0],"droppable").options; +},enable:function(jq){ +return jq.each(function(){ +$(this).droppable({disabled:false}); +}); +},disable:function(jq){ +return jq.each(function(){ +$(this).droppable({disabled:true}); +}); +}}; +$.fn.droppable.parseOptions=function(_71){ +var t=$(_71); +return $.extend({},$.parser.parseOptions(_71,["accept"]),{disabled:(t.attr("disabled")?true:undefined)}); +}; +$.fn.droppable.defaults={accept:null,disabled:false,onDragEnter:function(e,_72){ +},onDragOver:function(e,_73){ +},onDragLeave:function(e,_74){ +},onDrop:function(e,_75){ +}}; +})(jQuery); +(function($){ +$.fn.resizable=function(_76,_77){ +if(typeof _76=="string"){ +return $.fn.resizable.methods[_76](this,_77); +} +function _78(e){ +var _79=e.data; +var _7a=$.data(_79.target,"resizable").options; +if(_79.dir.indexOf("e")!=-1){ +var _7b=_79.startWidth+e.pageX-_79.startX; +_7b=Math.min(Math.max(_7b,_7a.minWidth),_7a.maxWidth); +_79.width=_7b; +} +if(_79.dir.indexOf("s")!=-1){ +var _7c=_79.startHeight+e.pageY-_79.startY; +_7c=Math.min(Math.max(_7c,_7a.minHeight),_7a.maxHeight); +_79.height=_7c; +} +if(_79.dir.indexOf("w")!=-1){ +var _7b=_79.startWidth-e.pageX+_79.startX; +_7b=Math.min(Math.max(_7b,_7a.minWidth),_7a.maxWidth); +_79.width=_7b; +_79.left=_79.startLeft+_79.startWidth-_79.width; +} +if(_79.dir.indexOf("n")!=-1){ +var _7c=_79.startHeight-e.pageY+_79.startY; +_7c=Math.min(Math.max(_7c,_7a.minHeight),_7a.maxHeight); +_79.height=_7c; +_79.top=_79.startTop+_79.startHeight-_79.height; +} +}; +function _7d(e){ +var _7e=e.data; +var t=$(_7e.target); +t.css({left:_7e.left,top:_7e.top}); +if(t.outerWidth()!=_7e.width){ +t._outerWidth(_7e.width); +} +if(t.outerHeight()!=_7e.height){ +t._outerHeight(_7e.height); +} +}; +function _7f(e){ +$.fn.resizable.isResizing=true; +$.data(e.data.target,"resizable").options.onStartResize.call(e.data.target,e); +return false; +}; +function _80(e){ +_78(e); +if($.data(e.data.target,"resizable").options.onResize.call(e.data.target,e)!=false){ +_7d(e); +} +return false; +}; +function _81(e){ +$.fn.resizable.isResizing=false; +_78(e,true); +_7d(e); +$.data(e.data.target,"resizable").options.onStopResize.call(e.data.target,e); +$(document).unbind(".resizable"); +$("body").css("cursor",""); +return false; +}; +return this.each(function(){ +var _82=null; +var _83=$.data(this,"resizable"); +if(_83){ +$(this).unbind(".resizable"); +_82=$.extend(_83.options,_76||{}); +}else{ +_82=$.extend({},$.fn.resizable.defaults,$.fn.resizable.parseOptions(this),_76||{}); +$.data(this,"resizable",{options:_82}); +} +if(_82.disabled==true){ +return; +} +$(this).bind("mousemove.resizable",{target:this},function(e){ +if($.fn.resizable.isResizing){ +return; +} +var dir=_84(e); +if(dir==""){ +$(e.data.target).css("cursor",""); +}else{ +$(e.data.target).css("cursor",dir+"-resize"); +} +}).bind("mouseleave.resizable",{target:this},function(e){ +$(e.data.target).css("cursor",""); +}).bind("mousedown.resizable",{target:this},function(e){ +var dir=_84(e); +if(dir==""){ +return; +} +function _85(css){ +var val=parseInt($(e.data.target).css(css)); +if(isNaN(val)){ +return 0; +}else{ +return val; +} +}; +var _86={target:e.data.target,dir:dir,startLeft:_85("left"),startTop:_85("top"),left:_85("left"),top:_85("top"),startX:e.pageX,startY:e.pageY,startWidth:$(e.data.target).outerWidth(),startHeight:$(e.data.target).outerHeight(),width:$(e.data.target).outerWidth(),height:$(e.data.target).outerHeight(),deltaWidth:$(e.data.target).outerWidth()-$(e.data.target).width(),deltaHeight:$(e.data.target).outerHeight()-$(e.data.target).height()}; +$(document).bind("mousedown.resizable",_86,_7f); +$(document).bind("mousemove.resizable",_86,_80); +$(document).bind("mouseup.resizable",_86,_81); +$("body").css("cursor",dir+"-resize"); +}); +function _84(e){ +var tt=$(e.data.target); +var dir=""; +var _87=tt.offset(); +var _88=tt.outerWidth(); +var _89=tt.outerHeight(); +var _8a=_82.edge; +if(e.pageY>_87.top&&e.pageY<_87.top+_8a){ +dir+="n"; +}else{ +if(e.pageY<_87.top+_89&&e.pageY>_87.top+_89-_8a){ +dir+="s"; +} +} +if(e.pageX>_87.left&&e.pageX<_87.left+_8a){ +dir+="w"; +}else{ +if(e.pageX<_87.left+_88&&e.pageX>_87.left+_88-_8a){ +dir+="e"; +} +} +var _8b=_82.handles.split(","); +for(var i=0;i<_8b.length;i++){ +var _8c=_8b[i].replace(/(^\s*)|(\s*$)/g,""); +if(_8c=="all"||_8c==dir){ +return dir; +} +} +return ""; +}; +}); +}; +$.fn.resizable.methods={options:function(jq){ +return $.data(jq[0],"resizable").options; +},enable:function(jq){ +return jq.each(function(){ +$(this).resizable({disabled:false}); +}); +},disable:function(jq){ +return jq.each(function(){ +$(this).resizable({disabled:true}); +}); +}}; +$.fn.resizable.parseOptions=function(_8d){ +var t=$(_8d); +return $.extend({},$.parser.parseOptions(_8d,["handles",{minWidth:"number",minHeight:"number",maxWidth:"number",maxHeight:"number",edge:"number"}]),{disabled:(t.attr("disabled")?true:undefined)}); +}; +$.fn.resizable.defaults={disabled:false,handles:"n, e, s, w, ne, se, sw, nw, all",minWidth:10,minHeight:10,maxWidth:10000,maxHeight:10000,edge:5,onStartResize:function(e){ +},onResize:function(e){ +},onStopResize:function(e){ +}}; +$.fn.resizable.isResizing=false; +})(jQuery); +(function($){ +function _8e(_8f,_90){ +var _91=$.data(_8f,"linkbutton").options; +if(_90){ +$.extend(_91,_90); +} +if(_91.width||_91.height||_91.fit){ +var btn=$(_8f); +var _92=btn.parent(); +var _93=btn.is(":visible"); +if(!_93){ +var _94=$("
").insertBefore(_8f); +var _95={position:btn.css("position"),display:btn.css("display"),left:btn.css("left")}; +btn.appendTo("body"); +btn.css({position:"absolute",display:"inline-block",left:-20000}); +} +btn._size(_91,_92); +var _96=btn.find(".l-btn-left"); +_96.css("margin-top",0); +_96.css("margin-top",parseInt((btn.height()-_96.height())/2)+"px"); +if(!_93){ +btn.insertAfter(_94); +btn.css(_95); +_94.remove(); +} +} +}; +function _97(_98){ +var _99=$.data(_98,"linkbutton").options; +var t=$(_98).empty(); +t.addClass("l-btn").removeClass("l-btn-plain l-btn-selected l-btn-plain-selected l-btn-outline"); +t.removeClass("l-btn-small l-btn-medium l-btn-large").addClass("l-btn-"+_99.size); +if(_99.plain){ +t.addClass("l-btn-plain"); +} +if(_99.outline){ +t.addClass("l-btn-outline"); +} +if(_99.selected){ +t.addClass(_99.plain?"l-btn-selected l-btn-plain-selected":"l-btn-selected"); +} +t.attr("group",_99.group||""); +t.attr("id",_99.id||""); +var _9a=$("").appendTo(t); +if(_99.text){ +$("").html(_99.text).appendTo(_9a); +}else{ +$(" ").appendTo(_9a); +} +if(_99.iconCls){ +$(" ").addClass(_99.iconCls).appendTo(_9a); +_9a.addClass("l-btn-icon-"+_99.iconAlign); +} +t.unbind(".linkbutton").bind("focus.linkbutton",function(){ +if(!_99.disabled){ +$(this).addClass("l-btn-focus"); +} +}).bind("blur.linkbutton",function(){ +$(this).removeClass("l-btn-focus"); +}).bind("click.linkbutton",function(){ +if(!_99.disabled){ +if(_99.toggle){ +if(_99.selected){ +$(this).linkbutton("unselect"); +}else{ +$(this).linkbutton("select"); +} +} +_99.onClick.call(this); +} +}); +_9b(_98,_99.selected); +_9c(_98,_99.disabled); +}; +function _9b(_9d,_9e){ +var _9f=$.data(_9d,"linkbutton").options; +if(_9e){ +if(_9f.group){ +$("a.l-btn[group=\""+_9f.group+"\"]").each(function(){ +var o=$(this).linkbutton("options"); +if(o.toggle){ +$(this).removeClass("l-btn-selected l-btn-plain-selected"); +o.selected=false; +} +}); +} +$(_9d).addClass(_9f.plain?"l-btn-selected l-btn-plain-selected":"l-btn-selected"); +_9f.selected=true; +}else{ +if(!_9f.group){ +$(_9d).removeClass("l-btn-selected l-btn-plain-selected"); +_9f.selected=false; +} +} +}; +function _9c(_a0,_a1){ +var _a2=$.data(_a0,"linkbutton"); +var _a3=_a2.options; +$(_a0).removeClass("l-btn-disabled l-btn-plain-disabled"); +if(_a1){ +_a3.disabled=true; +var _a4=$(_a0).attr("href"); +if(_a4){ +_a2.href=_a4; +$(_a0).attr("href","javascript:;"); +} +if(_a0.onclick){ +_a2.onclick=_a0.onclick; +_a0.onclick=null; +} +_a3.plain?$(_a0).addClass("l-btn-disabled l-btn-plain-disabled"):$(_a0).addClass("l-btn-disabled"); +}else{ +_a3.disabled=false; +if(_a2.href){ +$(_a0).attr("href",_a2.href); +} +if(_a2.onclick){ +_a0.onclick=_a2.onclick; +} +} +}; +$.fn.linkbutton=function(_a5,_a6){ +if(typeof _a5=="string"){ +return $.fn.linkbutton.methods[_a5](this,_a6); +} +_a5=_a5||{}; +return this.each(function(){ +var _a7=$.data(this,"linkbutton"); +if(_a7){ +$.extend(_a7.options,_a5); +}else{ +$.data(this,"linkbutton",{options:$.extend({},$.fn.linkbutton.defaults,$.fn.linkbutton.parseOptions(this),_a5)}); +$(this).removeAttr("disabled"); +$(this).bind("_resize",function(e,_a8){ +if($(this).hasClass("easyui-fluid")||_a8){ +_8e(this); +} +return false; +}); +} +_97(this); +_8e(this); +}); +}; +$.fn.linkbutton.methods={options:function(jq){ +return $.data(jq[0],"linkbutton").options; +},resize:function(jq,_a9){ +return jq.each(function(){ +_8e(this,_a9); +}); +},enable:function(jq){ +return jq.each(function(){ +_9c(this,false); +}); +},disable:function(jq){ +return jq.each(function(){ +_9c(this,true); +}); +},select:function(jq){ +return jq.each(function(){ +_9b(this,true); +}); +},unselect:function(jq){ +return jq.each(function(){ +_9b(this,false); +}); +}}; +$.fn.linkbutton.parseOptions=function(_aa){ +var t=$(_aa); +return $.extend({},$.parser.parseOptions(_aa,["id","iconCls","iconAlign","group","size","text",{plain:"boolean",toggle:"boolean",selected:"boolean",outline:"boolean"}]),{disabled:(t.attr("disabled")?true:undefined),text:($.trim(t.html())||undefined),iconCls:(t.attr("icon")||t.attr("iconCls"))}); +}; +$.fn.linkbutton.defaults={id:null,disabled:false,toggle:false,selected:false,outline:false,group:null,plain:false,text:"",iconCls:null,iconAlign:"left",size:"small",onClick:function(){ +}}; +})(jQuery); +(function($){ +function _ab(_ac){ +var _ad=$.data(_ac,"pagination"); +var _ae=_ad.options; +var bb=_ad.bb={}; +var _af=$(_ac).addClass("pagination").html("
"); +var tr=_af.find("tr"); +var aa=$.extend([],_ae.layout); +if(!_ae.showPageList){ +_b0(aa,"list"); +} +if(!_ae.showPageInfo){ +_b0(aa,"info"); +} +if(!_ae.showRefresh){ +_b0(aa,"refresh"); +} +if(aa[0]=="sep"){ +aa.shift(); +} +if(aa[aa.length-1]=="sep"){ +aa.pop(); +} +for(var _b1=0;_b1"); +ps.bind("change",function(){ +_ae.pageSize=parseInt($(this).val()); +_ae.onChangePageSize.call(_ac,_ae.pageSize); +_b8(_ac,_ae.pageNumber); +}); +for(var i=0;i<_ae.pageList.length;i++){ +$("").text(_ae.pageList[i]).appendTo(ps); +} +$("").append(ps).appendTo(tr); +}else{ +if(_b2=="sep"){ +$("
").appendTo(tr); +}else{ +if(_b2=="first"){ +bb.first=_b3("first"); +}else{ +if(_b2=="prev"){ +bb.prev=_b3("prev"); +}else{ +if(_b2=="next"){ +bb.next=_b3("next"); +}else{ +if(_b2=="last"){ +bb.last=_b3("last"); +}else{ +if(_b2=="manual"){ +$("").html(_ae.beforePageText).appendTo(tr).wrap(""); +bb.num=$("").appendTo(tr).wrap(""); +bb.num.unbind(".pagination").bind("keydown.pagination",function(e){ +if(e.keyCode==13){ +var _b4=parseInt($(this).val())||1; +_b8(_ac,_b4); +return false; +} +}); +bb.after=$("").appendTo(tr).wrap(""); +}else{ +if(_b2=="refresh"){ +bb.refresh=_b3("refresh"); +}else{ +if(_b2=="links"){ +$("").appendTo(tr); +}else{ +if(_b2=="info"){ +if(_b1==aa.length-1){ +$("
").appendTo(_af); +$("
").appendTo(_af); +}else{ +$("
").appendTo(tr); +} +} +} +} +} +} +} +} +} +} +} +} +if(_ae.buttons){ +$("
").appendTo(tr); +if($.isArray(_ae.buttons)){ +for(var i=0;i<_ae.buttons.length;i++){ +var btn=_ae.buttons[i]; +if(btn=="-"){ +$("
").appendTo(tr); +}else{ +var td=$("").appendTo(tr); +var a=$("").appendTo(td); +a[0].onclick=eval(btn.handler||function(){ +}); +a.linkbutton($.extend({},btn,{plain:true})); +} +} +}else{ +var td=$("").appendTo(tr); +$(_ae.buttons).appendTo(td).show(); +} +} +function _b3(_b5){ +var btn=_ae.nav[_b5]; +var a=$("").appendTo(tr); +a.wrap(""); +a.linkbutton({iconCls:btn.iconCls,plain:true}).unbind(".pagination").bind("click.pagination",function(){ +btn.handler.call(_ac); +}); +return a; +}; +function _b0(aa,_b6){ +var _b7=$.inArray(_b6,aa); +if(_b7>=0){ +aa.splice(_b7,1); +} +return aa; +}; +}; +function _b8(_b9,_ba){ +var _bb=$.data(_b9,"pagination").options; +_bc(_b9,{pageNumber:_ba}); +_bb.onSelectPage.call(_b9,_bb.pageNumber,_bb.pageSize); +}; +function _bc(_bd,_be){ +var _bf=$.data(_bd,"pagination"); +var _c0=_bf.options; +var bb=_bf.bb; +$.extend(_c0,_be||{}); +var ps=$(_bd).find("select.pagination-page-list"); +if(ps.length){ +ps.val(_c0.pageSize+""); +_c0.pageSize=parseInt(ps.val()); +} +var _c1=Math.ceil(_c0.total/_c0.pageSize)||1; +if(_c0.pageNumber<1){ +_c0.pageNumber=1; +} +if(_c0.pageNumber>_c1){ +_c0.pageNumber=_c1; +} +if(_c0.total==0){ +_c0.pageNumber=0; +_c1=0; +} +if(bb.num){ +bb.num.val(_c0.pageNumber); +} +if(bb.after){ +bb.after.html(_c0.afterPageText.replace(/{pages}/,_c1)); +} +var td=$(_bd).find("td.pagination-links"); +if(td.length){ +td.empty(); +var _c2=_c0.pageNumber-Math.floor(_c0.links/2); +if(_c2<1){ +_c2=1; +} +var _c3=_c2+_c0.links-1; +if(_c3>_c1){ +_c3=_c1; +} +_c2=_c3-_c0.links+1; +if(_c2<1){ +_c2=1; +} +for(var i=_c2;i<=_c3;i++){ +var a=$("").appendTo(td); +a.linkbutton({plain:true,text:i}); +if(i==_c0.pageNumber){ +a.linkbutton("select"); +}else{ +a.unbind(".pagination").bind("click.pagination",{pageNumber:i},function(e){ +_b8(_bd,e.data.pageNumber); +}); +} +} +} +var _c4=_c0.displayMsg; +_c4=_c4.replace(/{from}/,_c0.total==0?0:_c0.pageSize*(_c0.pageNumber-1)+1); +_c4=_c4.replace(/{to}/,Math.min(_c0.pageSize*(_c0.pageNumber),_c0.total)); +_c4=_c4.replace(/{total}/,_c0.total); +$(_bd).find("div.pagination-info").html(_c4); +if(bb.first){ +bb.first.linkbutton({disabled:((!_c0.total)||_c0.pageNumber==1)}); +} +if(bb.prev){ +bb.prev.linkbutton({disabled:((!_c0.total)||_c0.pageNumber==1)}); +} +if(bb.next){ +bb.next.linkbutton({disabled:(_c0.pageNumber==_c1)}); +} +if(bb.last){ +bb.last.linkbutton({disabled:(_c0.pageNumber==_c1)}); +} +_c5(_bd,_c0.loading); +}; +function _c5(_c6,_c7){ +var _c8=$.data(_c6,"pagination"); +var _c9=_c8.options; +_c9.loading=_c7; +if(_c9.showRefresh&&_c8.bb.refresh){ +_c8.bb.refresh.linkbutton({iconCls:(_c9.loading?"pagination-loading":"pagination-load")}); +} +}; +$.fn.pagination=function(_ca,_cb){ +if(typeof _ca=="string"){ +return $.fn.pagination.methods[_ca](this,_cb); +} +_ca=_ca||{}; +return this.each(function(){ +var _cc; +var _cd=$.data(this,"pagination"); +if(_cd){ +_cc=$.extend(_cd.options,_ca); +}else{ +_cc=$.extend({},$.fn.pagination.defaults,$.fn.pagination.parseOptions(this),_ca); +$.data(this,"pagination",{options:_cc}); +} +_ab(this); +_bc(this); +}); +}; +$.fn.pagination.methods={options:function(jq){ +return $.data(jq[0],"pagination").options; +},loading:function(jq){ +return jq.each(function(){ +_c5(this,true); +}); +},loaded:function(jq){ +return jq.each(function(){ +_c5(this,false); +}); +},refresh:function(jq,_ce){ +return jq.each(function(){ +_bc(this,_ce); +}); +},select:function(jq,_cf){ +return jq.each(function(){ +_b8(this,_cf); +}); +}}; +$.fn.pagination.parseOptions=function(_d0){ +var t=$(_d0); +return $.extend({},$.parser.parseOptions(_d0,[{total:"number",pageSize:"number",pageNumber:"number",links:"number"},{loading:"boolean",showPageList:"boolean",showPageInfo:"boolean",showRefresh:"boolean"}]),{pageList:(t.attr("pageList")?eval(t.attr("pageList")):undefined)}); +}; +$.fn.pagination.defaults={total:1,pageSize:10,pageNumber:1,pageList:[10,20,30,50],loading:false,buttons:null,showPageList:true,showPageInfo:true,showRefresh:true,links:10,layout:["list","sep","first","prev","sep","manual","sep","next","last","sep","refresh","info"],onSelectPage:function(_d1,_d2){ +},onBeforeRefresh:function(_d3,_d4){ +},onRefresh:function(_d5,_d6){ +},onChangePageSize:function(_d7){ +},beforePageText:"Page",afterPageText:"of {pages}",displayMsg:"Displaying {from} to {to} of {total} items",nav:{first:{iconCls:"pagination-first",handler:function(){ +var _d8=$(this).pagination("options"); +if(_d8.pageNumber>1){ +$(this).pagination("select",1); +} +}},prev:{iconCls:"pagination-prev",handler:function(){ +var _d9=$(this).pagination("options"); +if(_d9.pageNumber>1){ +$(this).pagination("select",_d9.pageNumber-1); +} +}},next:{iconCls:"pagination-next",handler:function(){ +var _da=$(this).pagination("options"); +var _db=Math.ceil(_da.total/_da.pageSize); +if(_da.pageNumber<_db){ +$(this).pagination("select",_da.pageNumber+1); +} +}},last:{iconCls:"pagination-last",handler:function(){ +var _dc=$(this).pagination("options"); +var _dd=Math.ceil(_dc.total/_dc.pageSize); +if(_dc.pageNumber<_dd){ +$(this).pagination("select",_dd); +} +}},refresh:{iconCls:"pagination-refresh",handler:function(){ +var _de=$(this).pagination("options"); +if(_de.onBeforeRefresh.call(this,_de.pageNumber,_de.pageSize)!=false){ +$(this).pagination("select",_de.pageNumber); +_de.onRefresh.call(this,_de.pageNumber,_de.pageSize); +} +}}}}; +})(jQuery); +(function($){ +function _df(_e0){ +var _e1=$(_e0); +_e1.addClass("tree"); +return _e1; +}; +function _e2(_e3){ +var _e4=$.data(_e3,"tree").options; +$(_e3).unbind().bind("mouseover",function(e){ +var tt=$(e.target); +var _e5=tt.closest("div.tree-node"); +if(!_e5.length){ +return; +} +_e5.addClass("tree-node-hover"); +if(tt.hasClass("tree-hit")){ +if(tt.hasClass("tree-expanded")){ +tt.addClass("tree-expanded-hover"); +}else{ +tt.addClass("tree-collapsed-hover"); +} +} +e.stopPropagation(); +}).bind("mouseout",function(e){ +var tt=$(e.target); +var _e6=tt.closest("div.tree-node"); +if(!_e6.length){ +return; +} +_e6.removeClass("tree-node-hover"); +if(tt.hasClass("tree-hit")){ +if(tt.hasClass("tree-expanded")){ +tt.removeClass("tree-expanded-hover"); +}else{ +tt.removeClass("tree-collapsed-hover"); +} +} +e.stopPropagation(); +}).bind("click",function(e){ +var tt=$(e.target); +var _e7=tt.closest("div.tree-node"); +if(!_e7.length){ +return; +} +if(tt.hasClass("tree-hit")){ +_145(_e3,_e7[0]); +return false; +}else{ +if(tt.hasClass("tree-checkbox")){ +_10c(_e3,_e7[0]); +return false; +}else{ +_188(_e3,_e7[0]); +_e4.onClick.call(_e3,_ea(_e3,_e7[0])); +} +} +e.stopPropagation(); +}).bind("dblclick",function(e){ +var _e8=$(e.target).closest("div.tree-node"); +if(!_e8.length){ +return; +} +_188(_e3,_e8[0]); +_e4.onDblClick.call(_e3,_ea(_e3,_e8[0])); +e.stopPropagation(); +}).bind("contextmenu",function(e){ +var _e9=$(e.target).closest("div.tree-node"); +if(!_e9.length){ +return; +} +_e4.onContextMenu.call(_e3,e,_ea(_e3,_e9[0])); +e.stopPropagation(); +}); +}; +function _eb(_ec){ +var _ed=$.data(_ec,"tree").options; +_ed.dnd=false; +var _ee=$(_ec).find("div.tree-node"); +_ee.draggable("disable"); +_ee.css("cursor","pointer"); +}; +function _ef(_f0){ +var _f1=$.data(_f0,"tree"); +var _f2=_f1.options; +var _f3=_f1.tree; +_f1.disabledNodes=[]; +_f2.dnd=true; +_f3.find("div.tree-node").draggable({disabled:false,revert:true,cursor:"pointer",proxy:function(_f4){ +var p=$("
").appendTo("body"); +p.html(" "+$(_f4).find(".tree-title").html()); +p.hide(); +return p; +},deltaX:15,deltaY:15,onBeforeDrag:function(e){ +if(_f2.onBeforeDrag.call(_f0,_ea(_f0,this))==false){ +return false; +} +if($(e.target).hasClass("tree-hit")||$(e.target).hasClass("tree-checkbox")){ +return false; +} +if(e.which!=1){ +return false; +} +var _f5=$(this).find("span.tree-indent"); +if(_f5.length){ +e.data.offsetWidth-=_f5.length*_f5.width(); +} +},onStartDrag:function(e){ +$(this).next("ul").find("div.tree-node").each(function(){ +$(this).droppable("disable"); +_f1.disabledNodes.push(this); +}); +$(this).draggable("proxy").css({left:-10000,top:-10000}); +_f2.onStartDrag.call(_f0,_ea(_f0,this)); +var _f6=_ea(_f0,this); +if(_f6.id==undefined){ +_f6.id="easyui_tree_node_id_temp"; +_12c(_f0,_f6); +} +_f1.draggingNodeId=_f6.id; +},onDrag:function(e){ +var x1=e.pageX,y1=e.pageY,x2=e.data.startX,y2=e.data.startY; +var d=Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); +if(d>3){ +$(this).draggable("proxy").show(); +} +this.pageY=e.pageY; +},onStopDrag:function(){ +for(var i=0;i<_f1.disabledNodes.length;i++){ +$(_f1.disabledNodes[i]).droppable("enable"); +} +_f1.disabledNodes=[]; +var _f7=_182(_f0,_f1.draggingNodeId); +if(_f7&&_f7.id=="easyui_tree_node_id_temp"){ +_f7.id=""; +_12c(_f0,_f7); +} +_f2.onStopDrag.call(_f0,_f7); +}}).droppable({accept:"div.tree-node",onDragEnter:function(e,_f8){ +if(_f2.onDragEnter.call(_f0,this,_f9(_f8))==false){ +_fa(_f8,false); +$(this).removeClass("tree-node-append tree-node-top tree-node-bottom"); +$(this).droppable("disable"); +_f1.disabledNodes.push(this); +} +},onDragOver:function(e,_fb){ +if($(this).droppable("options").disabled){ +return; +} +var _fc=_fb.pageY; +var top=$(this).offset().top; +var _fd=top+$(this).outerHeight(); +_fa(_fb,true); +$(this).removeClass("tree-node-append tree-node-top tree-node-bottom"); +if(_fc>top+(_fd-top)/2){ +if(_fd-_fc<5){ +$(this).addClass("tree-node-bottom"); +}else{ +$(this).addClass("tree-node-append"); +} +}else{ +if(_fc-top<5){ +$(this).addClass("tree-node-top"); +}else{ +$(this).addClass("tree-node-append"); +} +} +if(_f2.onDragOver.call(_f0,this,_f9(_fb))==false){ +_fa(_fb,false); +$(this).removeClass("tree-node-append tree-node-top tree-node-bottom"); +$(this).droppable("disable"); +_f1.disabledNodes.push(this); +} +},onDragLeave:function(e,_fe){ +_fa(_fe,false); +$(this).removeClass("tree-node-append tree-node-top tree-node-bottom"); +_f2.onDragLeave.call(_f0,this,_f9(_fe)); +},onDrop:function(e,_ff){ +var dest=this; +var _100,_101; +if($(this).hasClass("tree-node-append")){ +_100=_102; +_101="append"; +}else{ +_100=_103; +_101=$(this).hasClass("tree-node-top")?"top":"bottom"; +} +if(_f2.onBeforeDrop.call(_f0,dest,_f9(_ff),_101)==false){ +$(this).removeClass("tree-node-append tree-node-top tree-node-bottom"); +return; +} +_100(_ff,dest,_101); +$(this).removeClass("tree-node-append tree-node-top tree-node-bottom"); +}}); +function _f9(_104,pop){ +return $(_104).closest("ul.tree").tree(pop?"pop":"getData",_104); +}; +function _fa(_105,_106){ +var icon=$(_105).draggable("proxy").find("span.tree-dnd-icon"); +icon.removeClass("tree-dnd-yes tree-dnd-no").addClass(_106?"tree-dnd-yes":"tree-dnd-no"); +}; +function _102(_107,dest){ +if(_ea(_f0,dest).state=="closed"){ +_13d(_f0,dest,function(){ +_108(); +}); +}else{ +_108(); +} +function _108(){ +var node=_f9(_107,true); +$(_f0).tree("append",{parent:dest,data:[node]}); +_f2.onDrop.call(_f0,dest,node,"append"); +}; +}; +function _103(_109,dest,_10a){ +var _10b={}; +if(_10a=="top"){ +_10b.before=dest; +}else{ +_10b.after=dest; +} +var node=_f9(_109,true); +_10b.data=node; +$(_f0).tree("insert",_10b); +_f2.onDrop.call(_f0,dest,node,_10a); +}; +}; +function _10c(_10d,_10e,_10f,_110){ +var _111=$.data(_10d,"tree"); +var opts=_111.options; +if(!opts.checkbox){ +return; +} +var _112=_ea(_10d,_10e); +if(!_112.checkState){ +return; +} +var ck=$(_10e).find(".tree-checkbox"); +if(_10f==undefined){ +if(ck.hasClass("tree-checkbox1")){ +_10f=false; +}else{ +if(ck.hasClass("tree-checkbox0")){ +_10f=true; +}else{ +if(_112._checked==undefined){ +_112._checked=$(_10e).find(".tree-checkbox").hasClass("tree-checkbox1"); +} +_10f=!_112._checked; +} +} +} +_112._checked=_10f; +if(_10f){ +if(ck.hasClass("tree-checkbox1")){ +return; +} +}else{ +if(ck.hasClass("tree-checkbox0")){ +return; +} +} +if(!_110){ +if(opts.onBeforeCheck.call(_10d,_112,_10f)==false){ +return; +} +} +if(opts.cascadeCheck){ +_113(_10d,_112,_10f); +_114(_10d,_112); +}else{ +_115(_10d,_112,_10f?"1":"0"); +} +if(!_110){ +opts.onCheck.call(_10d,_112,_10f); +} +}; +function _113(_116,_117,_118){ +var opts=$.data(_116,"tree").options; +var flag=_118?1:0; +_115(_116,_117,flag); +if(opts.deepCheck){ +$.easyui.forEach(_117.children||[],true,function(n){ +_115(_116,n,flag); +}); +}else{ +var _119=[]; +if(_117.children&&_117.children.length){ +_119.push(_117); +} +$.easyui.forEach(_117.children||[],true,function(n){ +if(!n.hidden){ +_115(_116,n,flag); +if(n.children&&n.children.length){ +_119.push(n); +} +} +}); +for(var i=_119.length-1;i>=0;i--){ +var node=_119[i]; +_115(_116,node,_11a(node)); +} +} +}; +function _115(_11b,_11c,flag){ +var opts=$.data(_11b,"tree").options; +if(!_11c.checkState||flag==undefined){ +return; +} +if(_11c.hidden&&!opts.deepCheck){ +return; +} +var ck=$("#"+_11c.domId).find(".tree-checkbox"); +_11c.checkState=["unchecked","checked","indeterminate"][flag]; +_11c.checked=(_11c.checkState=="checked"); +ck.removeClass("tree-checkbox0 tree-checkbox1 tree-checkbox2"); +ck.addClass("tree-checkbox"+flag); +}; +function _114(_11d,_11e){ +var pd=_11f(_11d,$("#"+_11e.domId)[0]); +if(pd){ +_115(_11d,pd,_11a(pd)); +_114(_11d,pd); +} +}; +function _11a(row){ +var c0=0; +var c1=0; +var len=0; +$.easyui.forEach(row.children||[],false,function(r){ +if(r.checkState){ +len++; +if(r.checkState=="checked"){ +c1++; +}else{ +if(r.checkState=="unchecked"){ +c0++; +} +} +} +}); +if(len==0){ +return undefined; +} +var flag=0; +if(c0==len){ +flag=0; +}else{ +if(c1==len){ +flag=1; +}else{ +flag=2; +} +} +return flag; +}; +function _120(_121,_122){ +var opts=$.data(_121,"tree").options; +if(!opts.checkbox){ +return; +} +var node=$(_122); +var ck=node.find(".tree-checkbox"); +var _123=_ea(_121,_122); +if(opts.view.hasCheckbox(_121,_123)){ +if(!ck.length){ +_123.checkState=_123.checkState||"unchecked"; +$("").insertBefore(node.find(".tree-title")); +} +if(_123.checkState=="checked"){ +_10c(_121,_122,true,true); +}else{ +if(_123.checkState=="unchecked"){ +_10c(_121,_122,false,true); +}else{ +var flag=_11a(_123); +if(flag===0){ +_10c(_121,_122,false,true); +}else{ +if(flag===1){ +_10c(_121,_122,true,true); +} +} +} +} +}else{ +ck.remove(); +_123.checkState=undefined; +_123.checked=undefined; +_114(_121,_123); +} +}; +function _124(_125,ul,data,_126,_127){ +var _128=$.data(_125,"tree"); +var opts=_128.options; +var _129=$(ul).prevAll("div.tree-node:first"); +data=opts.loadFilter.call(_125,data,_129[0]); +var _12a=_12b(_125,"domId",_129.attr("id")); +if(!_126){ +_12a?_12a.children=data:_128.data=data; +$(ul).empty(); +}else{ +if(_12a){ +_12a.children?_12a.children=_12a.children.concat(data):_12a.children=data; +}else{ +_128.data=_128.data.concat(data); +} +} +opts.view.render.call(opts.view,_125,ul,data); +if(opts.dnd){ +_ef(_125); +} +if(_12a){ +_12c(_125,_12a); +} +for(var i=0;i<_128.tmpIds.length;i++){ +_10c(_125,$("#"+_128.tmpIds[i])[0],true,true); +} +_128.tmpIds=[]; +setTimeout(function(){ +_12d(_125,_125); +},0); +if(!_127){ +opts.onLoadSuccess.call(_125,_12a,data); +} +}; +function _12d(_12e,ul,_12f){ +var opts=$.data(_12e,"tree").options; +if(opts.lines){ +$(_12e).addClass("tree-lines"); +}else{ +$(_12e).removeClass("tree-lines"); +return; +} +if(!_12f){ +_12f=true; +$(_12e).find("span.tree-indent").removeClass("tree-line tree-join tree-joinbottom"); +$(_12e).find("div.tree-node").removeClass("tree-node-last tree-root-first tree-root-one"); +var _130=$(_12e).tree("getRoots"); +if(_130.length>1){ +$(_130[0].target).addClass("tree-root-first"); +}else{ +if(_130.length==1){ +$(_130[0].target).addClass("tree-root-one"); +} +} +} +$(ul).children("li").each(function(){ +var node=$(this).children("div.tree-node"); +var ul=node.next("ul"); +if(ul.length){ +if($(this).next().length){ +_131(node); +} +_12d(_12e,ul,_12f); +}else{ +_132(node); +} +}); +var _133=$(ul).children("li:last").children("div.tree-node").addClass("tree-node-last"); +_133.children("span.tree-join").removeClass("tree-join").addClass("tree-joinbottom"); +function _132(node,_134){ +var icon=node.find("span.tree-icon"); +icon.prev("span.tree-indent").addClass("tree-join"); +}; +function _131(node){ +var _135=node.find("span.tree-indent, span.tree-hit").length; +node.next().find("div.tree-node").each(function(){ +$(this).children("span:eq("+(_135-1)+")").addClass("tree-line"); +}); +}; +}; +function _136(_137,ul,_138,_139){ +var opts=$.data(_137,"tree").options; +_138=$.extend({},opts.queryParams,_138||{}); +var _13a=null; +if(_137!=ul){ +var node=$(ul).prev(); +_13a=_ea(_137,node[0]); +} +if(opts.onBeforeLoad.call(_137,_13a,_138)==false){ +return; +} +var _13b=$(ul).prev().children("span.tree-folder"); +_13b.addClass("tree-loading"); +var _13c=opts.loader.call(_137,_138,function(data){ +_13b.removeClass("tree-loading"); +_124(_137,ul,data); +if(_139){ +_139(); +} +},function(){ +_13b.removeClass("tree-loading"); +opts.onLoadError.apply(_137,arguments); +if(_139){ +_139(); +} +}); +if(_13c==false){ +_13b.removeClass("tree-loading"); +} +}; +function _13d(_13e,_13f,_140){ +var opts=$.data(_13e,"tree").options; +var hit=$(_13f).children("span.tree-hit"); +if(hit.length==0){ +return; +} +if(hit.hasClass("tree-expanded")){ +return; +} +var node=_ea(_13e,_13f); +if(opts.onBeforeExpand.call(_13e,node)==false){ +return; +} +hit.removeClass("tree-collapsed tree-collapsed-hover").addClass("tree-expanded"); +hit.next().addClass("tree-folder-open"); +var ul=$(_13f).next(); +if(ul.length){ +if(opts.animate){ +ul.slideDown("normal",function(){ +node.state="open"; +opts.onExpand.call(_13e,node); +if(_140){ +_140(); +} +}); +}else{ +ul.css("display","block"); +node.state="open"; +opts.onExpand.call(_13e,node); +if(_140){ +_140(); +} +} +}else{ +var _141=$("
    ").insertAfter(_13f); +_136(_13e,_141[0],{id:node.id},function(){ +if(_141.is(":empty")){ +_141.remove(); +} +if(opts.animate){ +_141.slideDown("normal",function(){ +node.state="open"; +opts.onExpand.call(_13e,node); +if(_140){ +_140(); +} +}); +}else{ +_141.css("display","block"); +node.state="open"; +opts.onExpand.call(_13e,node); +if(_140){ +_140(); +} +} +}); +} +}; +function _142(_143,_144){ +var opts=$.data(_143,"tree").options; +var hit=$(_144).children("span.tree-hit"); +if(hit.length==0){ +return; +} +if(hit.hasClass("tree-collapsed")){ +return; +} +var node=_ea(_143,_144); +if(opts.onBeforeCollapse.call(_143,node)==false){ +return; +} +hit.removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed"); +hit.next().removeClass("tree-folder-open"); +var ul=$(_144).next(); +if(opts.animate){ +ul.slideUp("normal",function(){ +node.state="closed"; +opts.onCollapse.call(_143,node); +}); +}else{ +ul.css("display","none"); +node.state="closed"; +opts.onCollapse.call(_143,node); +} +}; +function _145(_146,_147){ +var hit=$(_147).children("span.tree-hit"); +if(hit.length==0){ +return; +} +if(hit.hasClass("tree-expanded")){ +_142(_146,_147); +}else{ +_13d(_146,_147); +} +}; +function _148(_149,_14a){ +var _14b=_14c(_149,_14a); +if(_14a){ +_14b.unshift(_ea(_149,_14a)); +} +for(var i=0;i<_14b.length;i++){ +_13d(_149,_14b[i].target); +} +}; +function _14d(_14e,_14f){ +var _150=[]; +var p=_11f(_14e,_14f); +while(p){ +_150.unshift(p); +p=_11f(_14e,p.target); +} +for(var i=0;i<_150.length;i++){ +_13d(_14e,_150[i].target); +} +}; +function _151(_152,_153){ +var c=$(_152).parent(); +while(c[0].tagName!="BODY"&&c.css("overflow-y")!="auto"){ +c=c.parent(); +} +var n=$(_153); +var ntop=n.offset().top; +if(c[0].tagName!="BODY"){ +var ctop=c.offset().top; +if(ntopctop+c.outerHeight()-18){ +c.scrollTop(c.scrollTop()+ntop+n.outerHeight()-ctop-c.outerHeight()+18); +} +} +}else{ +c.scrollTop(ntop); +} +}; +function _154(_155,_156){ +var _157=_14c(_155,_156); +if(_156){ +_157.unshift(_ea(_155,_156)); +} +for(var i=0;i<_157.length;i++){ +_142(_155,_157[i].target); +} +}; +function _158(_159,_15a){ +var node=$(_15a.parent); +var data=_15a.data; +if(!data){ +return; +} +data=$.isArray(data)?data:[data]; +if(!data.length){ +return; +} +var ul; +if(node.length==0){ +ul=$(_159); +}else{ +if(_15b(_159,node[0])){ +var _15c=node.find("span.tree-icon"); +_15c.removeClass("tree-file").addClass("tree-folder tree-folder-open"); +var hit=$("").insertBefore(_15c); +if(hit.prev().length){ +hit.prev().remove(); +} +} +ul=node.next(); +if(!ul.length){ +ul=$("
      ").insertAfter(node); +} +} +_124(_159,ul[0],data,true,true); +}; +function _15d(_15e,_15f){ +var ref=_15f.before||_15f.after; +var _160=_11f(_15e,ref); +var data=_15f.data; +if(!data){ +return; +} +data=$.isArray(data)?data:[data]; +if(!data.length){ +return; +} +_158(_15e,{parent:(_160?_160.target:null),data:data}); +var _161=_160?_160.children:$(_15e).tree("getRoots"); +for(var i=0;i<_161.length;i++){ +if(_161[i].domId==$(ref).attr("id")){ +for(var j=data.length-1;j>=0;j--){ +_161.splice((_15f.before?i:(i+1)),0,data[j]); +} +_161.splice(_161.length-data.length,data.length); +break; +} +} +var li=$(); +for(var i=0;i").prependTo(node); +node.next().remove(); +} +_12c(_163,_165); +} +_12d(_163,_163); +function del(_166){ +var id=$(_166).attr("id"); +var _167=_11f(_163,_166); +var cc=_167?_167.children:$.data(_163,"tree").data; +for(var i=0;i").appendTo(nt); +_191.val(node.text).focus(); +_191.width(_190+20); +_191._outerHeight(18); +_191.bind("click",function(e){ +return false; +}).bind("mousedown",function(e){ +e.stopPropagation(); +}).bind("mousemove",function(e){ +e.stopPropagation(); +}).bind("keydown",function(e){ +if(e.keyCode==13){ +_192(_18e,_18f); +return false; +}else{ +if(e.keyCode==27){ +_196(_18e,_18f); +return false; +} +} +}).bind("blur",function(e){ +e.stopPropagation(); +_192(_18e,_18f); +}); +}; +function _192(_193,_194){ +var opts=$.data(_193,"tree").options; +$(_194).css("position",""); +var _195=$(_194).find("input.tree-editor"); +var val=_195.val(); +_195.remove(); +var node=_ea(_193,_194); +node.text=val; +_12c(_193,node); +opts.onAfterEdit.call(_193,node); +}; +function _196(_197,_198){ +var opts=$.data(_197,"tree").options; +$(_198).css("position",""); +$(_198).find("input.tree-editor").remove(); +var node=_ea(_197,_198); +_12c(_197,node); +opts.onCancelEdit.call(_197,node); +}; +function _199(_19a,q){ +var _19b=$.data(_19a,"tree"); +var opts=_19b.options; +var ids={}; +$.easyui.forEach(_19b.data,true,function(node){ +if(opts.filter.call(_19a,q,node)){ +$("#"+node.domId).removeClass("tree-node-hidden"); +ids[node.domId]=1; +node.hidden=false; +}else{ +$("#"+node.domId).addClass("tree-node-hidden"); +node.hidden=true; +} +}); +for(var id in ids){ +_19c(id); +} +function _19c(_19d){ +var p=$(_19a).tree("getParent",$("#"+_19d)[0]); +while(p){ +$(p.target).removeClass("tree-node-hidden"); +p.hidden=false; +p=$(_19a).tree("getParent",p.target); +} +}; +}; +$.fn.tree=function(_19e,_19f){ +if(typeof _19e=="string"){ +return $.fn.tree.methods[_19e](this,_19f); +} +var _19e=_19e||{}; +return this.each(function(){ +var _1a0=$.data(this,"tree"); +var opts; +if(_1a0){ +opts=$.extend(_1a0.options,_19e); +_1a0.options=opts; +}else{ +opts=$.extend({},$.fn.tree.defaults,$.fn.tree.parseOptions(this),_19e); +$.data(this,"tree",{options:opts,tree:_df(this),data:[],tmpIds:[]}); +var data=$.fn.tree.parseData(this); +if(data.length){ +_124(this,this,data); +} +} +_e2(this); +if(opts.data){ +_124(this,this,$.extend(true,[],opts.data)); +} +_136(this,this); +}); +}; +$.fn.tree.methods={options:function(jq){ +return $.data(jq[0],"tree").options; +},loadData:function(jq,data){ +return jq.each(function(){ +_124(this,this,data); +}); +},getNode:function(jq,_1a1){ +return _ea(jq[0],_1a1); +},getData:function(jq,_1a2){ +return _17d(jq[0],_1a2); +},reload:function(jq,_1a3){ +return jq.each(function(){ +if(_1a3){ +var node=$(_1a3); +var hit=node.children("span.tree-hit"); +hit.removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed"); +node.next().remove(); +_13d(this,_1a3); +}else{ +$(this).empty(); +_136(this,this); +} +}); +},getRoot:function(jq,_1a4){ +return _16a(jq[0],_1a4); +},getRoots:function(jq){ +return _16e(jq[0]); +},getParent:function(jq,_1a5){ +return _11f(jq[0],_1a5); +},getChildren:function(jq,_1a6){ +return _14c(jq[0],_1a6); +},getChecked:function(jq,_1a7){ +return _177(jq[0],_1a7); +},getSelected:function(jq){ +return _17b(jq[0]); +},isLeaf:function(jq,_1a8){ +return _15b(jq[0],_1a8); +},find:function(jq,id){ +return _182(jq[0],id); +},select:function(jq,_1a9){ +return jq.each(function(){ +_188(this,_1a9); +}); +},check:function(jq,_1aa){ +return jq.each(function(){ +_10c(this,_1aa,true); +}); +},uncheck:function(jq,_1ab){ +return jq.each(function(){ +_10c(this,_1ab,false); +}); +},collapse:function(jq,_1ac){ +return jq.each(function(){ +_142(this,_1ac); +}); +},expand:function(jq,_1ad){ +return jq.each(function(){ +_13d(this,_1ad); +}); +},collapseAll:function(jq,_1ae){ +return jq.each(function(){ +_154(this,_1ae); +}); +},expandAll:function(jq,_1af){ +return jq.each(function(){ +_148(this,_1af); +}); +},expandTo:function(jq,_1b0){ +return jq.each(function(){ +_14d(this,_1b0); +}); +},scrollTo:function(jq,_1b1){ +return jq.each(function(){ +_151(this,_1b1); +}); +},toggle:function(jq,_1b2){ +return jq.each(function(){ +_145(this,_1b2); +}); +},append:function(jq,_1b3){ +return jq.each(function(){ +_158(this,_1b3); +}); +},insert:function(jq,_1b4){ +return jq.each(function(){ +_15d(this,_1b4); +}); +},remove:function(jq,_1b5){ +return jq.each(function(){ +_162(this,_1b5); +}); +},pop:function(jq,_1b6){ +var node=jq.tree("getData",_1b6); +jq.tree("remove",_1b6); +return node; +},update:function(jq,_1b7){ +return jq.each(function(){ +_12c(this,$.extend({},_1b7,{checkState:_1b7.checked?"checked":(_1b7.checked===false?"unchecked":undefined)})); +}); +},enableDnd:function(jq){ +return jq.each(function(){ +_ef(this); +}); +},disableDnd:function(jq){ +return jq.each(function(){ +_eb(this); +}); +},beginEdit:function(jq,_1b8){ +return jq.each(function(){ +_18d(this,_1b8); +}); +},endEdit:function(jq,_1b9){ +return jq.each(function(){ +_192(this,_1b9); +}); +},cancelEdit:function(jq,_1ba){ +return jq.each(function(){ +_196(this,_1ba); +}); +},doFilter:function(jq,q){ +return jq.each(function(){ +_199(this,q); +}); +}}; +$.fn.tree.parseOptions=function(_1bb){ +var t=$(_1bb); +return $.extend({},$.parser.parseOptions(_1bb,["url","method",{checkbox:"boolean",cascadeCheck:"boolean",onlyLeafCheck:"boolean"},{animate:"boolean",lines:"boolean",dnd:"boolean"}])); +}; +$.fn.tree.parseData=function(_1bc){ +var data=[]; +_1bd(data,$(_1bc)); +return data; +function _1bd(aa,tree){ +tree.children("li").each(function(){ +var node=$(this); +var item=$.extend({},$.parser.parseOptions(this,["id","iconCls","state"]),{checked:(node.attr("checked")?true:undefined)}); +item.text=node.children("span").html(); +if(!item.text){ +item.text=node.html(); +} +var _1be=node.children("ul"); +if(_1be.length){ +item.children=[]; +_1bd(item.children,_1be); +} +aa.push(item); +}); +}; +}; +var _1bf=1; +var _1c0={render:function(_1c1,ul,data){ +var _1c2=$.data(_1c1,"tree"); +var opts=_1c2.options; +var _1c3=$(ul).prev(".tree-node"); +var _1c4=_1c3.length?$(_1c1).tree("getNode",_1c3[0]):null; +var _1c5=_1c3.find("span.tree-indent, span.tree-hit").length; +var cc=_1c6.call(this,_1c5,data); +$(ul).append(cc.join("")); +function _1c6(_1c7,_1c8){ +var cc=[]; +for(var i=0;i<_1c8.length;i++){ +var item=_1c8[i]; +if(item.state!="open"&&item.state!="closed"){ +item.state="open"; +} +item.domId="_easyui_tree_"+_1bf++; +cc.push("
    • "); +cc.push("
      "); +for(var j=0;j<_1c7;j++){ +cc.push(""); +} +if(item.state=="closed"){ +cc.push(""); +cc.push(""); +}else{ +if(item.children&&item.children.length){ +cc.push(""); +cc.push(""); +}else{ +cc.push(""); +cc.push(""); +} +} +if(this.hasCheckbox(_1c1,item)){ +var flag=0; +if(_1c4&&_1c4.checkState=="checked"&&opts.cascadeCheck){ +flag=1; +item.checked=true; +}else{ +if(item.checked){ +$.easyui.addArrayItem(_1c2.tmpIds,item.domId); +} +} +item.checkState=flag?"checked":"unchecked"; +cc.push(""); +}else{ +item.checkState=undefined; +item.checked=undefined; +} +cc.push(""+opts.formatter.call(_1c1,item)+""); +cc.push("
      "); +if(item.children&&item.children.length){ +var tmp=_1c6.call(this,_1c7+1,item.children); +cc.push("
        "); +cc=cc.concat(tmp); +cc.push("
      "); +} +cc.push("
    • "); +} +return cc; +}; +},hasCheckbox:function(_1c9,item){ +var _1ca=$.data(_1c9,"tree"); +var opts=_1ca.options; +if(opts.checkbox){ +if($.isFunction(opts.checkbox)){ +if(opts.checkbox.call(_1c9,item)){ +return true; +}else{ +return false; +} +}else{ +if(opts.onlyLeafCheck){ +if(item.state=="open"&&!(item.children&&item.children.length)){ +return true; +} +}else{ +return true; +} +} +} +return false; +}}; +$.fn.tree.defaults={url:null,method:"post",animate:false,checkbox:false,cascadeCheck:true,onlyLeafCheck:false,lines:false,dnd:false,data:null,queryParams:{},formatter:function(node){ +return node.text; +},filter:function(q,node){ +var qq=[]; +$.map($.isArray(q)?q:[q],function(q){ +q=$.trim(q); +if(q){ +qq.push(q); +} +}); +for(var i=0;i=0){ +return true; +} +} +return !qq.length; +},loader:function(_1cc,_1cd,_1ce){ +var opts=$(this).tree("options"); +if(!opts.url){ +return false; +} +$.ajax({type:opts.method,url:opts.url,data:_1cc,dataType:"json",success:function(data){ +_1cd(data); +},error:function(){ +_1ce.apply(this,arguments); +}}); +},loadFilter:function(data,_1cf){ +return data; +},view:_1c0,onBeforeLoad:function(node,_1d0){ +},onLoadSuccess:function(node,data){ +},onLoadError:function(){ +},onClick:function(node){ +},onDblClick:function(node){ +},onBeforeExpand:function(node){ +},onExpand:function(node){ +},onBeforeCollapse:function(node){ +},onCollapse:function(node){ +},onBeforeCheck:function(node,_1d1){ +},onCheck:function(node,_1d2){ +},onBeforeSelect:function(node){ +},onSelect:function(node){ +},onContextMenu:function(e,node){ +},onBeforeDrag:function(node){ +},onStartDrag:function(node){ +},onStopDrag:function(node){ +},onDragEnter:function(_1d3,_1d4){ +},onDragOver:function(_1d5,_1d6){ +},onDragLeave:function(_1d7,_1d8){ +},onBeforeDrop:function(_1d9,_1da,_1db){ +},onDrop:function(_1dc,_1dd,_1de){ +},onBeforeEdit:function(node){ +},onAfterEdit:function(node){ +},onCancelEdit:function(node){ +}}; +})(jQuery); +(function($){ +function init(_1df){ +$(_1df).addClass("progressbar"); +$(_1df).html("
      "); +$(_1df).bind("_resize",function(e,_1e0){ +if($(this).hasClass("easyui-fluid")||_1e0){ +_1e1(_1df); +} +return false; +}); +return $(_1df); +}; +function _1e1(_1e2,_1e3){ +var opts=$.data(_1e2,"progressbar").options; +var bar=$.data(_1e2,"progressbar").bar; +if(_1e3){ +opts.width=_1e3; +} +bar._size(opts); +bar.find("div.progressbar-text").css("width",bar.width()); +bar.find("div.progressbar-text,div.progressbar-value").css({height:bar.height()+"px",lineHeight:bar.height()+"px"}); +}; +$.fn.progressbar=function(_1e4,_1e5){ +if(typeof _1e4=="string"){ +var _1e6=$.fn.progressbar.methods[_1e4]; +if(_1e6){ +return _1e6(this,_1e5); +} +} +_1e4=_1e4||{}; +return this.each(function(){ +var _1e7=$.data(this,"progressbar"); +if(_1e7){ +$.extend(_1e7.options,_1e4); +}else{ +_1e7=$.data(this,"progressbar",{options:$.extend({},$.fn.progressbar.defaults,$.fn.progressbar.parseOptions(this),_1e4),bar:init(this)}); +} +$(this).progressbar("setValue",_1e7.options.value); +_1e1(this); +}); +}; +$.fn.progressbar.methods={options:function(jq){ +return $.data(jq[0],"progressbar").options; +},resize:function(jq,_1e8){ +return jq.each(function(){ +_1e1(this,_1e8); +}); +},getValue:function(jq){ +return $.data(jq[0],"progressbar").options.value; +},setValue:function(jq,_1e9){ +if(_1e9<0){ +_1e9=0; +} +if(_1e9>100){ +_1e9=100; +} +return jq.each(function(){ +var opts=$.data(this,"progressbar").options; +var text=opts.text.replace(/{value}/,_1e9); +var _1ea=opts.value; +opts.value=_1e9; +$(this).find("div.progressbar-value").width(_1e9+"%"); +$(this).find("div.progressbar-text").html(text); +if(_1ea!=_1e9){ +opts.onChange.call(this,_1e9,_1ea); +} +}); +}}; +$.fn.progressbar.parseOptions=function(_1eb){ +return $.extend({},$.parser.parseOptions(_1eb,["width","height","text",{value:"number"}])); +}; +$.fn.progressbar.defaults={width:"auto",height:22,value:0,text:"{value}%",onChange:function(_1ec,_1ed){ +}}; +})(jQuery); +(function($){ +function init(_1ee){ +$(_1ee).addClass("tooltip-f"); +}; +function _1ef(_1f0){ +var opts=$.data(_1f0,"tooltip").options; +$(_1f0).unbind(".tooltip").bind(opts.showEvent+".tooltip",function(e){ +$(_1f0).tooltip("show",e); +}).bind(opts.hideEvent+".tooltip",function(e){ +$(_1f0).tooltip("hide",e); +}).bind("mousemove.tooltip",function(e){ +if(opts.trackMouse){ +opts.trackMouseX=e.pageX; +opts.trackMouseY=e.pageY; +$(_1f0).tooltip("reposition"); +} +}); +}; +function _1f1(_1f2){ +var _1f3=$.data(_1f2,"tooltip"); +if(_1f3.showTimer){ +clearTimeout(_1f3.showTimer); +_1f3.showTimer=null; +} +if(_1f3.hideTimer){ +clearTimeout(_1f3.hideTimer); +_1f3.hideTimer=null; +} +}; +function _1f4(_1f5){ +var _1f6=$.data(_1f5,"tooltip"); +if(!_1f6||!_1f6.tip){ +return; +} +var opts=_1f6.options; +var tip=_1f6.tip; +var pos={left:-100000,top:-100000}; +if($(_1f5).is(":visible")){ +pos=_1f7(opts.position); +if(opts.position=="top"&&pos.top<0){ +pos=_1f7("bottom"); +}else{ +if((opts.position=="bottom")&&(pos.top+tip._outerHeight()>$(window)._outerHeight()+$(document).scrollTop())){ +pos=_1f7("top"); +} +} +if(pos.left<0){ +if(opts.position=="left"){ +pos=_1f7("right"); +}else{ +$(_1f5).tooltip("arrow").css("left",tip._outerWidth()/2+pos.left); +pos.left=0; +} +}else{ +if(pos.left+tip._outerWidth()>$(window)._outerWidth()+$(document)._scrollLeft()){ +if(opts.position=="right"){ +pos=_1f7("left"); +}else{ +var left=pos.left; +pos.left=$(window)._outerWidth()+$(document)._scrollLeft()-tip._outerWidth(); +$(_1f5).tooltip("arrow").css("left",tip._outerWidth()/2-(pos.left-left)); +} +} +} +} +tip.css({left:pos.left,top:pos.top,zIndex:(opts.zIndex!=undefined?opts.zIndex:($.fn.window?$.fn.window.defaults.zIndex++:""))}); +opts.onPosition.call(_1f5,pos.left,pos.top); +function _1f7(_1f8){ +opts.position=_1f8||"bottom"; +tip.removeClass("tooltip-top tooltip-bottom tooltip-left tooltip-right").addClass("tooltip-"+opts.position); +var left,top; +var _1f9=$.isFunction(opts.deltaX)?opts.deltaX.call(_1f5,opts.position):opts.deltaX; +var _1fa=$.isFunction(opts.deltaY)?opts.deltaY.call(_1f5,opts.position):opts.deltaY; +if(opts.trackMouse){ +t=$(); +left=opts.trackMouseX+_1f9; +top=opts.trackMouseY+_1fa; +}else{ +var t=$(_1f5); +left=t.offset().left+_1f9; +top=t.offset().top+_1fa; +} +switch(opts.position){ +case "right": +left+=t._outerWidth()+12+(opts.trackMouse?12:0); +top-=(tip._outerHeight()-t._outerHeight())/2; +break; +case "left": +left-=tip._outerWidth()+12+(opts.trackMouse?12:0); +top-=(tip._outerHeight()-t._outerHeight())/2; +break; +case "top": +left-=(tip._outerWidth()-t._outerWidth())/2; +top-=tip._outerHeight()+12+(opts.trackMouse?12:0); +break; +case "bottom": +left-=(tip._outerWidth()-t._outerWidth())/2; +top+=t._outerHeight()+12+(opts.trackMouse?12:0); +break; +} +return {left:left,top:top}; +}; +}; +function _1fb(_1fc,e){ +var _1fd=$.data(_1fc,"tooltip"); +var opts=_1fd.options; +var tip=_1fd.tip; +if(!tip){ +tip=$("
      "+"
      "+"
      "+"
      "+"
      ").appendTo("body"); +_1fd.tip=tip; +_1fe(_1fc); +} +_1f1(_1fc); +_1fd.showTimer=setTimeout(function(){ +$(_1fc).tooltip("reposition"); +tip.show(); +opts.onShow.call(_1fc,e); +var _1ff=tip.children(".tooltip-arrow-outer"); +var _200=tip.children(".tooltip-arrow"); +var bc="border-"+opts.position+"-color"; +_1ff.add(_200).css({borderTopColor:"",borderBottomColor:"",borderLeftColor:"",borderRightColor:""}); +_1ff.css(bc,tip.css(bc)); +_200.css(bc,tip.css("backgroundColor")); +},opts.showDelay); +}; +function _201(_202,e){ +var _203=$.data(_202,"tooltip"); +if(_203&&_203.tip){ +_1f1(_202); +_203.hideTimer=setTimeout(function(){ +_203.tip.hide(); +_203.options.onHide.call(_202,e); +},_203.options.hideDelay); +} +}; +function _1fe(_204,_205){ +var _206=$.data(_204,"tooltip"); +var opts=_206.options; +if(_205){ +opts.content=_205; +} +if(!_206.tip){ +return; +} +var cc=typeof opts.content=="function"?opts.content.call(_204):opts.content; +_206.tip.children(".tooltip-content").html(cc); +opts.onUpdate.call(_204,cc); +}; +function _207(_208){ +var _209=$.data(_208,"tooltip"); +if(_209){ +_1f1(_208); +var opts=_209.options; +if(_209.tip){ +_209.tip.remove(); +} +if(opts._title){ +$(_208).attr("title",opts._title); +} +$.removeData(_208,"tooltip"); +$(_208).unbind(".tooltip").removeClass("tooltip-f"); +opts.onDestroy.call(_208); +} +}; +$.fn.tooltip=function(_20a,_20b){ +if(typeof _20a=="string"){ +return $.fn.tooltip.methods[_20a](this,_20b); +} +_20a=_20a||{}; +return this.each(function(){ +var _20c=$.data(this,"tooltip"); +if(_20c){ +$.extend(_20c.options,_20a); +}else{ +$.data(this,"tooltip",{options:$.extend({},$.fn.tooltip.defaults,$.fn.tooltip.parseOptions(this),_20a)}); +init(this); +} +_1ef(this); +_1fe(this); +}); +}; +$.fn.tooltip.methods={options:function(jq){ +return $.data(jq[0],"tooltip").options; +},tip:function(jq){ +return $.data(jq[0],"tooltip").tip; +},arrow:function(jq){ +return jq.tooltip("tip").children(".tooltip-arrow-outer,.tooltip-arrow"); +},show:function(jq,e){ +return jq.each(function(){ +_1fb(this,e); +}); +},hide:function(jq,e){ +return jq.each(function(){ +_201(this,e); +}); +},update:function(jq,_20d){ +return jq.each(function(){ +_1fe(this,_20d); +}); +},reposition:function(jq){ +return jq.each(function(){ +_1f4(this); +}); +},destroy:function(jq){ +return jq.each(function(){ +_207(this); +}); +}}; +$.fn.tooltip.parseOptions=function(_20e){ +var t=$(_20e); +var opts=$.extend({},$.parser.parseOptions(_20e,["position","showEvent","hideEvent","content",{trackMouse:"boolean",deltaX:"number",deltaY:"number",showDelay:"number",hideDelay:"number"}]),{_title:t.attr("title")}); +t.attr("title",""); +if(!opts.content){ +opts.content=opts._title; +} +return opts; +}; +$.fn.tooltip.defaults={position:"bottom",content:null,trackMouse:false,deltaX:0,deltaY:0,showEvent:"mouseenter",hideEvent:"mouseleave",showDelay:200,hideDelay:100,onShow:function(e){ +},onHide:function(e){ +},onUpdate:function(_20f){ +},onPosition:function(left,top){ +},onDestroy:function(){ +}}; +})(jQuery); +(function($){ +$.fn._remove=function(){ +return this.each(function(){ +$(this).remove(); +try{ +this.outerHTML=""; +} +catch(err){ +} +}); +}; +function _210(node){ +node._remove(); +}; +function _211(_212,_213){ +var _214=$.data(_212,"panel"); +var opts=_214.options; +var _215=_214.panel; +var _216=_215.children(".panel-header"); +var _217=_215.children(".panel-body"); +var _218=_215.children(".panel-footer"); +var _219=(opts.halign=="left"||opts.halign=="right"); +if(_213){ +$.extend(opts,{width:_213.width,height:_213.height,minWidth:_213.minWidth,maxWidth:_213.maxWidth,minHeight:_213.minHeight,maxHeight:_213.maxHeight,left:_213.left,top:_213.top}); +} +_215._size(opts); +if(!_219){ +_216._outerWidth(_215.width()); +} +_217._outerWidth(_215.width()); +if(!isNaN(parseInt(opts.height))){ +if(_219){ +if(opts.header){ +var _21a=$(opts.header)._outerWidth(); +}else{ +_216.css("width",""); +var _21a=_216._outerWidth(); +} +var _21b=_216.find(".panel-title"); +_21a+=Math.min(_21b._outerWidth(),_21b._outerHeight()); +var _21c=_215.height(); +_216._outerWidth(_21a)._outerHeight(_21c); +_21b._outerWidth(_216.height()); +_217._outerWidth(_215.width()-_21a-_218._outerWidth())._outerHeight(_21c); +_218._outerHeight(_21c); +_217.css({left:"",right:""}).css(opts.halign,(_216.position()[opts.halign]+_21a)+"px"); +opts.panelCssWidth=_215.css("width"); +if(opts.collapsed){ +_215._outerWidth(_21a+_218._outerWidth()); +} +}else{ +_217._outerHeight(_215.height()-_216._outerHeight()-_218._outerHeight()); +} +}else{ +_217.css("height",""); +var min=$.parser.parseValue("minHeight",opts.minHeight,_215.parent()); +var max=$.parser.parseValue("maxHeight",opts.maxHeight,_215.parent()); +var _21d=_216._outerHeight()+_218._outerHeight()+_215._outerHeight()-_215.height(); +_217._size("minHeight",min?(min-_21d):""); +_217._size("maxHeight",max?(max-_21d):""); +} +_215.css({height:(_219?undefined:""),minHeight:"",maxHeight:"",left:opts.left,top:opts.top}); +opts.onResize.apply(_212,[opts.width,opts.height]); +$(_212).panel("doLayout"); +}; +function _21e(_21f,_220){ +var _221=$.data(_21f,"panel"); +var opts=_221.options; +var _222=_221.panel; +if(_220){ +if(_220.left!=null){ +opts.left=_220.left; +} +if(_220.top!=null){ +opts.top=_220.top; +} +} +_222.css({left:opts.left,top:opts.top}); +_222.find(".tooltip-f").each(function(){ +$(this).tooltip("reposition"); +}); +opts.onMove.apply(_21f,[opts.left,opts.top]); +}; +function _223(_224){ +$(_224).addClass("panel-body")._size("clear"); +var _225=$("
      ").insertBefore(_224); +_225[0].appendChild(_224); +_225.bind("_resize",function(e,_226){ +if($(this).hasClass("easyui-fluid")||_226){ +_211(_224); +} +return false; +}); +return _225; +}; +function _227(_228){ +var _229=$.data(_228,"panel"); +var opts=_229.options; +var _22a=_229.panel; +_22a.css(opts.style); +_22a.addClass(opts.cls); +_22a.removeClass("panel-hleft panel-hright").addClass("panel-h"+opts.halign); +_22b(); +_22c(); +var _22d=$(_228).panel("header"); +var body=$(_228).panel("body"); +var _22e=$(_228).siblings(".panel-footer"); +if(opts.border){ +_22d.removeClass("panel-header-noborder"); +body.removeClass("panel-body-noborder"); +_22e.removeClass("panel-footer-noborder"); +}else{ +_22d.addClass("panel-header-noborder"); +body.addClass("panel-body-noborder"); +_22e.addClass("panel-footer-noborder"); +} +_22d.addClass(opts.headerCls); +body.addClass(opts.bodyCls); +$(_228).attr("id",opts.id||""); +if(opts.content){ +$(_228).panel("clear"); +$(_228).html(opts.content); +$.parser.parse($(_228)); +} +function _22b(){ +if(opts.noheader||(!opts.title&&!opts.header)){ +_210(_22a.children(".panel-header")); +_22a.children(".panel-body").addClass("panel-body-noheader"); +}else{ +if(opts.header){ +$(opts.header).addClass("panel-header").prependTo(_22a); +}else{ +var _22f=_22a.children(".panel-header"); +if(!_22f.length){ +_22f=$("
      ").prependTo(_22a); +} +if(!$.isArray(opts.tools)){ +_22f.find("div.panel-tool .panel-tool-a").appendTo(opts.tools); +} +_22f.empty(); +var _230=$("
      ").html(opts.title).appendTo(_22f); +if(opts.iconCls){ +_230.addClass("panel-with-icon"); +$("
      ").addClass(opts.iconCls).appendTo(_22f); +} +if(opts.halign=="left"||opts.halign=="right"){ +_230.addClass("panel-title-"+opts.titleDirection); +} +var tool=$("
      ").appendTo(_22f); +tool.bind("click",function(e){ +e.stopPropagation(); +}); +if(opts.tools){ +if($.isArray(opts.tools)){ +$.map(opts.tools,function(t){ +_231(tool,t.iconCls,eval(t.handler)); +}); +}else{ +$(opts.tools).children().each(function(){ +$(this).addClass($(this).attr("iconCls")).addClass("panel-tool-a").appendTo(tool); +}); +} +} +if(opts.collapsible){ +_231(tool,"panel-tool-collapse",function(){ +if(opts.collapsed==true){ +_251(_228,true); +}else{ +_242(_228,true); +} +}); +} +if(opts.minimizable){ +_231(tool,"panel-tool-min",function(){ +_257(_228); +}); +} +if(opts.maximizable){ +_231(tool,"panel-tool-max",function(){ +if(opts.maximized==true){ +_25a(_228); +}else{ +_241(_228); +} +}); +} +if(opts.closable){ +_231(tool,"panel-tool-close",function(){ +_243(_228); +}); +} +} +_22a.children("div.panel-body").removeClass("panel-body-noheader"); +} +}; +function _231(c,icon,_232){ +var a=$("").addClass(icon).appendTo(c); +a.bind("click",_232); +}; +function _22c(){ +if(opts.footer){ +$(opts.footer).addClass("panel-footer").appendTo(_22a); +$(_228).addClass("panel-body-nobottom"); +}else{ +_22a.children(".panel-footer").remove(); +$(_228).removeClass("panel-body-nobottom"); +} +}; +}; +function _233(_234,_235){ +var _236=$.data(_234,"panel"); +var opts=_236.options; +if(_237){ +opts.queryParams=_235; +} +if(!opts.href){ +return; +} +if(!_236.isLoaded||!opts.cache){ +var _237=$.extend({},opts.queryParams); +if(opts.onBeforeLoad.call(_234,_237)==false){ +return; +} +_236.isLoaded=false; +if(opts.loadingMessage){ +$(_234).panel("clear"); +$(_234).html($("
      ").html(opts.loadingMessage)); +} +opts.loader.call(_234,_237,function(data){ +var _238=opts.extractor.call(_234,data); +$(_234).panel("clear"); +$(_234).html(_238); +$.parser.parse($(_234)); +opts.onLoad.apply(_234,arguments); +_236.isLoaded=true; +},function(){ +opts.onLoadError.apply(_234,arguments); +}); +} +}; +function _239(_23a){ +var t=$(_23a); +t.find(".combo-f").each(function(){ +$(this).combo("destroy"); +}); +t.find(".m-btn").each(function(){ +$(this).menubutton("destroy"); +}); +t.find(".s-btn").each(function(){ +$(this).splitbutton("destroy"); +}); +t.find(".tooltip-f").each(function(){ +$(this).tooltip("destroy"); +}); +t.children("div").each(function(){ +$(this)._size("unfit"); +}); +t.empty(); +}; +function _23b(_23c){ +$(_23c).panel("doLayout",true); +}; +function _23d(_23e,_23f){ +var opts=$.data(_23e,"panel").options; +var _240=$.data(_23e,"panel").panel; +if(_23f!=true){ +if(opts.onBeforeOpen.call(_23e)==false){ +return; +} +} +_240.stop(true,true); +if($.isFunction(opts.openAnimation)){ +opts.openAnimation.call(_23e,cb); +}else{ +switch(opts.openAnimation){ +case "slide": +_240.slideDown(opts.openDuration,cb); +break; +case "fade": +_240.fadeIn(opts.openDuration,cb); +break; +case "show": +_240.show(opts.openDuration,cb); +break; +default: +_240.show(); +cb(); +} +} +function cb(){ +opts.closed=false; +opts.minimized=false; +var tool=_240.children(".panel-header").find("a.panel-tool-restore"); +if(tool.length){ +opts.maximized=true; +} +opts.onOpen.call(_23e); +if(opts.maximized==true){ +opts.maximized=false; +_241(_23e); +} +if(opts.collapsed==true){ +opts.collapsed=false; +_242(_23e); +} +if(!opts.collapsed){ +_233(_23e); +_23b(_23e); +} +}; +}; +function _243(_244,_245){ +var _246=$.data(_244,"panel"); +var opts=_246.options; +var _247=_246.panel; +if(_245!=true){ +if(opts.onBeforeClose.call(_244)==false){ +return; +} +} +_247.find(".tooltip-f").each(function(){ +$(this).tooltip("hide"); +}); +_247.stop(true,true); +_247._size("unfit"); +if($.isFunction(opts.closeAnimation)){ +opts.closeAnimation.call(_244,cb); +}else{ +switch(opts.closeAnimation){ +case "slide": +_247.slideUp(opts.closeDuration,cb); +break; +case "fade": +_247.fadeOut(opts.closeDuration,cb); +break; +case "hide": +_247.hide(opts.closeDuration,cb); +break; +default: +_247.hide(); +cb(); +} +} +function cb(){ +opts.closed=true; +opts.onClose.call(_244); +}; +}; +function _248(_249,_24a){ +var _24b=$.data(_249,"panel"); +var opts=_24b.options; +var _24c=_24b.panel; +if(_24a!=true){ +if(opts.onBeforeDestroy.call(_249)==false){ +return; +} +} +$(_249).panel("clear").panel("clear","footer"); +_210(_24c); +opts.onDestroy.call(_249); +}; +function _242(_24d,_24e){ +var opts=$.data(_24d,"panel").options; +var _24f=$.data(_24d,"panel").panel; +var body=_24f.children(".panel-body"); +var _250=_24f.children(".panel-header"); +var tool=_250.find("a.panel-tool-collapse"); +if(opts.collapsed==true){ +return; +} +body.stop(true,true); +if(opts.onBeforeCollapse.call(_24d)==false){ +return; +} +tool.addClass("panel-tool-expand"); +if(_24e==true){ +if(opts.halign=="left"||opts.halign=="right"){ +_24f.animate({width:_250._outerWidth()+_24f.children(".panel-footer")._outerWidth()},function(){ +cb(); +}); +}else{ +body.slideUp("normal",function(){ +cb(); +}); +} +}else{ +if(opts.halign=="left"||opts.halign=="right"){ +_24f._outerWidth(_250._outerWidth()+_24f.children(".panel-footer")._outerWidth()); +} +cb(); +} +function cb(){ +body.hide(); +opts.collapsed=true; +opts.onCollapse.call(_24d); +}; +}; +function _251(_252,_253){ +var opts=$.data(_252,"panel").options; +var _254=$.data(_252,"panel").panel; +var body=_254.children(".panel-body"); +var tool=_254.children(".panel-header").find("a.panel-tool-collapse"); +if(opts.collapsed==false){ +return; +} +body.stop(true,true); +if(opts.onBeforeExpand.call(_252)==false){ +return; +} +tool.removeClass("panel-tool-expand"); +if(_253==true){ +if(opts.halign=="left"||opts.halign=="right"){ +body.show(); +_254.animate({width:opts.panelCssWidth},function(){ +cb(); +}); +}else{ +body.slideDown("normal",function(){ +cb(); +}); +} +}else{ +if(opts.halign=="left"||opts.halign=="right"){ +_254.css("width",opts.panelCssWidth); +} +cb(); +} +function cb(){ +body.show(); +opts.collapsed=false; +opts.onExpand.call(_252); +_233(_252); +_23b(_252); +}; +}; +function _241(_255){ +var opts=$.data(_255,"panel").options; +var _256=$.data(_255,"panel").panel; +var tool=_256.children(".panel-header").find("a.panel-tool-max"); +if(opts.maximized==true){ +return; +} +tool.addClass("panel-tool-restore"); +if(!$.data(_255,"panel").original){ +$.data(_255,"panel").original={width:opts.width,height:opts.height,left:opts.left,top:opts.top,fit:opts.fit}; +} +opts.left=0; +opts.top=0; +opts.fit=true; +_211(_255); +opts.minimized=false; +opts.maximized=true; +opts.onMaximize.call(_255); +}; +function _257(_258){ +var opts=$.data(_258,"panel").options; +var _259=$.data(_258,"panel").panel; +_259._size("unfit"); +_259.hide(); +opts.minimized=true; +opts.maximized=false; +opts.onMinimize.call(_258); +}; +function _25a(_25b){ +var opts=$.data(_25b,"panel").options; +var _25c=$.data(_25b,"panel").panel; +var tool=_25c.children(".panel-header").find("a.panel-tool-max"); +if(opts.maximized==false){ +return; +} +_25c.show(); +tool.removeClass("panel-tool-restore"); +$.extend(opts,$.data(_25b,"panel").original); +_211(_25b); +opts.minimized=false; +opts.maximized=false; +$.data(_25b,"panel").original=null; +opts.onRestore.call(_25b); +}; +function _25d(_25e,_25f){ +$.data(_25e,"panel").options.title=_25f; +$(_25e).panel("header").find("div.panel-title").html(_25f); +}; +var _260=null; +$(window).unbind(".panel").bind("resize.panel",function(){ +if(_260){ +clearTimeout(_260); +} +_260=setTimeout(function(){ +var _261=$("body.layout"); +if(_261.length){ +_261.layout("resize"); +$("body").children(".easyui-fluid:visible").each(function(){ +$(this).triggerHandler("_resize"); +}); +}else{ +$("body").panel("doLayout"); +} +_260=null; +},100); +}); +$.fn.panel=function(_262,_263){ +if(typeof _262=="string"){ +return $.fn.panel.methods[_262](this,_263); +} +_262=_262||{}; +return this.each(function(){ +var _264=$.data(this,"panel"); +var opts; +if(_264){ +opts=$.extend(_264.options,_262); +_264.isLoaded=false; +}else{ +opts=$.extend({},$.fn.panel.defaults,$.fn.panel.parseOptions(this),_262); +$(this).attr("title",""); +_264=$.data(this,"panel",{options:opts,panel:_223(this),isLoaded:false}); +} +_227(this); +$(this).show(); +if(opts.doSize==true){ +_264.panel.css("display","block"); +_211(this); +} +if(opts.closed==true||opts.minimized==true){ +_264.panel.hide(); +}else{ +_23d(this); +} +}); +}; +$.fn.panel.methods={options:function(jq){ +return $.data(jq[0],"panel").options; +},panel:function(jq){ +return $.data(jq[0],"panel").panel; +},header:function(jq){ +return $.data(jq[0],"panel").panel.children(".panel-header"); +},footer:function(jq){ +return jq.panel("panel").children(".panel-footer"); +},body:function(jq){ +return $.data(jq[0],"panel").panel.children(".panel-body"); +},setTitle:function(jq,_265){ +return jq.each(function(){ +_25d(this,_265); +}); +},open:function(jq,_266){ +return jq.each(function(){ +_23d(this,_266); +}); +},close:function(jq,_267){ +return jq.each(function(){ +_243(this,_267); +}); +},destroy:function(jq,_268){ +return jq.each(function(){ +_248(this,_268); +}); +},clear:function(jq,type){ +return jq.each(function(){ +_239(type=="footer"?$(this).panel("footer"):this); +}); +},refresh:function(jq,href){ +return jq.each(function(){ +var _269=$.data(this,"panel"); +_269.isLoaded=false; +if(href){ +if(typeof href=="string"){ +_269.options.href=href; +}else{ +_269.options.queryParams=href; +} +} +_233(this); +}); +},resize:function(jq,_26a){ +return jq.each(function(){ +_211(this,_26a); +}); +},doLayout:function(jq,all){ +return jq.each(function(){ +_26b(this,"body"); +_26b($(this).siblings(".panel-footer")[0],"footer"); +function _26b(_26c,type){ +if(!_26c){ +return; +} +var _26d=_26c==$("body")[0]; +var s=$(_26c).find("div.panel:visible,div.accordion:visible,div.tabs-container:visible,div.layout:visible,.easyui-fluid:visible").filter(function(_26e,el){ +var p=$(el).parents(".panel-"+type+":first"); +return _26d?p.length==0:p[0]==_26c; +}); +s.each(function(){ +$(this).triggerHandler("_resize",[all||false]); +}); +}; +}); +},move:function(jq,_26f){ +return jq.each(function(){ +_21e(this,_26f); +}); +},maximize:function(jq){ +return jq.each(function(){ +_241(this); +}); +},minimize:function(jq){ +return jq.each(function(){ +_257(this); +}); +},restore:function(jq){ +return jq.each(function(){ +_25a(this); +}); +},collapse:function(jq,_270){ +return jq.each(function(){ +_242(this,_270); +}); +},expand:function(jq,_271){ +return jq.each(function(){ +_251(this,_271); +}); +}}; +$.fn.panel.parseOptions=function(_272){ +var t=$(_272); +var hh=t.children(".panel-header,header"); +var ff=t.children(".panel-footer,footer"); +return $.extend({},$.parser.parseOptions(_272,["id","width","height","left","top","title","iconCls","cls","headerCls","bodyCls","tools","href","method","header","footer","halign","titleDirection",{cache:"boolean",fit:"boolean",border:"boolean",noheader:"boolean"},{collapsible:"boolean",minimizable:"boolean",maximizable:"boolean"},{closable:"boolean",collapsed:"boolean",minimized:"boolean",maximized:"boolean",closed:"boolean"},"openAnimation","closeAnimation",{openDuration:"number",closeDuration:"number"},]),{loadingMessage:(t.attr("loadingMessage")!=undefined?t.attr("loadingMessage"):undefined),header:(hh.length?hh.removeClass("panel-header"):undefined),footer:(ff.length?ff.removeClass("panel-footer"):undefined)}); +}; +$.fn.panel.defaults={id:null,title:null,iconCls:null,width:"auto",height:"auto",left:null,top:null,cls:null,headerCls:null,bodyCls:null,style:{},href:null,cache:true,fit:false,border:true,doSize:true,noheader:false,content:null,halign:"top",titleDirection:"down",collapsible:false,minimizable:false,maximizable:false,closable:false,collapsed:false,minimized:false,maximized:false,closed:false,openAnimation:false,openDuration:400,closeAnimation:false,closeDuration:400,tools:null,footer:null,header:null,queryParams:{},method:"get",href:null,loadingMessage:"Loading...",loader:function(_273,_274,_275){ +var opts=$(this).panel("options"); +if(!opts.href){ +return false; +} +$.ajax({type:opts.method,url:opts.href,cache:false,data:_273,dataType:"html",success:function(data){ +_274(data); +},error:function(){ +_275.apply(this,arguments); +}}); +},extractor:function(data){ +var _276=/]*>((.|[\n\r])*)<\/body>/im; +var _277=_276.exec(data); +if(_277){ +return _277[1]; +}else{ +return data; +} +},onBeforeLoad:function(_278){ +},onLoad:function(){ +},onLoadError:function(){ +},onBeforeOpen:function(){ +},onOpen:function(){ +},onBeforeClose:function(){ +},onClose:function(){ +},onBeforeDestroy:function(){ +},onDestroy:function(){ +},onResize:function(_279,_27a){ +},onMove:function(left,top){ +},onMaximize:function(){ +},onRestore:function(){ +},onMinimize:function(){ +},onBeforeCollapse:function(){ +},onBeforeExpand:function(){ +},onCollapse:function(){ +},onExpand:function(){ +}}; +})(jQuery); +(function($){ +function _27b(_27c,_27d){ +var _27e=$.data(_27c,"window"); +if(_27d){ +if(_27d.left!=null){ +_27e.options.left=_27d.left; +} +if(_27d.top!=null){ +_27e.options.top=_27d.top; +} +} +$(_27c).panel("move",_27e.options); +if(_27e.shadow){ +_27e.shadow.css({left:_27e.options.left,top:_27e.options.top}); +} +}; +function _27f(_280,_281){ +var opts=$.data(_280,"window").options; +var pp=$(_280).window("panel"); +var _282=pp._outerWidth(); +if(opts.inline){ +var _283=pp.parent(); +opts.left=Math.ceil((_283.width()-_282)/2+_283.scrollLeft()); +}else{ +opts.left=Math.ceil(($(window)._outerWidth()-_282)/2+$(document).scrollLeft()); +} +if(_281){ +_27b(_280); +} +}; +function _284(_285,_286){ +var opts=$.data(_285,"window").options; +var pp=$(_285).window("panel"); +var _287=pp._outerHeight(); +if(opts.inline){ +var _288=pp.parent(); +opts.top=Math.ceil((_288.height()-_287)/2+_288.scrollTop()); +}else{ +opts.top=Math.ceil(($(window)._outerHeight()-_287)/2+$(document).scrollTop()); +} +if(_286){ +_27b(_285); +} +}; +function _289(_28a){ +var _28b=$.data(_28a,"window"); +var opts=_28b.options; +var win=$(_28a).panel($.extend({},_28b.options,{border:false,doSize:true,closed:true,cls:"window "+(!opts.border?"window-thinborder window-noborder ":(opts.border=="thin"?"window-thinborder ":""))+(opts.cls||""),headerCls:"window-header "+(opts.headerCls||""),bodyCls:"window-body "+(opts.noheader?"window-body-noheader ":" ")+(opts.bodyCls||""),onBeforeDestroy:function(){ +if(opts.onBeforeDestroy.call(_28a)==false){ +return false; +} +if(_28b.shadow){ +_28b.shadow.remove(); +} +if(_28b.mask){ +_28b.mask.remove(); +} +},onClose:function(){ +if(_28b.shadow){ +_28b.shadow.hide(); +} +if(_28b.mask){ +_28b.mask.hide(); +} +opts.onClose.call(_28a); +},onOpen:function(){ +if(_28b.mask){ +_28b.mask.css($.extend({display:"block",zIndex:$.fn.window.defaults.zIndex++},$.fn.window.getMaskSize(_28a))); +} +if(_28b.shadow){ +_28b.shadow.css({display:"block",zIndex:$.fn.window.defaults.zIndex++,left:opts.left,top:opts.top,width:_28b.window._outerWidth(),height:_28b.window._outerHeight()}); +} +_28b.window.css("z-index",$.fn.window.defaults.zIndex++); +opts.onOpen.call(_28a); +},onResize:function(_28c,_28d){ +var _28e=$(this).panel("options"); +$.extend(opts,{width:_28e.width,height:_28e.height,left:_28e.left,top:_28e.top}); +if(_28b.shadow){ +_28b.shadow.css({left:opts.left,top:opts.top,width:_28b.window._outerWidth(),height:_28b.window._outerHeight()}); +} +opts.onResize.call(_28a,_28c,_28d); +},onMinimize:function(){ +if(_28b.shadow){ +_28b.shadow.hide(); +} +if(_28b.mask){ +_28b.mask.hide(); +} +_28b.options.onMinimize.call(_28a); +},onBeforeCollapse:function(){ +if(opts.onBeforeCollapse.call(_28a)==false){ +return false; +} +if(_28b.shadow){ +_28b.shadow.hide(); +} +},onExpand:function(){ +if(_28b.shadow){ +_28b.shadow.show(); +} +opts.onExpand.call(_28a); +}})); +_28b.window=win.panel("panel"); +if(_28b.mask){ +_28b.mask.remove(); +} +if(opts.modal){ +_28b.mask=$("
      ").insertAfter(_28b.window); +} +if(_28b.shadow){ +_28b.shadow.remove(); +} +if(opts.shadow){ +_28b.shadow=$("
      ").insertAfter(_28b.window); +} +var _28f=opts.closed; +if(opts.left==null){ +_27f(_28a); +} +if(opts.top==null){ +_284(_28a); +} +_27b(_28a); +if(!_28f){ +win.window("open"); +} +}; +function _290(left,top,_291,_292){ +var _293=this; +var _294=$.data(_293,"window"); +var opts=_294.options; +if(!opts.constrain){ +return {}; +} +if($.isFunction(opts.constrain)){ +return opts.constrain.call(_293,left,top,_291,_292); +} +var win=$(_293).window("window"); +var _295=opts.inline?win.parent():$(window); +if(left<0){ +left=0; +} +if(top<_295.scrollTop()){ +top=_295.scrollTop(); +} +if(left+_291>_295.width()){ +if(_291==win.outerWidth()){ +left=_295.width()-_291; +}else{ +_291=_295.width()-left; +} +} +if(top-_295.scrollTop()+_292>_295.height()){ +if(_292==win.outerHeight()){ +top=_295.height()-_292+_295.scrollTop(); +}else{ +_292=_295.height()-top+_295.scrollTop(); +} +} +return {left:left,top:top,width:_291,height:_292}; +}; +function _296(_297){ +var _298=$.data(_297,"window"); +_298.window.draggable({handle:">div.panel-header>div.panel-title",disabled:_298.options.draggable==false,onBeforeDrag:function(e){ +if(_298.mask){ +_298.mask.css("z-index",$.fn.window.defaults.zIndex++); +} +if(_298.shadow){ +_298.shadow.css("z-index",$.fn.window.defaults.zIndex++); +} +_298.window.css("z-index",$.fn.window.defaults.zIndex++); +},onStartDrag:function(e){ +_299(e); +},onDrag:function(e){ +_29a(e); +return false; +},onStopDrag:function(e){ +_29b(e,"move"); +}}); +_298.window.resizable({disabled:_298.options.resizable==false,onStartResize:function(e){ +_299(e); +},onResize:function(e){ +_29a(e); +return false; +},onStopResize:function(e){ +_29b(e,"resize"); +}}); +function _299(e){ +if(_298.pmask){ +_298.pmask.remove(); +} +_298.pmask=$("
      ").insertAfter(_298.window); +_298.pmask.css({display:"none",zIndex:$.fn.window.defaults.zIndex++,left:e.data.left,top:e.data.top,width:_298.window._outerWidth(),height:_298.window._outerHeight()}); +if(_298.proxy){ +_298.proxy.remove(); +} +_298.proxy=$("
      ").insertAfter(_298.window); +_298.proxy.css({display:"none",zIndex:$.fn.window.defaults.zIndex++,left:e.data.left,top:e.data.top}); +_298.proxy._outerWidth(e.data.width)._outerHeight(e.data.height); +_298.proxy.hide(); +setTimeout(function(){ +if(_298.pmask){ +_298.pmask.show(); +} +if(_298.proxy){ +_298.proxy.show(); +} +},500); +}; +function _29a(e){ +$.extend(e.data,_290.call(_297,e.data.left,e.data.top,e.data.width,e.data.height)); +_298.pmask.show(); +_298.proxy.css({display:"block",left:e.data.left,top:e.data.top}); +_298.proxy._outerWidth(e.data.width); +_298.proxy._outerHeight(e.data.height); +}; +function _29b(e,_29c){ +$.extend(e.data,_290.call(_297,e.data.left,e.data.top,e.data.width+0.1,e.data.height+0.1)); +$(_297).window(_29c,e.data); +_298.pmask.remove(); +_298.pmask=null; +_298.proxy.remove(); +_298.proxy=null; +}; +}; +$(function(){ +if(!$._positionFixed){ +$(window).resize(function(){ +$("body>div.window-mask:visible").css({width:"",height:""}); +setTimeout(function(){ +$("body>div.window-mask:visible").css($.fn.window.getMaskSize()); +},50); +}); +} +}); +$.fn.window=function(_29d,_29e){ +if(typeof _29d=="string"){ +var _29f=$.fn.window.methods[_29d]; +if(_29f){ +return _29f(this,_29e); +}else{ +return this.panel(_29d,_29e); +} +} +_29d=_29d||{}; +return this.each(function(){ +var _2a0=$.data(this,"window"); +if(_2a0){ +$.extend(_2a0.options,_29d); +}else{ +_2a0=$.data(this,"window",{options:$.extend({},$.fn.window.defaults,$.fn.window.parseOptions(this),_29d)}); +if(!_2a0.options.inline){ +document.body.appendChild(this); +} +} +_289(this); +_296(this); +}); +}; +$.fn.window.methods={options:function(jq){ +var _2a1=jq.panel("options"); +var _2a2=$.data(jq[0],"window").options; +return $.extend(_2a2,{closed:_2a1.closed,collapsed:_2a1.collapsed,minimized:_2a1.minimized,maximized:_2a1.maximized}); +},window:function(jq){ +return $.data(jq[0],"window").window; +},move:function(jq,_2a3){ +return jq.each(function(){ +_27b(this,_2a3); +}); +},hcenter:function(jq){ +return jq.each(function(){ +_27f(this,true); +}); +},vcenter:function(jq){ +return jq.each(function(){ +_284(this,true); +}); +},center:function(jq){ +return jq.each(function(){ +_27f(this); +_284(this); +_27b(this); +}); +}}; +$.fn.window.getMaskSize=function(_2a4){ +var _2a5=$(_2a4).data("window"); +if(_2a5&&_2a5.options.inline){ +return {}; +}else{ +if($._positionFixed){ +return {position:"fixed"}; +}else{ +return {width:$(document).width(),height:$(document).height()}; +} +} +}; +$.fn.window.parseOptions=function(_2a6){ +return $.extend({},$.fn.panel.parseOptions(_2a6),$.parser.parseOptions(_2a6,[{draggable:"boolean",resizable:"boolean",shadow:"boolean",modal:"boolean",inline:"boolean"}])); +}; +$.fn.window.defaults=$.extend({},$.fn.panel.defaults,{zIndex:9000,draggable:true,resizable:true,shadow:true,modal:false,border:true,inline:false,title:"New Window",collapsible:true,minimizable:true,maximizable:true,closable:true,closed:false,constrain:false}); +})(jQuery); +(function($){ +function _2a7(_2a8){ +var opts=$.data(_2a8,"dialog").options; +opts.inited=false; +$(_2a8).window($.extend({},opts,{onResize:function(w,h){ +if(opts.inited){ +_2ad(this); +opts.onResize.call(this,w,h); +} +}})); +var win=$(_2a8).window("window"); +if(opts.toolbar){ +if($.isArray(opts.toolbar)){ +$(_2a8).siblings("div.dialog-toolbar").remove(); +var _2a9=$("
      ").appendTo(win); +var tr=_2a9.find("tr"); +for(var i=0;i
      ").appendTo(tr); +}else{ +var td=$("").appendTo(tr); +var tool=$("").appendTo(td); +tool[0].onclick=eval(btn.handler||function(){ +}); +tool.linkbutton($.extend({},btn,{plain:true})); +} +} +}else{ +$(opts.toolbar).addClass("dialog-toolbar").appendTo(win); +$(opts.toolbar).show(); +} +}else{ +$(_2a8).siblings("div.dialog-toolbar").remove(); +} +if(opts.buttons){ +if($.isArray(opts.buttons)){ +$(_2a8).siblings("div.dialog-button").remove(); +var _2aa=$("
      ").appendTo(win); +for(var i=0;i").appendTo(_2aa); +if(p.handler){ +_2ab[0].onclick=p.handler; +} +_2ab.linkbutton(p); +} +}else{ +$(opts.buttons).addClass("dialog-button").appendTo(win); +$(opts.buttons).show(); +} +}else{ +$(_2a8).siblings("div.dialog-button").remove(); +} +opts.inited=true; +var _2ac=opts.closed; +win.show(); +$(_2a8).window("resize"); +if(_2ac){ +win.hide(); +} +}; +function _2ad(_2ae,_2af){ +var t=$(_2ae); +var opts=t.dialog("options"); +var _2b0=opts.noheader; +var tb=t.siblings(".dialog-toolbar"); +var bb=t.siblings(".dialog-button"); +tb.insertBefore(_2ae).css({borderTopWidth:(_2b0?1:0),top:(_2b0?tb.length:0)}); +bb.insertAfter(_2ae); +tb.add(bb)._outerWidth(t._outerWidth()).find(".easyui-fluid:visible").each(function(){ +$(this).triggerHandler("_resize"); +}); +var _2b1=tb._outerHeight()+bb._outerHeight(); +if(!isNaN(parseInt(opts.height))){ +t._outerHeight(t._outerHeight()-_2b1); +}else{ +var _2b2=t._size("min-height"); +if(_2b2){ +t._size("min-height",_2b2-_2b1); +} +var _2b3=t._size("max-height"); +if(_2b3){ +t._size("max-height",_2b3-_2b1); +} +} +var _2b4=$.data(_2ae,"window").shadow; +if(_2b4){ +var cc=t.panel("panel"); +_2b4.css({width:cc._outerWidth(),height:cc._outerHeight()}); +} +}; +$.fn.dialog=function(_2b5,_2b6){ +if(typeof _2b5=="string"){ +var _2b7=$.fn.dialog.methods[_2b5]; +if(_2b7){ +return _2b7(this,_2b6); +}else{ +return this.window(_2b5,_2b6); +} +} +_2b5=_2b5||{}; +return this.each(function(){ +var _2b8=$.data(this,"dialog"); +if(_2b8){ +$.extend(_2b8.options,_2b5); +}else{ +$.data(this,"dialog",{options:$.extend({},$.fn.dialog.defaults,$.fn.dialog.parseOptions(this),_2b5)}); +} +_2a7(this); +}); +}; +$.fn.dialog.methods={options:function(jq){ +var _2b9=$.data(jq[0],"dialog").options; +var _2ba=jq.panel("options"); +$.extend(_2b9,{width:_2ba.width,height:_2ba.height,left:_2ba.left,top:_2ba.top,closed:_2ba.closed,collapsed:_2ba.collapsed,minimized:_2ba.minimized,maximized:_2ba.maximized}); +return _2b9; +},dialog:function(jq){ +return jq.window("window"); +}}; +$.fn.dialog.parseOptions=function(_2bb){ +var t=$(_2bb); +return $.extend({},$.fn.window.parseOptions(_2bb),$.parser.parseOptions(_2bb,["toolbar","buttons"]),{toolbar:(t.children(".dialog-toolbar").length?t.children(".dialog-toolbar").removeClass("dialog-toolbar"):undefined),buttons:(t.children(".dialog-button").length?t.children(".dialog-button").removeClass("dialog-button"):undefined)}); +}; +$.fn.dialog.defaults=$.extend({},$.fn.window.defaults,{title:"New Dialog",collapsible:false,minimizable:false,maximizable:false,resizable:false,toolbar:null,buttons:null}); +})(jQuery); +(function($){ +function _2bc(){ +$(document).unbind(".messager").bind("keydown.messager",function(e){ +if(e.keyCode==27){ +$("body").children("div.messager-window").children("div.messager-body").each(function(){ +$(this).dialog("close"); +}); +}else{ +if(e.keyCode==9){ +var win=$("body").children("div.messager-window"); +if(!win.length){ +return; +} +var _2bd=win.find(".messager-input,.messager-button .l-btn"); +for(var i=0;i<_2bd.length;i++){ +if($(_2bd[i]).is(":focus")){ +$(_2bd[i>=_2bd.length-1?0:i+1]).focus(); +return false; +} +} +}else{ +if(e.keyCode==13){ +var _2be=$(e.target).closest("input.messager-input"); +if(_2be.length){ +var dlg=_2be.closest(".messager-body"); +_2bf(dlg,_2be.val()); +} +} +} +} +}); +}; +function _2c0(){ +$(document).unbind(".messager"); +}; +function _2c1(_2c2){ +var opts=$.extend({},$.messager.defaults,{modal:false,shadow:false,draggable:false,resizable:false,closed:true,style:{left:"",top:"",right:0,zIndex:$.fn.window.defaults.zIndex++,bottom:-document.body.scrollTop-document.documentElement.scrollTop},title:"",width:250,height:100,minHeight:0,showType:"slide",showSpeed:600,content:_2c2.msg,timeout:4000},_2c2); +var dlg=$("
      ").appendTo("body"); +dlg.dialog($.extend({},opts,{noheader:(opts.title?false:true),openAnimation:(opts.showType),closeAnimation:(opts.showType=="show"?"hide":opts.showType),openDuration:opts.showSpeed,closeDuration:opts.showSpeed,onOpen:function(){ +dlg.dialog("dialog").hover(function(){ +if(opts.timer){ +clearTimeout(opts.timer); +} +},function(){ +_2c3(); +}); +_2c3(); +function _2c3(){ +if(opts.timeout>0){ +opts.timer=setTimeout(function(){ +if(dlg.length&&dlg.data("dialog")){ +dlg.dialog("close"); +} +},opts.timeout); +} +}; +if(_2c2.onOpen){ +_2c2.onOpen.call(this); +}else{ +opts.onOpen.call(this); +} +},onClose:function(){ +if(opts.timer){ +clearTimeout(opts.timer); +} +if(_2c2.onClose){ +_2c2.onClose.call(this); +}else{ +opts.onClose.call(this); +} +dlg.dialog("destroy"); +}})); +dlg.dialog("dialog").css(opts.style); +dlg.dialog("open"); +return dlg; +}; +function _2c4(_2c5){ +_2bc(); +var dlg=$("
      ").appendTo("body"); +dlg.dialog($.extend({},_2c5,{noheader:(_2c5.title?false:true),onClose:function(){ +_2c0(); +if(_2c5.onClose){ +_2c5.onClose.call(this); +} +setTimeout(function(){ +dlg.dialog("destroy"); +},100); +}})); +var win=dlg.dialog("dialog").addClass("messager-window"); +win.find(".dialog-button").addClass("messager-button").find("a:first").focus(); +return dlg; +}; +function _2bf(dlg,_2c6){ +dlg.dialog("close"); +dlg.dialog("options").fn(_2c6); +}; +$.messager={show:function(_2c7){ +return _2c1(_2c7); +},alert:function(_2c8,msg,icon,fn){ +var opts=typeof _2c8=="object"?_2c8:{title:_2c8,msg:msg,icon:icon,fn:fn}; +var cls=opts.icon?"messager-icon messager-"+opts.icon:""; +opts=$.extend({},$.messager.defaults,{content:"
      "+"
      "+opts.msg+"
      "+"
      "},opts); +if(!opts.buttons){ +opts.buttons=[{text:opts.ok,onClick:function(){ +_2bf(dlg); +}}]; +} +var dlg=_2c4(opts); +return dlg; +},confirm:function(_2c9,msg,fn){ +var opts=typeof _2c9=="object"?_2c9:{title:_2c9,msg:msg,fn:fn}; +opts=$.extend({},$.messager.defaults,{content:"
      "+"
      "+opts.msg+"
      "+"
      "},opts); +if(!opts.buttons){ +opts.buttons=[{text:opts.ok,onClick:function(){ +_2bf(dlg,true); +}},{text:opts.cancel,onClick:function(){ +_2bf(dlg,false); +}}]; +} +var dlg=_2c4(opts); +return dlg; +},prompt:function(_2ca,msg,fn){ +var opts=typeof _2ca=="object"?_2ca:{title:_2ca,msg:msg,fn:fn}; +opts=$.extend({},$.messager.defaults,{content:"
      "+"
      "+opts.msg+"
      "+"
      "+"
      "+"
      "},opts); +if(!opts.buttons){ +opts.buttons=[{text:opts.ok,onClick:function(){ +_2bf(dlg,dlg.find(".messager-input").val()); +}},{text:opts.cancel,onClick:function(){ +_2bf(dlg); +}}]; +} +var dlg=_2c4(opts); +dlg.find(".messager-input").focus(); +return dlg; +},progress:function(_2cb){ +var _2cc={bar:function(){ +return $("body>div.messager-window").find("div.messager-p-bar"); +},close:function(){ +var dlg=$("body>div.messager-window>div.messager-body:has(div.messager-progress)"); +if(dlg.length){ +dlg.dialog("close"); +} +}}; +if(typeof _2cb=="string"){ +var _2cd=_2cc[_2cb]; +return _2cd(); +} +_2cb=_2cb||{}; +var opts=$.extend({},{title:"",minHeight:0,content:undefined,msg:"",text:undefined,interval:300},_2cb); +var dlg=_2c4($.extend({},$.messager.defaults,{content:"
      "+opts.msg+"
      ",closable:false,doSize:false},opts,{onClose:function(){ +if(this.timer){ +clearInterval(this.timer); +} +if(_2cb.onClose){ +_2cb.onClose.call(this); +}else{ +$.messager.defaults.onClose.call(this); +} +}})); +var bar=dlg.find("div.messager-p-bar"); +bar.progressbar({text:opts.text}); +dlg.dialog("resize"); +if(opts.interval){ +dlg[0].timer=setInterval(function(){ +var v=bar.progressbar("getValue"); +v+=10; +if(v>100){ +v=0; +} +bar.progressbar("setValue",v); +},opts.interval); +} +return dlg; +}}; +$.messager.defaults=$.extend({},$.fn.dialog.defaults,{ok:"Ok",cancel:"Cancel",width:300,height:"auto",minHeight:150,modal:true,collapsible:false,minimizable:false,maximizable:false,resizable:false,fn:function(){ +}}); +})(jQuery); +(function($){ +function _2ce(_2cf,_2d0){ +var _2d1=$.data(_2cf,"accordion"); +var opts=_2d1.options; +var _2d2=_2d1.panels; +var cc=$(_2cf); +var _2d3=(opts.halign=="left"||opts.halign=="right"); +cc.children(".panel-last").removeClass("panel-last"); +cc.children(".panel:last").addClass("panel-last"); +if(_2d0){ +$.extend(opts,{width:_2d0.width,height:_2d0.height}); +} +cc._size(opts); +var _2d4=0; +var _2d5="auto"; +var _2d6=cc.find(">.panel>.accordion-header"); +if(_2d6.length){ +if(_2d3){ +$(_2d2[0]).panel("resize",{width:cc.width(),height:cc.height()}); +_2d4=$(_2d6[0])._outerWidth(); +}else{ +_2d4=$(_2d6[0]).css("height","")._outerHeight(); +} +} +if(!isNaN(parseInt(opts.height))){ +if(_2d3){ +_2d5=cc.width()-_2d4*_2d6.length; +}else{ +_2d5=cc.height()-_2d4*_2d6.length; +} +} +_2d7(true,_2d5-_2d7(false)); +function _2d7(_2d8,_2d9){ +var _2da=0; +for(var i=0;i<_2d2.length;i++){ +var p=_2d2[i]; +if(_2d3){ +var h=p.panel("header")._outerWidth(_2d4); +}else{ +var h=p.panel("header")._outerHeight(_2d4); +} +if(p.panel("options").collapsible==_2d8){ +var _2db=isNaN(_2d9)?undefined:(_2d9+_2d4*h.length); +if(_2d3){ +p.panel("resize",{height:cc.height(),width:(_2d8?_2db:undefined)}); +_2da+=p.panel("panel")._outerWidth()-_2d4*h.length; +}else{ +p.panel("resize",{width:cc.width(),height:(_2d8?_2db:undefined)}); +_2da+=p.panel("panel").outerHeight()-_2d4*h.length; +} +} +} +return _2da; +}; +}; +function _2dc(_2dd,_2de,_2df,all){ +var _2e0=$.data(_2dd,"accordion").panels; +var pp=[]; +for(var i=0;i<_2e0.length;i++){ +var p=_2e0[i]; +if(_2de){ +if(p.panel("options")[_2de]==_2df){ +pp.push(p); +} +}else{ +if(p[0]==$(_2df)[0]){ +return i; +} +} +} +if(_2de){ +return all?pp:(pp.length?pp[0]:null); +}else{ +return -1; +} +}; +function _2e1(_2e2){ +return _2dc(_2e2,"collapsed",false,true); +}; +function _2e3(_2e4){ +var pp=_2e1(_2e4); +return pp.length?pp[0]:null; +}; +function _2e5(_2e6,_2e7){ +return _2dc(_2e6,null,_2e7); +}; +function _2e8(_2e9,_2ea){ +var _2eb=$.data(_2e9,"accordion").panels; +if(typeof _2ea=="number"){ +if(_2ea<0||_2ea>=_2eb.length){ +return null; +}else{ +return _2eb[_2ea]; +} +} +return _2dc(_2e9,"title",_2ea); +}; +function _2ec(_2ed){ +var opts=$.data(_2ed,"accordion").options; +var cc=$(_2ed); +if(opts.border){ +cc.removeClass("accordion-noborder"); +}else{ +cc.addClass("accordion-noborder"); +} +}; +function init(_2ee){ +var _2ef=$.data(_2ee,"accordion"); +var cc=$(_2ee); +cc.addClass("accordion"); +_2ef.panels=[]; +cc.children("div").each(function(){ +var opts=$.extend({},$.parser.parseOptions(this),{selected:($(this).attr("selected")?true:undefined)}); +var pp=$(this); +_2ef.panels.push(pp); +_2f1(_2ee,pp,opts); +}); +cc.bind("_resize",function(e,_2f0){ +if($(this).hasClass("easyui-fluid")||_2f0){ +_2ce(_2ee); +} +return false; +}); +}; +function _2f1(_2f2,pp,_2f3){ +var opts=$.data(_2f2,"accordion").options; +pp.panel($.extend({},{collapsible:true,minimizable:false,maximizable:false,closable:false,doSize:false,collapsed:true,headerCls:"accordion-header",bodyCls:"accordion-body",halign:opts.halign},_2f3,{onBeforeExpand:function(){ +if(_2f3.onBeforeExpand){ +if(_2f3.onBeforeExpand.call(this)==false){ +return false; +} +} +if(!opts.multiple){ +var all=$.grep(_2e1(_2f2),function(p){ +return p.panel("options").collapsible; +}); +for(var i=0;i.panel-last>.accordion-header").removeClass("accordion-header-border"); +if(_2f3.onExpand){ +_2f3.onExpand.call(this); +} +opts.onSelect.call(_2f2,$(this).panel("options").title,_2e5(_2f2,this)); +},onBeforeCollapse:function(){ +if(_2f3.onBeforeCollapse){ +if(_2f3.onBeforeCollapse.call(this)==false){ +return false; +} +} +$(_2f2).find(">.panel-last>.accordion-header").addClass("accordion-header-border"); +var _2f5=$(this).panel("header"); +_2f5.removeClass("accordion-header-selected"); +_2f5.find(".accordion-collapse").addClass("accordion-expand"); +},onCollapse:function(){ +if(isNaN(parseInt(opts.height))){ +$(_2f2).find(">.panel-last>.accordion-header").removeClass("accordion-header-border"); +} +if(_2f3.onCollapse){ +_2f3.onCollapse.call(this); +} +opts.onUnselect.call(_2f2,$(this).panel("options").title,_2e5(_2f2,this)); +}})); +var _2f6=pp.panel("header"); +var tool=_2f6.children("div.panel-tool"); +tool.children("a.panel-tool-collapse").hide(); +var t=$("").addClass("accordion-collapse accordion-expand").appendTo(tool); +t.bind("click",function(){ +_2f7(pp); +return false; +}); +pp.panel("options").collapsible?t.show():t.hide(); +if(opts.halign=="left"||opts.halign=="right"){ +t.hide(); +} +_2f6.click(function(){ +_2f7(pp); +return false; +}); +function _2f7(p){ +var _2f8=p.panel("options"); +if(_2f8.collapsible){ +var _2f9=_2e5(_2f2,p); +if(_2f8.collapsed){ +_2fa(_2f2,_2f9); +}else{ +_2fb(_2f2,_2f9); +} +} +}; +}; +function _2fa(_2fc,_2fd){ +var p=_2e8(_2fc,_2fd); +if(!p){ +return; +} +_2fe(_2fc); +var opts=$.data(_2fc,"accordion").options; +p.panel("expand",opts.animate); +}; +function _2fb(_2ff,_300){ +var p=_2e8(_2ff,_300); +if(!p){ +return; +} +_2fe(_2ff); +var opts=$.data(_2ff,"accordion").options; +p.panel("collapse",opts.animate); +}; +function _301(_302){ +var opts=$.data(_302,"accordion").options; +$(_302).find(">.panel-last>.accordion-header").addClass("accordion-header-border"); +var p=_2dc(_302,"selected",true); +if(p){ +_303(_2e5(_302,p)); +}else{ +_303(opts.selected); +} +function _303(_304){ +var _305=opts.animate; +opts.animate=false; +_2fa(_302,_304); +opts.animate=_305; +}; +}; +function _2fe(_306){ +var _307=$.data(_306,"accordion").panels; +for(var i=0;i<_307.length;i++){ +_307[i].stop(true,true); +} +}; +function add(_308,_309){ +var _30a=$.data(_308,"accordion"); +var opts=_30a.options; +var _30b=_30a.panels; +if(_309.selected==undefined){ +_309.selected=true; +} +_2fe(_308); +var pp=$("
      ").appendTo(_308); +_30b.push(pp); +_2f1(_308,pp,_309); +_2ce(_308); +opts.onAdd.call(_308,_309.title,_30b.length-1); +if(_309.selected){ +_2fa(_308,_30b.length-1); +} +}; +function _30c(_30d,_30e){ +var _30f=$.data(_30d,"accordion"); +var opts=_30f.options; +var _310=_30f.panels; +_2fe(_30d); +var _311=_2e8(_30d,_30e); +var _312=_311.panel("options").title; +var _313=_2e5(_30d,_311); +if(!_311){ +return; +} +if(opts.onBeforeRemove.call(_30d,_312,_313)==false){ +return; +} +_310.splice(_313,1); +_311.panel("destroy"); +if(_310.length){ +_2ce(_30d); +var curr=_2e3(_30d); +if(!curr){ +_2fa(_30d,0); +} +} +opts.onRemove.call(_30d,_312,_313); +}; +$.fn.accordion=function(_314,_315){ +if(typeof _314=="string"){ +return $.fn.accordion.methods[_314](this,_315); +} +_314=_314||{}; +return this.each(function(){ +var _316=$.data(this,"accordion"); +if(_316){ +$.extend(_316.options,_314); +}else{ +$.data(this,"accordion",{options:$.extend({},$.fn.accordion.defaults,$.fn.accordion.parseOptions(this),_314),accordion:$(this).addClass("accordion"),panels:[]}); +init(this); +} +_2ec(this); +_2ce(this); +_301(this); +}); +}; +$.fn.accordion.methods={options:function(jq){ +return $.data(jq[0],"accordion").options; +},panels:function(jq){ +return $.data(jq[0],"accordion").panels; +},resize:function(jq,_317){ +return jq.each(function(){ +_2ce(this,_317); +}); +},getSelections:function(jq){ +return _2e1(jq[0]); +},getSelected:function(jq){ +return _2e3(jq[0]); +},getPanel:function(jq,_318){ +return _2e8(jq[0],_318); +},getPanelIndex:function(jq,_319){ +return _2e5(jq[0],_319); +},select:function(jq,_31a){ +return jq.each(function(){ +_2fa(this,_31a); +}); +},unselect:function(jq,_31b){ +return jq.each(function(){ +_2fb(this,_31b); +}); +},add:function(jq,_31c){ +return jq.each(function(){ +add(this,_31c); +}); +},remove:function(jq,_31d){ +return jq.each(function(){ +_30c(this,_31d); +}); +}}; +$.fn.accordion.parseOptions=function(_31e){ +var t=$(_31e); +return $.extend({},$.parser.parseOptions(_31e,["width","height","halign",{fit:"boolean",border:"boolean",animate:"boolean",multiple:"boolean",selected:"number"}])); +}; +$.fn.accordion.defaults={width:"auto",height:"auto",fit:false,border:true,animate:true,multiple:false,selected:0,halign:"top",onSelect:function(_31f,_320){ +},onUnselect:function(_321,_322){ +},onAdd:function(_323,_324){ +},onBeforeRemove:function(_325,_326){ +},onRemove:function(_327,_328){ +}}; +})(jQuery); +(function($){ +function _329(c){ +var w=0; +$(c).children().each(function(){ +w+=$(this).outerWidth(true); +}); +return w; +}; +function _32a(_32b){ +var opts=$.data(_32b,"tabs").options; +if(opts.tabPosition=="left"||opts.tabPosition=="right"||!opts.showHeader){ +return; +} +var _32c=$(_32b).children("div.tabs-header"); +var tool=_32c.children("div.tabs-tool:not(.tabs-tool-hidden)"); +var _32d=_32c.children("div.tabs-scroller-left"); +var _32e=_32c.children("div.tabs-scroller-right"); +var wrap=_32c.children("div.tabs-wrap"); +var _32f=_32c.outerHeight(); +if(opts.plain){ +_32f-=_32f-_32c.height(); +} +tool._outerHeight(_32f); +var _330=_329(_32c.find("ul.tabs")); +var _331=_32c.width()-tool._outerWidth(); +if(_330>_331){ +_32d.add(_32e).show()._outerHeight(_32f); +if(opts.toolPosition=="left"){ +tool.css({left:_32d.outerWidth(),right:""}); +wrap.css({marginLeft:_32d.outerWidth()+tool._outerWidth(),marginRight:_32e._outerWidth(),width:_331-_32d.outerWidth()-_32e.outerWidth()}); +}else{ +tool.css({left:"",right:_32e.outerWidth()}); +wrap.css({marginLeft:_32d.outerWidth(),marginRight:_32e.outerWidth()+tool._outerWidth(),width:_331-_32d.outerWidth()-_32e.outerWidth()}); +} +}else{ +_32d.add(_32e).hide(); +if(opts.toolPosition=="left"){ +tool.css({left:0,right:""}); +wrap.css({marginLeft:tool._outerWidth(),marginRight:0,width:_331}); +}else{ +tool.css({left:"",right:0}); +wrap.css({marginLeft:0,marginRight:tool._outerWidth(),width:_331}); +} +} +}; +function _332(_333){ +var opts=$.data(_333,"tabs").options; +var _334=$(_333).children("div.tabs-header"); +if(opts.tools){ +if(typeof opts.tools=="string"){ +$(opts.tools).addClass("tabs-tool").appendTo(_334); +$(opts.tools).show(); +}else{ +_334.children("div.tabs-tool").remove(); +var _335=$("
      ").appendTo(_334); +var tr=_335.find("tr"); +for(var i=0;i").appendTo(tr); +var tool=$("").appendTo(td); +tool[0].onclick=eval(opts.tools[i].handler||function(){ +}); +tool.linkbutton($.extend({},opts.tools[i],{plain:true})); +} +} +}else{ +_334.children("div.tabs-tool").remove(); +} +}; +function _336(_337,_338){ +var _339=$.data(_337,"tabs"); +var opts=_339.options; +var cc=$(_337); +if(!opts.doSize){ +return; +} +if(_338){ +$.extend(opts,{width:_338.width,height:_338.height}); +} +cc._size(opts); +var _33a=cc.children("div.tabs-header"); +var _33b=cc.children("div.tabs-panels"); +var wrap=_33a.find("div.tabs-wrap"); +var ul=wrap.find(".tabs"); +ul.children("li").removeClass("tabs-first tabs-last"); +ul.children("li:first").addClass("tabs-first"); +ul.children("li:last").addClass("tabs-last"); +if(opts.tabPosition=="left"||opts.tabPosition=="right"){ +_33a._outerWidth(opts.showHeader?opts.headerWidth:0); +_33b._outerWidth(cc.width()-_33a.outerWidth()); +_33a.add(_33b)._size("height",isNaN(parseInt(opts.height))?"":cc.height()); +wrap._outerWidth(_33a.width()); +ul._outerWidth(wrap.width()).css("height",""); +}else{ +_33a.children("div.tabs-scroller-left,div.tabs-scroller-right,div.tabs-tool:not(.tabs-tool-hidden)").css("display",opts.showHeader?"block":"none"); +_33a._outerWidth(cc.width()).css("height",""); +if(opts.showHeader){ +_33a.css("background-color",""); +wrap.css("height",""); +}else{ +_33a.css("background-color","transparent"); +_33a._outerHeight(0); +wrap._outerHeight(0); +} +ul._outerHeight(opts.tabHeight).css("width",""); +ul._outerHeight(ul.outerHeight()-ul.height()-1+opts.tabHeight).css("width",""); +_33b._size("height",isNaN(parseInt(opts.height))?"":(cc.height()-_33a.outerHeight())); +_33b._size("width",cc.width()); +} +if(_339.tabs.length){ +var d1=ul.outerWidth(true)-ul.width(); +var li=ul.children("li:first"); +var d2=li.outerWidth(true)-li.width(); +var _33c=_33a.width()-_33a.children(".tabs-tool:not(.tabs-tool-hidden)")._outerWidth(); +var _33d=Math.floor((_33c-d1-d2*_339.tabs.length)/_339.tabs.length); +$.map(_339.tabs,function(p){ +_33e(p,(opts.justified&&$.inArray(opts.tabPosition,["top","bottom"])>=0)?_33d:undefined); +}); +if(opts.justified&&$.inArray(opts.tabPosition,["top","bottom"])>=0){ +var _33f=_33c-d1-_329(ul); +_33e(_339.tabs[_339.tabs.length-1],_33d+_33f); +} +} +_32a(_337); +function _33e(p,_340){ +var _341=p.panel("options"); +var p_t=_341.tab.find("a.tabs-inner"); +var _340=_340?_340:(parseInt(_341.tabWidth||opts.tabWidth||undefined)); +if(_340){ +p_t._outerWidth(_340); +}else{ +p_t.css("width",""); +} +p_t._outerHeight(opts.tabHeight); +p_t.css("lineHeight",p_t.height()+"px"); +p_t.find(".easyui-fluid:visible").triggerHandler("_resize"); +}; +}; +function _342(_343){ +var opts=$.data(_343,"tabs").options; +var tab=_344(_343); +if(tab){ +var _345=$(_343).children("div.tabs-panels"); +var _346=opts.width=="auto"?"auto":_345.width(); +var _347=opts.height=="auto"?"auto":_345.height(); +tab.panel("resize",{width:_346,height:_347}); +} +}; +function _348(_349){ +var tabs=$.data(_349,"tabs").tabs; +var cc=$(_349).addClass("tabs-container"); +var _34a=$("
      ").insertBefore(cc); +cc.children("div").each(function(){ +_34a[0].appendChild(this); +}); +cc[0].appendChild(_34a[0]); +$("
      "+"
      "+"
      "+"
      "+"
        "+"
        "+"
        ").prependTo(_349); +cc.children("div.tabs-panels").children("div").each(function(i){ +var opts=$.extend({},$.parser.parseOptions(this),{disabled:($(this).attr("disabled")?true:undefined),selected:($(this).attr("selected")?true:undefined)}); +_357(_349,opts,$(this)); +}); +cc.children("div.tabs-header").find(".tabs-scroller-left, .tabs-scroller-right").hover(function(){ +$(this).addClass("tabs-scroller-over"); +},function(){ +$(this).removeClass("tabs-scroller-over"); +}); +cc.bind("_resize",function(e,_34b){ +if($(this).hasClass("easyui-fluid")||_34b){ +_336(_349); +_342(_349); +} +return false; +}); +}; +function _34c(_34d){ +var _34e=$.data(_34d,"tabs"); +var opts=_34e.options; +$(_34d).children("div.tabs-header").unbind().bind("click",function(e){ +if($(e.target).hasClass("tabs-scroller-left")){ +$(_34d).tabs("scrollBy",-opts.scrollIncrement); +}else{ +if($(e.target).hasClass("tabs-scroller-right")){ +$(_34d).tabs("scrollBy",opts.scrollIncrement); +}else{ +var li=$(e.target).closest("li"); +if(li.hasClass("tabs-disabled")){ +return false; +} +var a=$(e.target).closest("a.tabs-close"); +if(a.length){ +_370(_34d,_34f(li)); +}else{ +if(li.length){ +var _350=_34f(li); +var _351=_34e.tabs[_350].panel("options"); +if(_351.collapsible){ +_351.closed?_367(_34d,_350):_384(_34d,_350); +}else{ +_367(_34d,_350); +} +} +} +return false; +} +} +}).bind("contextmenu",function(e){ +var li=$(e.target).closest("li"); +if(li.hasClass("tabs-disabled")){ +return; +} +if(li.length){ +opts.onContextMenu.call(_34d,e,li.find("span.tabs-title").html(),_34f(li)); +} +}); +function _34f(li){ +var _352=0; +li.parent().children("li").each(function(i){ +if(li[0]==this){ +_352=i; +return false; +} +}); +return _352; +}; +}; +function _353(_354){ +var opts=$.data(_354,"tabs").options; +var _355=$(_354).children("div.tabs-header"); +var _356=$(_354).children("div.tabs-panels"); +_355.removeClass("tabs-header-top tabs-header-bottom tabs-header-left tabs-header-right"); +_356.removeClass("tabs-panels-top tabs-panels-bottom tabs-panels-left tabs-panels-right"); +if(opts.tabPosition=="top"){ +_355.insertBefore(_356); +}else{ +if(opts.tabPosition=="bottom"){ +_355.insertAfter(_356); +_355.addClass("tabs-header-bottom"); +_356.addClass("tabs-panels-top"); +}else{ +if(opts.tabPosition=="left"){ +_355.addClass("tabs-header-left"); +_356.addClass("tabs-panels-right"); +}else{ +if(opts.tabPosition=="right"){ +_355.addClass("tabs-header-right"); +_356.addClass("tabs-panels-left"); +} +} +} +} +if(opts.plain==true){ +_355.addClass("tabs-header-plain"); +}else{ +_355.removeClass("tabs-header-plain"); +} +_355.removeClass("tabs-header-narrow").addClass(opts.narrow?"tabs-header-narrow":""); +var tabs=_355.find(".tabs"); +tabs.removeClass("tabs-pill").addClass(opts.pill?"tabs-pill":""); +tabs.removeClass("tabs-narrow").addClass(opts.narrow?"tabs-narrow":""); +tabs.removeClass("tabs-justified").addClass(opts.justified?"tabs-justified":""); +if(opts.border==true){ +_355.removeClass("tabs-header-noborder"); +_356.removeClass("tabs-panels-noborder"); +}else{ +_355.addClass("tabs-header-noborder"); +_356.addClass("tabs-panels-noborder"); +} +opts.doSize=true; +}; +function _357(_358,_359,pp){ +_359=_359||{}; +var _35a=$.data(_358,"tabs"); +var tabs=_35a.tabs; +if(_359.index==undefined||_359.index>tabs.length){ +_359.index=tabs.length; +} +if(_359.index<0){ +_359.index=0; +} +var ul=$(_358).children("div.tabs-header").find("ul.tabs"); +var _35b=$(_358).children("div.tabs-panels"); +var tab=$("
      • "+""+""+""+""+"
      • "); +if(!pp){ +pp=$("
        "); +} +if(_359.index>=tabs.length){ +tab.appendTo(ul); +pp.appendTo(_35b); +tabs.push(pp); +}else{ +tab.insertBefore(ul.children("li:eq("+_359.index+")")); +pp.insertBefore(_35b.children("div.panel:eq("+_359.index+")")); +tabs.splice(_359.index,0,pp); +} +pp.panel($.extend({},_359,{tab:tab,border:false,noheader:true,closed:true,doSize:false,iconCls:(_359.icon?_359.icon:undefined),onLoad:function(){ +if(_359.onLoad){ +_359.onLoad.call(this,arguments); +} +_35a.options.onLoad.call(_358,$(this)); +},onBeforeOpen:function(){ +if(_359.onBeforeOpen){ +if(_359.onBeforeOpen.call(this)==false){ +return false; +} +} +var p=$(_358).tabs("getSelected"); +if(p){ +if(p[0]!=this){ +$(_358).tabs("unselect",_362(_358,p)); +p=$(_358).tabs("getSelected"); +if(p){ +return false; +} +}else{ +_342(_358); +return false; +} +} +var _35c=$(this).panel("options"); +_35c.tab.addClass("tabs-selected"); +var wrap=$(_358).find(">div.tabs-header>div.tabs-wrap"); +var left=_35c.tab.position().left; +var _35d=left+_35c.tab.outerWidth(); +if(left<0||_35d>wrap.width()){ +var _35e=left-(wrap.width()-_35c.tab.width())/2; +$(_358).tabs("scrollBy",_35e); +}else{ +$(_358).tabs("scrollBy",0); +} +var _35f=$(this).panel("panel"); +_35f.css("display","block"); +_342(_358); +_35f.css("display","none"); +},onOpen:function(){ +if(_359.onOpen){ +_359.onOpen.call(this); +} +var _360=$(this).panel("options"); +_35a.selectHis.push(_360.title); +_35a.options.onSelect.call(_358,_360.title,_362(_358,this)); +},onBeforeClose:function(){ +if(_359.onBeforeClose){ +if(_359.onBeforeClose.call(this)==false){ +return false; +} +} +$(this).panel("options").tab.removeClass("tabs-selected"); +},onClose:function(){ +if(_359.onClose){ +_359.onClose.call(this); +} +var _361=$(this).panel("options"); +_35a.options.onUnselect.call(_358,_361.title,_362(_358,this)); +}})); +$(_358).tabs("update",{tab:pp,options:pp.panel("options"),type:"header"}); +}; +function _363(_364,_365){ +var _366=$.data(_364,"tabs"); +var opts=_366.options; +if(_365.selected==undefined){ +_365.selected=true; +} +_357(_364,_365); +opts.onAdd.call(_364,_365.title,_365.index); +if(_365.selected){ +_367(_364,_365.index); +} +}; +function _368(_369,_36a){ +_36a.type=_36a.type||"all"; +var _36b=$.data(_369,"tabs").selectHis; +var pp=_36a.tab; +var opts=pp.panel("options"); +var _36c=opts.title; +$.extend(opts,_36a.options,{iconCls:(_36a.options.icon?_36a.options.icon:undefined)}); +if(_36a.type=="all"||_36a.type=="body"){ +pp.panel(); +} +if(_36a.type=="all"||_36a.type=="header"){ +var tab=opts.tab; +if(opts.header){ +tab.find(".tabs-inner").html($(opts.header)); +}else{ +var _36d=tab.find("span.tabs-title"); +var _36e=tab.find("span.tabs-icon"); +_36d.html(opts.title); +_36e.attr("class","tabs-icon"); +tab.find("a.tabs-close").remove(); +if(opts.closable){ +_36d.addClass("tabs-closable"); +$("").appendTo(tab); +}else{ +_36d.removeClass("tabs-closable"); +} +if(opts.iconCls){ +_36d.addClass("tabs-with-icon"); +_36e.addClass(opts.iconCls); +}else{ +_36d.removeClass("tabs-with-icon"); +} +if(opts.tools){ +var _36f=tab.find("span.tabs-p-tool"); +if(!_36f.length){ +var _36f=$("").insertAfter(tab.find("a.tabs-inner")); +} +if($.isArray(opts.tools)){ +_36f.empty(); +for(var i=0;i").appendTo(_36f); +t.addClass(opts.tools[i].iconCls); +if(opts.tools[i].handler){ +t.bind("click",{handler:opts.tools[i].handler},function(e){ +if($(this).parents("li").hasClass("tabs-disabled")){ +return; +} +e.data.handler.call(this); +}); +} +} +}else{ +$(opts.tools).children().appendTo(_36f); +} +var pr=_36f.children().length*12; +if(opts.closable){ +pr+=8; +_36f.css("right",""); +}else{ +pr-=3; +_36f.css("right","5px"); +} +_36d.css("padding-right",pr+"px"); +}else{ +tab.find("span.tabs-p-tool").remove(); +_36d.css("padding-right",""); +} +} +if(_36c!=opts.title){ +for(var i=0;i<_36b.length;i++){ +if(_36b[i]==_36c){ +_36b[i]=opts.title; +} +} +} +} +if(opts.disabled){ +opts.tab.addClass("tabs-disabled"); +}else{ +opts.tab.removeClass("tabs-disabled"); +} +_336(_369); +$.data(_369,"tabs").options.onUpdate.call(_369,opts.title,_362(_369,pp)); +}; +function _370(_371,_372){ +var opts=$.data(_371,"tabs").options; +var tabs=$.data(_371,"tabs").tabs; +var _373=$.data(_371,"tabs").selectHis; +if(!_374(_371,_372)){ +return; +} +var tab=_375(_371,_372); +var _376=tab.panel("options").title; +var _377=_362(_371,tab); +if(opts.onBeforeClose.call(_371,_376,_377)==false){ +return; +} +var tab=_375(_371,_372,true); +tab.panel("options").tab.remove(); +tab.panel("destroy"); +opts.onClose.call(_371,_376,_377); +_336(_371); +for(var i=0;i<_373.length;i++){ +if(_373[i]==_376){ +_373.splice(i,1); +i--; +} +} +var _378=_373.pop(); +if(_378){ +_367(_371,_378); +}else{ +if(tabs.length){ +_367(_371,0); +} +} +}; +function _375(_379,_37a,_37b){ +var tabs=$.data(_379,"tabs").tabs; +var tab=null; +if(typeof _37a=="number"){ +if(_37a>=0&&_37a"); +for(var i=0;i.tabs-header>.tabs-tool"); +if(_38f){ +tool.removeClass("tabs-tool-hidden").show(); +}else{ +tool.addClass("tabs-tool-hidden").hide(); +} +$(_38e).tabs("resize").tabs("scrollBy",0); +}; +$.fn.tabs=function(_390,_391){ +if(typeof _390=="string"){ +return $.fn.tabs.methods[_390](this,_391); +} +_390=_390||{}; +return this.each(function(){ +var _392=$.data(this,"tabs"); +if(_392){ +$.extend(_392.options,_390); +}else{ +$.data(this,"tabs",{options:$.extend({},$.fn.tabs.defaults,$.fn.tabs.parseOptions(this),_390),tabs:[],selectHis:[]}); +_348(this); +} +_332(this); +_353(this); +_336(this); +_34c(this); +_37e(this); +}); +}; +$.fn.tabs.methods={options:function(jq){ +var cc=jq[0]; +var opts=$.data(cc,"tabs").options; +var s=_344(cc); +opts.selected=s?_362(cc,s):-1; +return opts; +},tabs:function(jq){ +return $.data(jq[0],"tabs").tabs; +},resize:function(jq,_393){ +return jq.each(function(){ +_336(this,_393); +_342(this); +}); +},add:function(jq,_394){ +return jq.each(function(){ +_363(this,_394); +}); +},close:function(jq,_395){ +return jq.each(function(){ +_370(this,_395); +}); +},getTab:function(jq,_396){ +return _375(jq[0],_396); +},getTabIndex:function(jq,tab){ +return _362(jq[0],tab); +},getSelected:function(jq){ +return _344(jq[0]); +},select:function(jq,_397){ +return jq.each(function(){ +_367(this,_397); +}); +},unselect:function(jq,_398){ +return jq.each(function(){ +_384(this,_398); +}); +},exists:function(jq,_399){ +return _374(jq[0],_399); +},update:function(jq,_39a){ +return jq.each(function(){ +_368(this,_39a); +}); +},enableTab:function(jq,_39b){ +return jq.each(function(){ +var opts=$(this).tabs("getTab",_39b).panel("options"); +opts.tab.removeClass("tabs-disabled"); +opts.disabled=false; +}); +},disableTab:function(jq,_39c){ +return jq.each(function(){ +var opts=$(this).tabs("getTab",_39c).panel("options"); +opts.tab.addClass("tabs-disabled"); +opts.disabled=true; +}); +},showHeader:function(jq){ +return jq.each(function(){ +_38a(this,true); +}); +},hideHeader:function(jq){ +return jq.each(function(){ +_38a(this,false); +}); +},showTool:function(jq){ +return jq.each(function(){ +_38d(this,true); +}); +},hideTool:function(jq){ +return jq.each(function(){ +_38d(this,false); +}); +},scrollBy:function(jq,_39d){ +return jq.each(function(){ +var opts=$(this).tabs("options"); +var wrap=$(this).find(">div.tabs-header>div.tabs-wrap"); +var pos=Math.min(wrap._scrollLeft()+_39d,_39e()); +wrap.animate({scrollLeft:pos},opts.scrollDuration); +function _39e(){ +var w=0; +var ul=wrap.children("ul"); +ul.children("li").each(function(){ +w+=$(this).outerWidth(true); +}); +return w-wrap.width()+(ul.outerWidth()-ul.width()); +}; +}); +}}; +$.fn.tabs.parseOptions=function(_39f){ +return $.extend({},$.parser.parseOptions(_39f,["tools","toolPosition","tabPosition",{fit:"boolean",border:"boolean",plain:"boolean"},{headerWidth:"number",tabWidth:"number",tabHeight:"number",selected:"number"},{showHeader:"boolean",justified:"boolean",narrow:"boolean",pill:"boolean"}])); +}; +$.fn.tabs.defaults={width:"auto",height:"auto",headerWidth:150,tabWidth:"auto",tabHeight:27,selected:0,showHeader:true,plain:false,fit:false,border:true,justified:false,narrow:false,pill:false,tools:null,toolPosition:"right",tabPosition:"top",scrollIncrement:100,scrollDuration:400,onLoad:function(_3a0){ +},onSelect:function(_3a1,_3a2){ +},onUnselect:function(_3a3,_3a4){ +},onBeforeClose:function(_3a5,_3a6){ +},onClose:function(_3a7,_3a8){ +},onAdd:function(_3a9,_3aa){ +},onUpdate:function(_3ab,_3ac){ +},onContextMenu:function(e,_3ad,_3ae){ +}}; +})(jQuery); +(function($){ +var _3af=false; +function _3b0(_3b1,_3b2){ +var _3b3=$.data(_3b1,"layout"); +var opts=_3b3.options; +var _3b4=_3b3.panels; +var cc=$(_3b1); +if(_3b2){ +$.extend(opts,{width:_3b2.width,height:_3b2.height}); +} +if(_3b1.tagName.toLowerCase()=="body"){ +cc._size("fit"); +}else{ +cc._size(opts); +} +var cpos={top:0,left:0,width:cc.width(),height:cc.height()}; +_3b5(_3b6(_3b4.expandNorth)?_3b4.expandNorth:_3b4.north,"n"); +_3b5(_3b6(_3b4.expandSouth)?_3b4.expandSouth:_3b4.south,"s"); +_3b7(_3b6(_3b4.expandEast)?_3b4.expandEast:_3b4.east,"e"); +_3b7(_3b6(_3b4.expandWest)?_3b4.expandWest:_3b4.west,"w"); +_3b4.center.panel("resize",cpos); +function _3b5(pp,type){ +if(!pp.length||!_3b6(pp)){ +return; +} +var opts=pp.panel("options"); +pp.panel("resize",{width:cc.width(),height:opts.height}); +var _3b8=pp.panel("panel").outerHeight(); +pp.panel("move",{left:0,top:(type=="n"?0:cc.height()-_3b8)}); +cpos.height-=_3b8; +if(type=="n"){ +cpos.top+=_3b8; +if(!opts.split&&opts.border){ +cpos.top--; +} +} +if(!opts.split&&opts.border){ +cpos.height++; +} +}; +function _3b7(pp,type){ +if(!pp.length||!_3b6(pp)){ +return; +} +var opts=pp.panel("options"); +pp.panel("resize",{width:opts.width,height:cpos.height}); +var _3b9=pp.panel("panel").outerWidth(); +pp.panel("move",{left:(type=="e"?cc.width()-_3b9:0),top:cpos.top}); +cpos.width-=_3b9; +if(type=="w"){ +cpos.left+=_3b9; +if(!opts.split&&opts.border){ +cpos.left--; +} +} +if(!opts.split&&opts.border){ +cpos.width++; +} +}; +}; +function init(_3ba){ +var cc=$(_3ba); +cc.addClass("layout"); +function _3bb(el){ +var _3bc=$.fn.layout.parsePanelOptions(el); +if("north,south,east,west,center".indexOf(_3bc.region)>=0){ +_3bf(_3ba,_3bc,el); +} +}; +var opts=cc.layout("options"); +var _3bd=opts.onAdd; +opts.onAdd=function(){ +}; +cc.find(">div,>form>div").each(function(){ +_3bb(this); +}); +opts.onAdd=_3bd; +cc.append("
        "); +cc.bind("_resize",function(e,_3be){ +if($(this).hasClass("easyui-fluid")||_3be){ +_3b0(_3ba); +} +return false; +}); +}; +function _3bf(_3c0,_3c1,el){ +_3c1.region=_3c1.region||"center"; +var _3c2=$.data(_3c0,"layout").panels; +var cc=$(_3c0); +var dir=_3c1.region; +if(_3c2[dir].length){ +return; +} +var pp=$(el); +if(!pp.length){ +pp=$("
        ").appendTo(cc); +} +var _3c3=$.extend({},$.fn.layout.paneldefaults,{width:(pp.length?parseInt(pp[0].style.width)||pp.outerWidth():"auto"),height:(pp.length?parseInt(pp[0].style.height)||pp.outerHeight():"auto"),doSize:false,collapsible:true,onOpen:function(){ +var tool=$(this).panel("header").children("div.panel-tool"); +tool.children("a.panel-tool-collapse").hide(); +var _3c4={north:"up",south:"down",east:"right",west:"left"}; +if(!_3c4[dir]){ +return; +} +var _3c5="layout-button-"+_3c4[dir]; +var t=tool.children("a."+_3c5); +if(!t.length){ +t=$("").addClass(_3c5).appendTo(tool); +t.bind("click",{dir:dir},function(e){ +_3dc(_3c0,e.data.dir); +return false; +}); +} +$(this).panel("options").collapsible?t.show():t.hide(); +}},_3c1,{cls:((_3c1.cls||"")+" layout-panel layout-panel-"+dir),bodyCls:((_3c1.bodyCls||"")+" layout-body")}); +pp.panel(_3c3); +_3c2[dir]=pp; +var _3c6={north:"s",south:"n",east:"w",west:"e"}; +var _3c7=pp.panel("panel"); +if(pp.panel("options").split){ +_3c7.addClass("layout-split-"+dir); +} +_3c7.resizable($.extend({},{handles:(_3c6[dir]||""),disabled:(!pp.panel("options").split),onStartResize:function(e){ +_3af=true; +if(dir=="north"||dir=="south"){ +var _3c8=$(">div.layout-split-proxy-v",_3c0); +}else{ +var _3c8=$(">div.layout-split-proxy-h",_3c0); +} +var top=0,left=0,_3c9=0,_3ca=0; +var pos={display:"block"}; +if(dir=="north"){ +pos.top=parseInt(_3c7.css("top"))+_3c7.outerHeight()-_3c8.height(); +pos.left=parseInt(_3c7.css("left")); +pos.width=_3c7.outerWidth(); +pos.height=_3c8.height(); +}else{ +if(dir=="south"){ +pos.top=parseInt(_3c7.css("top")); +pos.left=parseInt(_3c7.css("left")); +pos.width=_3c7.outerWidth(); +pos.height=_3c8.height(); +}else{ +if(dir=="east"){ +pos.top=parseInt(_3c7.css("top"))||0; +pos.left=parseInt(_3c7.css("left"))||0; +pos.width=_3c8.width(); +pos.height=_3c7.outerHeight(); +}else{ +if(dir=="west"){ +pos.top=parseInt(_3c7.css("top"))||0; +pos.left=_3c7.outerWidth()-_3c8.width(); +pos.width=_3c8.width(); +pos.height=_3c7.outerHeight(); +} +} +} +} +_3c8.css(pos); +$("
        ").css({left:0,top:0,width:cc.width(),height:cc.height()}).appendTo(cc); +},onResize:function(e){ +if(dir=="north"||dir=="south"){ +var _3cb=_3cc(this); +$(this).resizable("options").maxHeight=_3cb; +var _3cd=$(">div.layout-split-proxy-v",_3c0); +var top=dir=="north"?e.data.height-_3cd.height():$(_3c0).height()-e.data.height; +_3cd.css("top",top); +}else{ +var _3ce=_3cc(this); +$(this).resizable("options").maxWidth=_3ce; +var _3cd=$(">div.layout-split-proxy-h",_3c0); +var left=dir=="west"?e.data.width-_3cd.width():$(_3c0).width()-e.data.width; +_3cd.css("left",left); +} +return false; +},onStopResize:function(e){ +cc.children("div.layout-split-proxy-v,div.layout-split-proxy-h").hide(); +pp.panel("resize",e.data); +_3b0(_3c0); +_3af=false; +cc.find(">div.layout-mask").remove(); +}},_3c1)); +cc.layout("options").onAdd.call(_3c0,dir); +function _3cc(p){ +var _3cf="expand"+dir.substring(0,1).toUpperCase()+dir.substring(1); +var _3d0=_3c2["center"]; +var _3d1=(dir=="north"||dir=="south")?"minHeight":"minWidth"; +var _3d2=(dir=="north"||dir=="south")?"maxHeight":"maxWidth"; +var _3d3=(dir=="north"||dir=="south")?"_outerHeight":"_outerWidth"; +var _3d4=$.parser.parseValue(_3d2,_3c2[dir].panel("options")[_3d2],$(_3c0)); +var _3d5=$.parser.parseValue(_3d1,_3d0.panel("options")[_3d1],$(_3c0)); +var _3d6=_3d0.panel("panel")[_3d3]()-_3d5; +if(_3b6(_3c2[_3cf])){ +_3d6+=_3c2[_3cf][_3d3]()-1; +}else{ +_3d6+=$(p)[_3d3](); +} +if(_3d6>_3d4){ +_3d6=_3d4; +} +return _3d6; +}; +}; +function _3d7(_3d8,_3d9){ +var _3da=$.data(_3d8,"layout").panels; +if(_3da[_3d9].length){ +_3da[_3d9].panel("destroy"); +_3da[_3d9]=$(); +var _3db="expand"+_3d9.substring(0,1).toUpperCase()+_3d9.substring(1); +if(_3da[_3db]){ +_3da[_3db].panel("destroy"); +_3da[_3db]=undefined; +} +$(_3d8).layout("options").onRemove.call(_3d8,_3d9); +} +}; +function _3dc(_3dd,_3de,_3df){ +if(_3df==undefined){ +_3df="normal"; +} +var _3e0=$.data(_3dd,"layout").panels; +var p=_3e0[_3de]; +var _3e1=p.panel("options"); +if(_3e1.onBeforeCollapse.call(p)==false){ +return; +} +var _3e2="expand"+_3de.substring(0,1).toUpperCase()+_3de.substring(1); +if(!_3e0[_3e2]){ +_3e0[_3e2]=_3e3(_3de); +var ep=_3e0[_3e2].panel("panel"); +if(!_3e1.expandMode){ +ep.css("cursor","default"); +}else{ +ep.bind("click",function(){ +if(_3e1.expandMode=="dock"){ +_3ef(_3dd,_3de); +}else{ +p.panel("expand",false).panel("open"); +var _3e4=_3e5(); +p.panel("resize",_3e4.collapse); +p.panel("panel").animate(_3e4.expand,function(){ +$(this).unbind(".layout").bind("mouseleave.layout",{region:_3de},function(e){ +if(_3af==true){ +return; +} +if($("body>div.combo-p>div.combo-panel:visible").length){ +return; +} +_3dc(_3dd,e.data.region); +}); +$(_3dd).layout("options").onExpand.call(_3dd,_3de); +}); +} +return false; +}); +} +} +var _3e6=_3e5(); +if(!_3b6(_3e0[_3e2])){ +_3e0.center.panel("resize",_3e6.resizeC); +} +p.panel("panel").animate(_3e6.collapse,_3df,function(){ +p.panel("collapse",false).panel("close"); +_3e0[_3e2].panel("open").panel("resize",_3e6.expandP); +$(this).unbind(".layout"); +$(_3dd).layout("options").onCollapse.call(_3dd,_3de); +}); +function _3e3(dir){ +var _3e7={"east":"left","west":"right","north":"down","south":"up"}; +var isns=(_3e1.region=="north"||_3e1.region=="south"); +var icon="layout-button-"+_3e7[dir]; +var p=$("
        ").appendTo(_3dd); +p.panel($.extend({},$.fn.layout.paneldefaults,{cls:("layout-expand layout-expand-"+dir),title:" ",titleDirection:_3e1.titleDirection,iconCls:(_3e1.hideCollapsedContent?null:_3e1.iconCls),closed:true,minWidth:0,minHeight:0,doSize:false,region:_3e1.region,collapsedSize:_3e1.collapsedSize,noheader:(!isns&&_3e1.hideExpandTool),tools:((isns&&_3e1.hideExpandTool)?null:[{iconCls:icon,handler:function(){ +_3ef(_3dd,_3de); +return false; +}}]),onResize:function(){ +var _3e8=$(this).children(".layout-expand-title"); +if(_3e8.length){ +_3e8._outerWidth($(this).height()); +var left=($(this).width()-Math.min(_3e8._outerWidth(),_3e8._outerHeight()))/2; +var top=Math.max(_3e8._outerWidth(),_3e8._outerHeight()); +if(_3e8.hasClass("layout-expand-title-down")){ +left+=Math.min(_3e8._outerWidth(),_3e8._outerHeight()); +top=0; +} +_3e8.css({left:(left+"px"),top:(top+"px")}); +} +}})); +if(!_3e1.hideCollapsedContent){ +var _3e9=typeof _3e1.collapsedContent=="function"?_3e1.collapsedContent.call(p[0],_3e1.title):_3e1.collapsedContent; +isns?p.panel("setTitle",_3e9):p.html(_3e9); +} +p.panel("panel").hover(function(){ +$(this).addClass("layout-expand-over"); +},function(){ +$(this).removeClass("layout-expand-over"); +}); +return p; +}; +function _3e5(){ +var cc=$(_3dd); +var _3ea=_3e0.center.panel("options"); +var _3eb=_3e1.collapsedSize; +if(_3de=="east"){ +var _3ec=p.panel("panel")._outerWidth(); +var _3ed=_3ea.width+_3ec-_3eb; +if(_3e1.split||!_3e1.border){ +_3ed++; +} +return {resizeC:{width:_3ed},expand:{left:cc.width()-_3ec},expandP:{top:_3ea.top,left:cc.width()-_3eb,width:_3eb,height:_3ea.height},collapse:{left:cc.width(),top:_3ea.top,height:_3ea.height}}; +}else{ +if(_3de=="west"){ +var _3ec=p.panel("panel")._outerWidth(); +var _3ed=_3ea.width+_3ec-_3eb; +if(_3e1.split||!_3e1.border){ +_3ed++; +} +return {resizeC:{width:_3ed,left:_3eb-1},expand:{left:0},expandP:{left:0,top:_3ea.top,width:_3eb,height:_3ea.height},collapse:{left:-_3ec,top:_3ea.top,height:_3ea.height}}; +}else{ +if(_3de=="north"){ +var _3ee=p.panel("panel")._outerHeight(); +var hh=_3ea.height; +if(!_3b6(_3e0.expandNorth)){ +hh+=_3ee-_3eb+((_3e1.split||!_3e1.border)?1:0); +} +_3e0.east.add(_3e0.west).add(_3e0.expandEast).add(_3e0.expandWest).panel("resize",{top:_3eb-1,height:hh}); +return {resizeC:{top:_3eb-1,height:hh},expand:{top:0},expandP:{top:0,left:0,width:cc.width(),height:_3eb},collapse:{top:-_3ee,width:cc.width()}}; +}else{ +if(_3de=="south"){ +var _3ee=p.panel("panel")._outerHeight(); +var hh=_3ea.height; +if(!_3b6(_3e0.expandSouth)){ +hh+=_3ee-_3eb+((_3e1.split||!_3e1.border)?1:0); +} +_3e0.east.add(_3e0.west).add(_3e0.expandEast).add(_3e0.expandWest).panel("resize",{height:hh}); +return {resizeC:{height:hh},expand:{top:cc.height()-_3ee},expandP:{top:cc.height()-_3eb,left:0,width:cc.width(),height:_3eb},collapse:{top:cc.height(),width:cc.width()}}; +} +} +} +} +}; +}; +function _3ef(_3f0,_3f1){ +var _3f2=$.data(_3f0,"layout").panels; +var p=_3f2[_3f1]; +var _3f3=p.panel("options"); +if(_3f3.onBeforeExpand.call(p)==false){ +return; +} +var _3f4="expand"+_3f1.substring(0,1).toUpperCase()+_3f1.substring(1); +if(_3f2[_3f4]){ +_3f2[_3f4].panel("close"); +p.panel("panel").stop(true,true); +p.panel("expand",false).panel("open"); +var _3f5=_3f6(); +p.panel("resize",_3f5.collapse); +p.panel("panel").animate(_3f5.expand,function(){ +_3b0(_3f0); +$(_3f0).layout("options").onExpand.call(_3f0,_3f1); +}); +} +function _3f6(){ +var cc=$(_3f0); +var _3f7=_3f2.center.panel("options"); +if(_3f1=="east"&&_3f2.expandEast){ +return {collapse:{left:cc.width(),top:_3f7.top,height:_3f7.height},expand:{left:cc.width()-p.panel("panel")._outerWidth()}}; +}else{ +if(_3f1=="west"&&_3f2.expandWest){ +return {collapse:{left:-p.panel("panel")._outerWidth(),top:_3f7.top,height:_3f7.height},expand:{left:0}}; +}else{ +if(_3f1=="north"&&_3f2.expandNorth){ +return {collapse:{top:-p.panel("panel")._outerHeight(),width:cc.width()},expand:{top:0}}; +}else{ +if(_3f1=="south"&&_3f2.expandSouth){ +return {collapse:{top:cc.height(),width:cc.width()},expand:{top:cc.height()-p.panel("panel")._outerHeight()}}; +} +} +} +} +}; +}; +function _3b6(pp){ +if(!pp){ +return false; +} +if(pp.length){ +return pp.panel("panel").is(":visible"); +}else{ +return false; +} +}; +function _3f8(_3f9){ +var _3fa=$.data(_3f9,"layout"); +var opts=_3fa.options; +var _3fb=_3fa.panels; +var _3fc=opts.onCollapse; +opts.onCollapse=function(){ +}; +_3fd("east"); +_3fd("west"); +_3fd("north"); +_3fd("south"); +opts.onCollapse=_3fc; +function _3fd(_3fe){ +var p=_3fb[_3fe]; +if(p.length&&p.panel("options").collapsed){ +_3dc(_3f9,_3fe,0); +} +}; +}; +function _3ff(_400,_401,_402){ +var p=$(_400).layout("panel",_401); +p.panel("options").split=_402; +var cls="layout-split-"+_401; +var _403=p.panel("panel").removeClass(cls); +if(_402){ +_403.addClass(cls); +} +_403.resizable({disabled:(!_402)}); +_3b0(_400); +}; +$.fn.layout=function(_404,_405){ +if(typeof _404=="string"){ +return $.fn.layout.methods[_404](this,_405); +} +_404=_404||{}; +return this.each(function(){ +var _406=$.data(this,"layout"); +if(_406){ +$.extend(_406.options,_404); +}else{ +var opts=$.extend({},$.fn.layout.defaults,$.fn.layout.parseOptions(this),_404); +$.data(this,"layout",{options:opts,panels:{center:$(),north:$(),south:$(),east:$(),west:$()}}); +init(this); +} +_3b0(this); +_3f8(this); +}); +}; +$.fn.layout.methods={options:function(jq){ +return $.data(jq[0],"layout").options; +},resize:function(jq,_407){ +return jq.each(function(){ +_3b0(this,_407); +}); +},panel:function(jq,_408){ +return $.data(jq[0],"layout").panels[_408]; +},collapse:function(jq,_409){ +return jq.each(function(){ +_3dc(this,_409); +}); +},expand:function(jq,_40a){ +return jq.each(function(){ +_3ef(this,_40a); +}); +},add:function(jq,_40b){ +return jq.each(function(){ +_3bf(this,_40b); +_3b0(this); +if($(this).layout("panel",_40b.region).panel("options").collapsed){ +_3dc(this,_40b.region,0); +} +}); +},remove:function(jq,_40c){ +return jq.each(function(){ +_3d7(this,_40c); +_3b0(this); +}); +},split:function(jq,_40d){ +return jq.each(function(){ +_3ff(this,_40d,true); +}); +},unsplit:function(jq,_40e){ +return jq.each(function(){ +_3ff(this,_40e,false); +}); +}}; +$.fn.layout.parseOptions=function(_40f){ +return $.extend({},$.parser.parseOptions(_40f,[{fit:"boolean"}])); +}; +$.fn.layout.defaults={fit:false,onExpand:function(_410){ +},onCollapse:function(_411){ +},onAdd:function(_412){ +},onRemove:function(_413){ +}}; +$.fn.layout.parsePanelOptions=function(_414){ +var t=$(_414); +return $.extend({},$.fn.panel.parseOptions(_414),$.parser.parseOptions(_414,["region",{split:"boolean",collpasedSize:"number",minWidth:"number",minHeight:"number",maxWidth:"number",maxHeight:"number"}])); +}; +$.fn.layout.paneldefaults=$.extend({},$.fn.panel.defaults,{region:null,split:false,collapsedSize:28,expandMode:"float",hideExpandTool:false,hideCollapsedContent:true,collapsedContent:function(_415){ +var p=$(this); +var opts=p.panel("options"); +if(opts.region=="north"||opts.region=="south"){ +return _415; +} +var cc=[]; +if(opts.iconCls){ +cc.push("
        "); +} +cc.push("
        "); +cc.push(_415); +cc.push("
        "); +return cc.join(""); +},minWidth:10,minHeight:10,maxWidth:10000,maxHeight:10000}); +})(jQuery); +(function($){ +$(function(){ +$(document).unbind(".menu").bind("mousedown.menu",function(e){ +var m=$(e.target).closest("div.menu,div.combo-p"); +if(m.length){ +return; +} +$("body>div.menu-top:visible").not(".menu-inline").menu("hide"); +_416($("body>div.menu:visible").not(".menu-inline")); +}); +}); +function init(_417){ +var opts=$.data(_417,"menu").options; +$(_417).addClass("menu-top"); +opts.inline?$(_417).addClass("menu-inline"):$(_417).appendTo("body"); +$(_417).bind("_resize",function(e,_418){ +if($(this).hasClass("easyui-fluid")||_418){ +$(_417).menu("resize",_417); +} +return false; +}); +var _419=_41a($(_417)); +for(var i=0;i<_419.length;i++){ +_41d(_417,_419[i]); +} +function _41a(menu){ +var _41b=[]; +menu.addClass("menu"); +_41b.push(menu); +if(!menu.hasClass("menu-content")){ +menu.children("div").each(function(){ +var _41c=$(this).children("div"); +if(_41c.length){ +_41c.appendTo("body"); +this.submenu=_41c; +var mm=_41a(_41c); +_41b=_41b.concat(mm); +} +}); +} +return _41b; +}; +}; +function _41d(_41e,div){ +var menu=$(div).addClass("menu"); +if(!menu.data("menu")){ +menu.data("menu",{options:$.parser.parseOptions(menu[0],["width","height"])}); +} +if(!menu.hasClass("menu-content")){ +menu.children("div").each(function(){ +_41f(_41e,this); +}); +$("
        ").prependTo(menu); +} +_420(_41e,menu); +if(!menu.hasClass("menu-inline")){ +menu.hide(); +} +_421(_41e,menu); +}; +function _41f(_422,div,_423){ +var item=$(div); +var _424=$.extend({},$.parser.parseOptions(item[0],["id","name","iconCls","href",{separator:"boolean"}]),{disabled:(item.attr("disabled")?true:undefined),text:$.trim(item.html()),onclick:item[0].onclick},_423||{}); +_424.onclick=_424.onclick||_424.handler||null; +item.data("menuitem",{options:_424}); +if(_424.separator){ +item.addClass("menu-sep"); +} +if(!item.hasClass("menu-sep")){ +item.addClass("menu-item"); +item.empty().append($("
        ").html(_424.text)); +if(_424.iconCls){ +$("
        ").addClass(_424.iconCls).appendTo(item); +} +if(_424.id){ +item.attr("id",_424.id); +} +if(_424.onclick){ +if(typeof _424.onclick=="string"){ +item.attr("onclick",_424.onclick); +}else{ +item[0].onclick=eval(_424.onclick); +} +} +if(_424.disabled){ +_425(_422,item[0],true); +} +if(item[0].submenu){ +$("
        ").appendTo(item); +} +} +}; +function _420(_426,menu){ +var opts=$.data(_426,"menu").options; +var _427=menu.attr("style")||""; +var _428=menu.is(":visible"); +menu.css({display:"block",left:-10000,height:"auto",overflow:"hidden"}); +menu.find(".menu-item").each(function(){ +$(this)._outerHeight(opts.itemHeight); +$(this).find(".menu-text").css({height:(opts.itemHeight-2)+"px",lineHeight:(opts.itemHeight-2)+"px"}); +}); +menu.removeClass("menu-noline").addClass(opts.noline?"menu-noline":""); +var _429=menu.data("menu").options; +var _42a=_429.width; +var _42b=_429.height; +if(isNaN(parseInt(_42a))){ +_42a=0; +menu.find("div.menu-text").each(function(){ +if(_42a<$(this).outerWidth()){ +_42a=$(this).outerWidth(); +} +}); +_42a=_42a?_42a+40:""; +} +var _42c=menu.outerHeight(); +if(isNaN(parseInt(_42b))){ +_42b=_42c; +if(menu.hasClass("menu-top")&&opts.alignTo){ +var at=$(opts.alignTo); +var h1=at.offset().top-$(document).scrollTop(); +var h2=$(window)._outerHeight()+$(document).scrollTop()-at.offset().top-at._outerHeight(); +_42b=Math.min(_42b,Math.max(h1,h2)); +}else{ +if(_42b>$(window)._outerHeight()){ +_42b=$(window).height(); +} +} +} +menu.attr("style",_427); +menu.show(); +menu._size($.extend({},_429,{width:_42a,height:_42b,minWidth:_429.minWidth||opts.minWidth,maxWidth:_429.maxWidth||opts.maxWidth})); +menu.find(".easyui-fluid").triggerHandler("_resize",[true]); +menu.css("overflow",menu.outerHeight()<_42c?"auto":"hidden"); +menu.children("div.menu-line")._outerHeight(_42c-2); +if(!_428){ +menu.hide(); +} +}; +function _421(_42d,menu){ +var _42e=$.data(_42d,"menu"); +var opts=_42e.options; +menu.unbind(".menu"); +for(var _42f in opts.events){ +menu.bind(_42f+".menu",{target:_42d},opts.events[_42f]); +} +}; +function _430(e){ +var _431=e.data.target; +var _432=$.data(_431,"menu"); +if(_432.timer){ +clearTimeout(_432.timer); +_432.timer=null; +} +}; +function _433(e){ +var _434=e.data.target; +var _435=$.data(_434,"menu"); +if(_435.options.hideOnUnhover){ +_435.timer=setTimeout(function(){ +_436(_434,$(_434).hasClass("menu-inline")); +},_435.options.duration); +} +}; +function _437(e){ +var _438=e.data.target; +var item=$(e.target).closest(".menu-item"); +if(item.length){ +item.siblings().each(function(){ +if(this.submenu){ +_416(this.submenu); +} +$(this).removeClass("menu-active"); +}); +item.addClass("menu-active"); +if(item.hasClass("menu-item-disabled")){ +item.addClass("menu-active-disabled"); +return; +} +var _439=item[0].submenu; +if(_439){ +$(_438).menu("show",{menu:_439,parent:item}); +} +} +}; +function _43a(e){ +var item=$(e.target).closest(".menu-item"); +if(item.length){ +item.removeClass("menu-active menu-active-disabled"); +var _43b=item[0].submenu; +if(_43b){ +if(e.pageX>=parseInt(_43b.css("left"))){ +item.addClass("menu-active"); +}else{ +_416(_43b); +} +}else{ +item.removeClass("menu-active"); +} +} +}; +function _43c(e){ +var _43d=e.data.target; +var item=$(e.target).closest(".menu-item"); +if(item.length){ +var opts=$(_43d).data("menu").options; +var _43e=item.data("menuitem").options; +if(_43e.disabled){ +return; +} +if(!item[0].submenu){ +_436(_43d,opts.inline); +if(_43e.href){ +location.href=_43e.href; +} +} +item.trigger("mouseenter"); +opts.onClick.call(_43d,$(_43d).menu("getItem",item[0])); +} +}; +function _436(_43f,_440){ +var _441=$.data(_43f,"menu"); +if(_441){ +if($(_43f).is(":visible")){ +_416($(_43f)); +if(_440){ +$(_43f).show(); +}else{ +_441.options.onHide.call(_43f); +} +} +} +return false; +}; +function _442(_443,_444){ +_444=_444||{}; +var left,top; +var opts=$.data(_443,"menu").options; +var menu=$(_444.menu||_443); +$(_443).menu("resize",menu[0]); +if(menu.hasClass("menu-top")){ +$.extend(opts,_444); +left=opts.left; +top=opts.top; +if(opts.alignTo){ +var at=$(opts.alignTo); +left=at.offset().left; +top=at.offset().top+at._outerHeight(); +if(opts.align=="right"){ +left+=at.outerWidth()-menu.outerWidth(); +} +} +if(left+menu.outerWidth()>$(window)._outerWidth()+$(document)._scrollLeft()){ +left=$(window)._outerWidth()+$(document).scrollLeft()-menu.outerWidth()-5; +} +if(left<0){ +left=0; +} +top=_445(top,opts.alignTo); +}else{ +var _446=_444.parent; +left=_446.offset().left+_446.outerWidth()-2; +if(left+menu.outerWidth()+5>$(window)._outerWidth()+$(document).scrollLeft()){ +left=_446.offset().left-menu.outerWidth()+2; +} +top=_445(_446.offset().top-3); +} +function _445(top,_447){ +if(top+menu.outerHeight()>$(window)._outerHeight()+$(document).scrollTop()){ +if(_447){ +top=$(_447).offset().top-menu._outerHeight(); +}else{ +top=$(window)._outerHeight()+$(document).scrollTop()-menu.outerHeight(); +} +} +if(top<0){ +top=0; +} +return top; +}; +menu.css(opts.position.call(_443,menu[0],left,top)); +menu.show(0,function(){ +if(!menu[0].shadow){ +menu[0].shadow=$("
        ").insertAfter(menu); +} +menu[0].shadow.css({display:(menu.hasClass("menu-inline")?"none":"block"),zIndex:$.fn.menu.defaults.zIndex++,left:menu.css("left"),top:menu.css("top"),width:menu.outerWidth(),height:menu.outerHeight()}); +menu.css("z-index",$.fn.menu.defaults.zIndex++); +if(menu.hasClass("menu-top")){ +opts.onShow.call(_443); +} +}); +}; +function _416(menu){ +if(menu&&menu.length){ +_448(menu); +menu.find("div.menu-item").each(function(){ +if(this.submenu){ +_416(this.submenu); +} +$(this).removeClass("menu-active"); +}); +} +function _448(m){ +m.stop(true,true); +if(m[0].shadow){ +m[0].shadow.hide(); +} +m.hide(); +}; +}; +function _449(_44a,text){ +var _44b=null; +var tmp=$("
        "); +function find(menu){ +menu.children("div.menu-item").each(function(){ +var item=$(_44a).menu("getItem",this); +var s=tmp.empty().html(item.text).text(); +if(text==$.trim(s)){ +_44b=item; +}else{ +if(this.submenu&&!_44b){ +find(this.submenu); +} +} +}); +}; +find($(_44a)); +tmp.remove(); +return _44b; +}; +function _425(_44c,_44d,_44e){ +var t=$(_44d); +if(t.hasClass("menu-item")){ +var opts=t.data("menuitem").options; +opts.disabled=_44e; +if(_44e){ +t.addClass("menu-item-disabled"); +t[0].onclick=null; +}else{ +t.removeClass("menu-item-disabled"); +t[0].onclick=opts.onclick; +} +} +}; +function _44f(_450,_451){ +var opts=$.data(_450,"menu").options; +var menu=$(_450); +if(_451.parent){ +if(!_451.parent.submenu){ +var _452=$("
        ").appendTo("body"); +_451.parent.submenu=_452; +$("
        ").appendTo(_451.parent); +_41d(_450,_452); +} +menu=_451.parent.submenu; +} +var div=$("
        ").appendTo(menu); +_41f(_450,div,_451); +}; +function _453(_454,_455){ +function _456(el){ +if(el.submenu){ +el.submenu.children("div.menu-item").each(function(){ +_456(this); +}); +var _457=el.submenu[0].shadow; +if(_457){ +_457.remove(); +} +el.submenu.remove(); +} +$(el).remove(); +}; +_456(_455); +}; +function _458(_459,_45a,_45b){ +var menu=$(_45a).parent(); +if(_45b){ +$(_45a).show(); +}else{ +$(_45a).hide(); +} +_420(_459,menu); +}; +function _45c(_45d){ +$(_45d).children("div.menu-item").each(function(){ +_453(_45d,this); +}); +if(_45d.shadow){ +_45d.shadow.remove(); +} +$(_45d).remove(); +}; +$.fn.menu=function(_45e,_45f){ +if(typeof _45e=="string"){ +return $.fn.menu.methods[_45e](this,_45f); +} +_45e=_45e||{}; +return this.each(function(){ +var _460=$.data(this,"menu"); +if(_460){ +$.extend(_460.options,_45e); +}else{ +_460=$.data(this,"menu",{options:$.extend({},$.fn.menu.defaults,$.fn.menu.parseOptions(this),_45e)}); +init(this); +} +$(this).css({left:_460.options.left,top:_460.options.top}); +}); +}; +$.fn.menu.methods={options:function(jq){ +return $.data(jq[0],"menu").options; +},show:function(jq,pos){ +return jq.each(function(){ +_442(this,pos); +}); +},hide:function(jq){ +return jq.each(function(){ +_436(this); +}); +},destroy:function(jq){ +return jq.each(function(){ +_45c(this); +}); +},setText:function(jq,_461){ +return jq.each(function(){ +var item=$(_461.target).data("menuitem").options; +item.text=_461.text; +$(_461.target).children("div.menu-text").html(_461.text); +}); +},setIcon:function(jq,_462){ +return jq.each(function(){ +var item=$(_462.target).data("menuitem").options; +item.iconCls=_462.iconCls; +$(_462.target).children("div.menu-icon").remove(); +if(_462.iconCls){ +$("
        ").addClass(_462.iconCls).appendTo(_462.target); +} +}); +},getItem:function(jq,_463){ +var item=$(_463).data("menuitem").options; +return $.extend({},item,{target:$(_463)[0]}); +},findItem:function(jq,text){ +return _449(jq[0],text); +},appendItem:function(jq,_464){ +return jq.each(function(){ +_44f(this,_464); +}); +},removeItem:function(jq,_465){ +return jq.each(function(){ +_453(this,_465); +}); +},enableItem:function(jq,_466){ +return jq.each(function(){ +_425(this,_466,false); +}); +},disableItem:function(jq,_467){ +return jq.each(function(){ +_425(this,_467,true); +}); +},showItem:function(jq,_468){ +return jq.each(function(){ +_458(this,_468,true); +}); +},hideItem:function(jq,_469){ +return jq.each(function(){ +_458(this,_469,false); +}); +},resize:function(jq,_46a){ +return jq.each(function(){ +_420(this,_46a?$(_46a):$(this)); +}); +}}; +$.fn.menu.parseOptions=function(_46b){ +return $.extend({},$.parser.parseOptions(_46b,[{minWidth:"number",itemHeight:"number",duration:"number",hideOnUnhover:"boolean"},{fit:"boolean",inline:"boolean",noline:"boolean"}])); +}; +$.fn.menu.defaults={zIndex:110000,left:0,top:0,alignTo:null,align:"left",minWidth:120,itemHeight:22,duration:100,hideOnUnhover:true,inline:false,fit:false,noline:false,events:{mouseenter:_430,mouseleave:_433,mouseover:_437,mouseout:_43a,click:_43c},position:function(_46c,left,top){ +return {left:left,top:top}; +},onShow:function(){ +},onHide:function(){ +},onClick:function(item){ +}}; +})(jQuery); +(function($){ +function init(_46d){ +var opts=$.data(_46d,"menubutton").options; +var btn=$(_46d); +btn.linkbutton(opts); +if(opts.hasDownArrow){ +btn.removeClass(opts.cls.btn1+" "+opts.cls.btn2).addClass("m-btn"); +btn.removeClass("m-btn-small m-btn-medium m-btn-large").addClass("m-btn-"+opts.size); +var _46e=btn.find(".l-btn-left"); +$("").addClass(opts.cls.arrow).appendTo(_46e); +$("").addClass("m-btn-line").appendTo(_46e); +} +$(_46d).menubutton("resize"); +if(opts.menu){ +$(opts.menu).menu({duration:opts.duration}); +var _46f=$(opts.menu).menu("options"); +var _470=_46f.onShow; +var _471=_46f.onHide; +$.extend(_46f,{onShow:function(){ +var _472=$(this).menu("options"); +var btn=$(_472.alignTo); +var opts=btn.menubutton("options"); +btn.addClass((opts.plain==true)?opts.cls.btn2:opts.cls.btn1); +_470.call(this); +},onHide:function(){ +var _473=$(this).menu("options"); +var btn=$(_473.alignTo); +var opts=btn.menubutton("options"); +btn.removeClass((opts.plain==true)?opts.cls.btn2:opts.cls.btn1); +_471.call(this); +}}); +} +}; +function _474(_475){ +var opts=$.data(_475,"menubutton").options; +var btn=$(_475); +var t=btn.find("."+opts.cls.trigger); +if(!t.length){ +t=btn; +} +t.unbind(".menubutton"); +var _476=null; +t.bind("click.menubutton",function(){ +if(!_477()){ +_478(_475); +return false; +} +}).bind("mouseenter.menubutton",function(){ +if(!_477()){ +_476=setTimeout(function(){ +_478(_475); +},opts.duration); +return false; +} +}).bind("mouseleave.menubutton",function(){ +if(_476){ +clearTimeout(_476); +} +$(opts.menu).triggerHandler("mouseleave"); +}); +function _477(){ +return $(_475).linkbutton("options").disabled; +}; +}; +function _478(_479){ +var opts=$(_479).menubutton("options"); +if(opts.disabled||!opts.menu){ +return; +} +$("body>div.menu-top").menu("hide"); +var btn=$(_479); +var mm=$(opts.menu); +if(mm.length){ +mm.menu("options").alignTo=btn; +mm.menu("show",{alignTo:btn,align:opts.menuAlign}); +} +btn.blur(); +}; +$.fn.menubutton=function(_47a,_47b){ +if(typeof _47a=="string"){ +var _47c=$.fn.menubutton.methods[_47a]; +if(_47c){ +return _47c(this,_47b); +}else{ +return this.linkbutton(_47a,_47b); +} +} +_47a=_47a||{}; +return this.each(function(){ +var _47d=$.data(this,"menubutton"); +if(_47d){ +$.extend(_47d.options,_47a); +}else{ +$.data(this,"menubutton",{options:$.extend({},$.fn.menubutton.defaults,$.fn.menubutton.parseOptions(this),_47a)}); +$(this).removeAttr("disabled"); +} +init(this); +_474(this); +}); +}; +$.fn.menubutton.methods={options:function(jq){ +var _47e=jq.linkbutton("options"); +return $.extend($.data(jq[0],"menubutton").options,{toggle:_47e.toggle,selected:_47e.selected,disabled:_47e.disabled}); +},destroy:function(jq){ +return jq.each(function(){ +var opts=$(this).menubutton("options"); +if(opts.menu){ +$(opts.menu).menu("destroy"); +} +$(this).remove(); +}); +}}; +$.fn.menubutton.parseOptions=function(_47f){ +var t=$(_47f); +return $.extend({},$.fn.linkbutton.parseOptions(_47f),$.parser.parseOptions(_47f,["menu",{plain:"boolean",hasDownArrow:"boolean",duration:"number"}])); +}; +$.fn.menubutton.defaults=$.extend({},$.fn.linkbutton.defaults,{plain:true,hasDownArrow:true,menu:null,menuAlign:"left",duration:100,cls:{btn1:"m-btn-active",btn2:"m-btn-plain-active",arrow:"m-btn-downarrow",trigger:"m-btn"}}); +})(jQuery); +(function($){ +function init(_480){ +var opts=$.data(_480,"splitbutton").options; +$(_480).menubutton(opts); +$(_480).addClass("s-btn"); +}; +$.fn.splitbutton=function(_481,_482){ +if(typeof _481=="string"){ +var _483=$.fn.splitbutton.methods[_481]; +if(_483){ +return _483(this,_482); +}else{ +return this.menubutton(_481,_482); +} +} +_481=_481||{}; +return this.each(function(){ +var _484=$.data(this,"splitbutton"); +if(_484){ +$.extend(_484.options,_481); +}else{ +$.data(this,"splitbutton",{options:$.extend({},$.fn.splitbutton.defaults,$.fn.splitbutton.parseOptions(this),_481)}); +$(this).removeAttr("disabled"); +} +init(this); +}); +}; +$.fn.splitbutton.methods={options:function(jq){ +var _485=jq.menubutton("options"); +var _486=$.data(jq[0],"splitbutton").options; +$.extend(_486,{disabled:_485.disabled,toggle:_485.toggle,selected:_485.selected}); +return _486; +}}; +$.fn.splitbutton.parseOptions=function(_487){ +var t=$(_487); +return $.extend({},$.fn.linkbutton.parseOptions(_487),$.parser.parseOptions(_487,["menu",{plain:"boolean",duration:"number"}])); +}; +$.fn.splitbutton.defaults=$.extend({},$.fn.linkbutton.defaults,{plain:true,menu:null,duration:100,cls:{btn1:"m-btn-active s-btn-active",btn2:"m-btn-plain-active s-btn-plain-active",arrow:"m-btn-downarrow",trigger:"m-btn-line"}}); +})(jQuery); +(function($){ +function init(_488){ +var _489=$(""+""+""+""+""+""+""+"").insertAfter(_488); +var t=$(_488); +t.addClass("switchbutton-f").hide(); +var name=t.attr("name"); +if(name){ +t.removeAttr("name").attr("switchbuttonName",name); +_489.find(".switchbutton-value").attr("name",name); +} +_489.bind("_resize",function(e,_48a){ +if($(this).hasClass("easyui-fluid")||_48a){ +_48b(_488); +} +return false; +}); +return _489; +}; +function _48b(_48c,_48d){ +var _48e=$.data(_48c,"switchbutton"); +var opts=_48e.options; +var _48f=_48e.switchbutton; +if(_48d){ +$.extend(opts,_48d); +} +var _490=_48f.is(":visible"); +if(!_490){ +_48f.appendTo("body"); +} +_48f._size(opts); +var w=_48f.width(); +var h=_48f.height(); +var w=_48f.outerWidth(); +var h=_48f.outerHeight(); +var _491=parseInt(opts.handleWidth)||_48f.height(); +var _492=w*2-_491; +_48f.find(".switchbutton-inner").css({width:_492+"px",height:h+"px",lineHeight:h+"px"}); +_48f.find(".switchbutton-handle")._outerWidth(_491)._outerHeight(h).css({marginLeft:-_491/2+"px"}); +_48f.find(".switchbutton-on").css({width:(w-_491/2)+"px",textIndent:(opts.reversed?"":"-")+_491/2+"px"}); +_48f.find(".switchbutton-off").css({width:(w-_491/2)+"px",textIndent:(opts.reversed?"-":"")+_491/2+"px"}); +opts.marginWidth=w-_491; +_493(_48c,opts.checked,false); +if(!_490){ +_48f.insertAfter(_48c); +} +}; +function _494(_495){ +var _496=$.data(_495,"switchbutton"); +var opts=_496.options; +var _497=_496.switchbutton; +var _498=_497.find(".switchbutton-inner"); +var on=_498.find(".switchbutton-on").html(opts.onText); +var off=_498.find(".switchbutton-off").html(opts.offText); +var _499=_498.find(".switchbutton-handle").html(opts.handleText); +if(opts.reversed){ +off.prependTo(_498); +on.insertAfter(_499); +}else{ +on.prependTo(_498); +off.insertAfter(_499); +} +_497.find(".switchbutton-value")._propAttr("checked",opts.checked); +_497.removeClass("switchbutton-disabled").addClass(opts.disabled?"switchbutton-disabled":""); +_497.removeClass("switchbutton-reversed").addClass(opts.reversed?"switchbutton-reversed":""); +_493(_495,opts.checked); +_49a(_495,opts.readonly); +$(_495).switchbutton("setValue",opts.value); +}; +function _493(_49b,_49c,_49d){ +var _49e=$.data(_49b,"switchbutton"); +var opts=_49e.options; +opts.checked=_49c; +var _49f=_49e.switchbutton.find(".switchbutton-inner"); +var _4a0=_49f.find(".switchbutton-on"); +var _4a1=opts.reversed?(opts.checked?opts.marginWidth:0):(opts.checked?0:opts.marginWidth); +var dir=_4a0.css("float").toLowerCase(); +var css={}; +css["margin-"+dir]=-_4a1+"px"; +_49d?_49f.animate(css,200):_49f.css(css); +var _4a2=_49f.find(".switchbutton-value"); +var ck=_4a2.is(":checked"); +$(_49b).add(_4a2)._propAttr("checked",opts.checked); +if(ck!=opts.checked){ +opts.onChange.call(_49b,opts.checked); +} +}; +function _4a3(_4a4,_4a5){ +var _4a6=$.data(_4a4,"switchbutton"); +var opts=_4a6.options; +var _4a7=_4a6.switchbutton; +var _4a8=_4a7.find(".switchbutton-value"); +if(_4a5){ +opts.disabled=true; +$(_4a4).add(_4a8).attr("disabled","disabled"); +_4a7.addClass("switchbutton-disabled"); +}else{ +opts.disabled=false; +$(_4a4).add(_4a8).removeAttr("disabled"); +_4a7.removeClass("switchbutton-disabled"); +} +}; +function _49a(_4a9,mode){ +var _4aa=$.data(_4a9,"switchbutton"); +var opts=_4aa.options; +opts.readonly=mode==undefined?true:mode; +_4aa.switchbutton.removeClass("switchbutton-readonly").addClass(opts.readonly?"switchbutton-readonly":""); +}; +function _4ab(_4ac){ +var _4ad=$.data(_4ac,"switchbutton"); +var opts=_4ad.options; +_4ad.switchbutton.unbind(".switchbutton").bind("click.switchbutton",function(){ +if(!opts.disabled&&!opts.readonly){ +_493(_4ac,opts.checked?false:true,true); +} +}); +}; +$.fn.switchbutton=function(_4ae,_4af){ +if(typeof _4ae=="string"){ +return $.fn.switchbutton.methods[_4ae](this,_4af); +} +_4ae=_4ae||{}; +return this.each(function(){ +var _4b0=$.data(this,"switchbutton"); +if(_4b0){ +$.extend(_4b0.options,_4ae); +}else{ +_4b0=$.data(this,"switchbutton",{options:$.extend({},$.fn.switchbutton.defaults,$.fn.switchbutton.parseOptions(this),_4ae),switchbutton:init(this)}); +} +_4b0.options.originalChecked=_4b0.options.checked; +_494(this); +_48b(this); +_4ab(this); +}); +}; +$.fn.switchbutton.methods={options:function(jq){ +var _4b1=jq.data("switchbutton"); +return $.extend(_4b1.options,{value:_4b1.switchbutton.find(".switchbutton-value").val()}); +},resize:function(jq,_4b2){ +return jq.each(function(){ +_48b(this,_4b2); +}); +},enable:function(jq){ +return jq.each(function(){ +_4a3(this,false); +}); +},disable:function(jq){ +return jq.each(function(){ +_4a3(this,true); +}); +},readonly:function(jq,mode){ +return jq.each(function(){ +_49a(this,mode); +}); +},check:function(jq){ +return jq.each(function(){ +_493(this,true); +}); +},uncheck:function(jq){ +return jq.each(function(){ +_493(this,false); +}); +},clear:function(jq){ +return jq.each(function(){ +_493(this,false); +}); +},reset:function(jq){ +return jq.each(function(){ +var opts=$(this).switchbutton("options"); +_493(this,opts.originalChecked); +}); +},setValue:function(jq,_4b3){ +return jq.each(function(){ +$(this).val(_4b3); +$.data(this,"switchbutton").switchbutton.find(".switchbutton-value").val(_4b3); +}); +}}; +$.fn.switchbutton.parseOptions=function(_4b4){ +var t=$(_4b4); +return $.extend({},$.parser.parseOptions(_4b4,["onText","offText","handleText",{handleWidth:"number",reversed:"boolean"}]),{value:(t.val()||undefined),checked:(t.attr("checked")?true:undefined),disabled:(t.attr("disabled")?true:undefined),readonly:(t.attr("readonly")?true:undefined)}); +}; +$.fn.switchbutton.defaults={handleWidth:"auto",width:60,height:26,checked:false,disabled:false,readonly:false,reversed:false,onText:"ON",offText:"OFF",handleText:"",value:"on",onChange:function(_4b5){ +}}; +})(jQuery); +(function($){ +function init(_4b6){ +$(_4b6).addClass("validatebox-text"); +}; +function _4b7(_4b8){ +var _4b9=$.data(_4b8,"validatebox"); +_4b9.validating=false; +if(_4b9.vtimer){ +clearTimeout(_4b9.vtimer); +} +if(_4b9.ftimer){ +clearTimeout(_4b9.ftimer); +} +$(_4b8).tooltip("destroy"); +$(_4b8).unbind(); +$(_4b8).remove(); +}; +function _4ba(_4bb){ +var opts=$.data(_4bb,"validatebox").options; +$(_4bb).unbind(".validatebox"); +if(opts.novalidate||opts.disabled){ +return; +} +for(var _4bc in opts.events){ +$(_4bb).bind(_4bc+".validatebox",{target:_4bb},opts.events[_4bc]); +} +}; +function _4bd(e){ +var _4be=e.data.target; +var _4bf=$.data(_4be,"validatebox"); +var opts=_4bf.options; +if($(_4be).attr("readonly")){ +return; +} +_4bf.validating=true; +_4bf.value=opts.val(_4be); +(function(){ +if(!$(_4be).is(":visible")){ +_4bf.validating=false; +} +if(_4bf.validating){ +var _4c0=opts.val(_4be); +if(_4bf.value!=_4c0){ +_4bf.value=_4c0; +if(_4bf.vtimer){ +clearTimeout(_4bf.vtimer); +} +_4bf.vtimer=setTimeout(function(){ +$(_4be).validatebox("validate"); +},opts.delay); +}else{ +if(_4bf.message){ +opts.err(_4be,_4bf.message); +} +} +_4bf.ftimer=setTimeout(arguments.callee,opts.interval); +} +})(); +}; +function _4c1(e){ +var _4c2=e.data.target; +var _4c3=$.data(_4c2,"validatebox"); +var opts=_4c3.options; +_4c3.validating=false; +if(_4c3.vtimer){ +clearTimeout(_4c3.vtimer); +_4c3.vtimer=undefined; +} +if(_4c3.ftimer){ +clearTimeout(_4c3.ftimer); +_4c3.ftimer=undefined; +} +if(opts.validateOnBlur){ +setTimeout(function(){ +$(_4c2).validatebox("validate"); +},0); +} +opts.err(_4c2,_4c3.message,"hide"); +}; +function _4c4(e){ +var _4c5=e.data.target; +var _4c6=$.data(_4c5,"validatebox"); +_4c6.options.err(_4c5,_4c6.message,"show"); +}; +function _4c7(e){ +var _4c8=e.data.target; +var _4c9=$.data(_4c8,"validatebox"); +if(!_4c9.validating){ +_4c9.options.err(_4c8,_4c9.message,"hide"); +} +}; +function _4ca(_4cb,_4cc,_4cd){ +var _4ce=$.data(_4cb,"validatebox"); +var opts=_4ce.options; +var t=$(_4cb); +if(_4cd=="hide"||!_4cc){ +t.tooltip("hide"); +}else{ +if((t.is(":focus")&&_4ce.validating)||_4cd=="show"){ +t.tooltip($.extend({},opts.tipOptions,{content:_4cc,position:opts.tipPosition,deltaX:opts.deltaX,deltaY:opts.deltaY})).tooltip("show"); +} +} +}; +function _4cf(_4d0){ +var _4d1=$.data(_4d0,"validatebox"); +var opts=_4d1.options; +var box=$(_4d0); +opts.onBeforeValidate.call(_4d0); +var _4d2=_4d3(); +_4d2?box.removeClass("validatebox-invalid"):box.addClass("validatebox-invalid"); +opts.err(_4d0,_4d1.message); +opts.onValidate.call(_4d0,_4d2); +return _4d2; +function _4d4(msg){ +_4d1.message=msg; +}; +function _4d5(_4d6,_4d7){ +var _4d8=opts.val(_4d0); +var _4d9=/([a-zA-Z_]+)(.*)/.exec(_4d6); +var rule=opts.rules[_4d9[1]]; +if(rule&&_4d8){ +var _4da=_4d7||opts.validParams||eval(_4d9[2]); +if(!rule["validator"].call(_4d0,_4d8,_4da)){ +var _4db=rule["message"]; +if(_4da){ +for(var i=0;i<_4da.length;i++){ +_4db=_4db.replace(new RegExp("\\{"+i+"\\}","g"),_4da[i]); +} +} +_4d4(opts.invalidMessage||_4db); +return false; +} +} +return true; +}; +function _4d3(){ +_4d4(""); +if(!opts._validateOnCreate){ +setTimeout(function(){ +opts._validateOnCreate=true; +},0); +return true; +} +if(opts.novalidate||opts.disabled){ +return true; +} +if(opts.required){ +if(opts.val(_4d0)==""){ +_4d4(opts.missingMessage); +return false; +} +} +if(opts.validType){ +if($.isArray(opts.validType)){ +for(var i=0;i=_4ee[0]&&len<=_4ee[1]; +},message:"Please enter a value between {0} and {1}."},remote:{validator:function(_4ef,_4f0){ +var data={}; +data[_4f0[1]]=_4ef; +var _4f1=$.ajax({url:_4f0[0],dataType:"json",data:data,async:false,cache:false,type:"post"}).responseText; +return _4f1=="true"; +},message:"Please fix this field."}},onBeforeValidate:function(){ +},onValidate:function(_4f2){ +}}; +})(jQuery); +(function($){ +var _4f3=0; +function init(_4f4){ +$(_4f4).addClass("textbox-f").hide(); +var span=$(""+""+""+"").insertAfter(_4f4); +var name=$(_4f4).attr("name"); +if(name){ +span.find("input.textbox-value").attr("name",name); +$(_4f4).removeAttr("name").attr("textboxName",name); +} +return span; +}; +function _4f5(_4f6){ +var _4f7=$.data(_4f6,"textbox"); +var opts=_4f7.options; +var tb=_4f7.textbox; +var _4f8="_easyui_textbox_input"+(++_4f3); +tb.addClass(opts.cls); +tb.find(".textbox-text").remove(); +if(opts.multiline){ +$("").prependTo(tb); +}else{ +$("").prependTo(tb); +} +$("#"+_4f8).attr("tabindex",$(_4f6).attr("tabindex")||"").css("text-align",_4f6.style.textAlign||""); +tb.find(".textbox-addon").remove(); +var bb=opts.icons?$.extend(true,[],opts.icons):[]; +if(opts.iconCls){ +bb.push({iconCls:opts.iconCls,disabled:true}); +} +if(bb.length){ +var bc=$("").prependTo(tb); +bc.addClass("textbox-addon-"+opts.iconAlign); +for(var i=0;i"); +} +} +tb.find(".textbox-button").remove(); +if(opts.buttonText||opts.buttonIcon){ +var btn=$("").prependTo(tb); +btn.addClass("textbox-button-"+opts.buttonAlign).linkbutton({text:opts.buttonText,iconCls:opts.buttonIcon,onClick:function(){ +var t=$(this).parent().prev(); +t.textbox("options").onClickButton.call(t[0]); +}}); +} +if(opts.label){ +if(typeof opts.label=="object"){ +_4f7.label=$(opts.label); +_4f7.label.attr("for",_4f8); +}else{ +$(_4f7.label).remove(); +_4f7.label=$("").html(opts.label); +_4f7.label.css("textAlign",opts.labelAlign).attr("for",_4f8); +if(opts.labelPosition=="after"){ +_4f7.label.insertAfter(tb); +}else{ +_4f7.label.insertBefore(_4f6); +} +_4f7.label.removeClass("textbox-label-left textbox-label-right textbox-label-top"); +_4f7.label.addClass("textbox-label-"+opts.labelPosition); +} +}else{ +$(_4f7.label).remove(); +} +_4f9(_4f6); +_4fa(_4f6,opts.disabled); +_4fb(_4f6,opts.readonly); +}; +function _4fc(_4fd){ +var _4fe=$.data(_4fd,"textbox"); +var tb=_4fe.textbox; +tb.find(".textbox-text").validatebox("destroy"); +tb.remove(); +$(_4fe.label).remove(); +$(_4fd).remove(); +}; +function _4ff(_500,_501){ +var _502=$.data(_500,"textbox"); +var opts=_502.options; +var tb=_502.textbox; +var _503=tb.parent(); +if(_501){ +if(typeof _501=="object"){ +$.extend(opts,_501); +}else{ +opts.width=_501; +} +} +if(isNaN(parseInt(opts.width))){ +var c=$(_500).clone(); +c.css("visibility","hidden"); +c.insertAfter(_500); +opts.width=c.outerWidth(); +c.remove(); +} +var _504=tb.is(":visible"); +if(!_504){ +tb.appendTo("body"); +} +var _505=tb.find(".textbox-text"); +var btn=tb.find(".textbox-button"); +var _506=tb.find(".textbox-addon"); +var _507=_506.find(".textbox-icon"); +if(opts.height=="auto"){ +_505.css({margin:"",paddingTop:"",paddingBottom:"",height:"",lineHeight:""}); +} +tb._size(opts,_503); +if(opts.label&&opts.labelPosition){ +if(opts.labelPosition=="top"){ +_502.label._size({width:opts.labelWidth=="auto"?tb.outerWidth():opts.labelWidth},tb); +if(opts.height!="auto"){ +tb._size("height",tb.outerHeight()-_502.label.outerHeight()); +} +}else{ +_502.label._size({width:opts.labelWidth,height:tb.outerHeight()},tb); +if(!opts.multiline){ +_502.label.css("lineHeight",_502.label.height()+"px"); +} +tb._size("width",tb.outerWidth()-_502.label.outerWidth()); +} +} +if(opts.buttonAlign=="left"||opts.buttonAlign=="right"){ +btn.linkbutton("resize",{height:tb.height()}); +}else{ +btn.linkbutton("resize",{width:"100%"}); +} +var _508=tb.width()-_507.length*opts.iconWidth-_509("left")-_509("right"); +var _50a=opts.height=="auto"?_505.outerHeight():(tb.height()-_509("top")-_509("bottom")); +_506.css(opts.iconAlign,_509(opts.iconAlign)+"px"); +_506.css("top",_509("top")+"px"); +_507.css({width:opts.iconWidth+"px",height:_50a+"px"}); +_505.css({paddingLeft:(_500.style.paddingLeft||""),paddingRight:(_500.style.paddingRight||""),marginLeft:_50b("left"),marginRight:_50b("right"),marginTop:_509("top"),marginBottom:_509("bottom")}); +if(opts.multiline){ +_505.css({paddingTop:(_500.style.paddingTop||""),paddingBottom:(_500.style.paddingBottom||"")}); +_505._outerHeight(_50a); +}else{ +_505.css({paddingTop:0,paddingBottom:0,height:_50a+"px",lineHeight:_50a+"px"}); +} +_505._outerWidth(_508); +opts.onResizing.call(_500,opts.width,opts.height); +if(!_504){ +tb.insertAfter(_500); +} +opts.onResize.call(_500,opts.width,opts.height); +function _50b(_50c){ +return (opts.iconAlign==_50c?_506._outerWidth():0)+_509(_50c); +}; +function _509(_50d){ +var w=0; +btn.filter(".textbox-button-"+_50d).each(function(){ +if(_50d=="left"||_50d=="right"){ +w+=$(this).outerWidth(); +}else{ +w+=$(this).outerHeight(); +} +}); +return w; +}; +}; +function _4f9(_50e){ +var opts=$(_50e).textbox("options"); +var _50f=$(_50e).textbox("textbox"); +_50f.validatebox($.extend({},opts,{deltaX:function(_510){ +return $(_50e).textbox("getTipX",_510); +},deltaY:function(_511){ +return $(_50e).textbox("getTipY",_511); +},onBeforeValidate:function(){ +opts.onBeforeValidate.call(_50e); +var box=$(this); +if(!box.is(":focus")){ +if(box.val()!==opts.value){ +opts.oldInputValue=box.val(); +box.val(opts.value); +} +} +},onValidate:function(_512){ +var box=$(this); +if(opts.oldInputValue!=undefined){ +box.val(opts.oldInputValue); +opts.oldInputValue=undefined; +} +var tb=box.parent(); +if(_512){ +tb.removeClass("textbox-invalid"); +}else{ +tb.addClass("textbox-invalid"); +} +opts.onValidate.call(_50e,_512); +}})); +}; +function _513(_514){ +var _515=$.data(_514,"textbox"); +var opts=_515.options; +var tb=_515.textbox; +var _516=tb.find(".textbox-text"); +_516.attr("placeholder",opts.prompt); +_516.unbind(".textbox"); +$(_515.label).unbind(".textbox"); +if(!opts.disabled&&!opts.readonly){ +if(_515.label){ +$(_515.label).bind("click.textbox",function(e){ +if(!opts.hasFocusMe){ +_516.focus(); +$(_514).textbox("setSelectionRange",{start:0,end:_516.val().length}); +} +}); +} +_516.bind("blur.textbox",function(e){ +if(!tb.hasClass("textbox-focused")){ +return; +} +opts.value=$(this).val(); +if(opts.value==""){ +$(this).val(opts.prompt).addClass("textbox-prompt"); +}else{ +$(this).removeClass("textbox-prompt"); +} +tb.removeClass("textbox-focused"); +}).bind("focus.textbox",function(e){ +opts.hasFocusMe=true; +if(tb.hasClass("textbox-focused")){ +return; +} +if($(this).val()!=opts.value){ +$(this).val(opts.value); +} +$(this).removeClass("textbox-prompt"); +tb.addClass("textbox-focused"); +}); +for(var _517 in opts.inputEvents){ +_516.bind(_517+".textbox",{target:_514},opts.inputEvents[_517]); +} +} +var _518=tb.find(".textbox-addon"); +_518.unbind().bind("click",{target:_514},function(e){ +var icon=$(e.target).closest("a.textbox-icon:not(.textbox-icon-disabled)"); +if(icon.length){ +var _519=parseInt(icon.attr("icon-index")); +var conf=opts.icons[_519]; +if(conf&&conf.handler){ +conf.handler.call(icon[0],e); +} +opts.onClickIcon.call(_514,_519); +} +}); +_518.find(".textbox-icon").each(function(_51a){ +var conf=opts.icons[_51a]; +var icon=$(this); +if(!conf||conf.disabled||opts.disabled||opts.readonly){ +icon.addClass("textbox-icon-disabled"); +}else{ +icon.removeClass("textbox-icon-disabled"); +} +}); +var btn=tb.find(".textbox-button"); +btn.linkbutton((opts.disabled||opts.readonly)?"disable":"enable"); +tb.unbind(".textbox").bind("_resize.textbox",function(e,_51b){ +if($(this).hasClass("easyui-fluid")||_51b){ +_4ff(_514); +} +return false; +}); +}; +function _4fa(_51c,_51d){ +var _51e=$.data(_51c,"textbox"); +var opts=_51e.options; +var tb=_51e.textbox; +var _51f=tb.find(".textbox-text"); +var ss=$(_51c).add(tb.find(".textbox-value")); +opts.disabled=_51d; +if(opts.disabled){ +_51f.blur(); +_51f.validatebox("disable"); +tb.addClass("textbox-disabled"); +ss.attr("disabled","disabled"); +$(_51e.label).addClass("textbox-label-disabled"); +}else{ +_51f.validatebox("enable"); +tb.removeClass("textbox-disabled"); +ss.removeAttr("disabled"); +$(_51e.label).removeClass("textbox-label-disabled"); +} +}; +function _4fb(_520,mode){ +var _521=$.data(_520,"textbox"); +var opts=_521.options; +var tb=_521.textbox; +var _522=tb.find(".textbox-text"); +opts.readonly=mode==undefined?true:mode; +if(opts.readonly){ +_522.triggerHandler("blur.textbox"); +} +_522.validatebox("readonly",opts.readonly); +tb.removeClass("textbox-readonly").addClass(opts.readonly?"textbox-readonly":""); +}; +$.fn.textbox=function(_523,_524){ +if(typeof _523=="string"){ +var _525=$.fn.textbox.methods[_523]; +if(_525){ +return _525(this,_524); +}else{ +return this.each(function(){ +var _526=$(this).textbox("textbox"); +_526.validatebox(_523,_524); +}); +} +} +_523=_523||{}; +return this.each(function(){ +var _527=$.data(this,"textbox"); +if(_527){ +$.extend(_527.options,_523); +if(_523.value!=undefined){ +_527.options.originalValue=_523.value; +} +}else{ +_527=$.data(this,"textbox",{options:$.extend({},$.fn.textbox.defaults,$.fn.textbox.parseOptions(this),_523),textbox:init(this)}); +_527.options.originalValue=_527.options.value; +} +_4f5(this); +_513(this); +if(_527.options.doSize){ +_4ff(this); +} +var _528=_527.options.value; +_527.options.value=""; +$(this).textbox("initValue",_528); +}); +}; +$.fn.textbox.methods={options:function(jq){ +return $.data(jq[0],"textbox").options; +},cloneFrom:function(jq,from){ +return jq.each(function(){ +var t=$(this); +if(t.data("textbox")){ +return; +} +if(!$(from).data("textbox")){ +$(from).textbox(); +} +var opts=$.extend(true,{},$(from).textbox("options")); +var name=t.attr("name")||""; +t.addClass("textbox-f").hide(); +t.removeAttr("name").attr("textboxName",name); +var span=$(from).next().clone().insertAfter(t); +var _529="_easyui_textbox_input"+(++_4f3); +span.find(".textbox-value").attr("name",name); +span.find(".textbox-text").attr("id",_529); +var _52a=$($(from).textbox("label")).clone(); +if(_52a.length){ +_52a.attr("for",_529); +if(opts.labelPosition=="after"){ +_52a.insertAfter(t.next()); +}else{ +_52a.insertBefore(t); +} +} +$.data(this,"textbox",{options:opts,textbox:span,label:(_52a.length?_52a:undefined)}); +var _52b=$(from).textbox("button"); +if(_52b.length){ +t.textbox("button").linkbutton($.extend(true,{},_52b.linkbutton("options"))); +} +_513(this); +_4f9(this); +}); +},textbox:function(jq){ +return $.data(jq[0],"textbox").textbox.find(".textbox-text"); +},button:function(jq){ +return $.data(jq[0],"textbox").textbox.find(".textbox-button"); +},label:function(jq){ +return $.data(jq[0],"textbox").label; +},destroy:function(jq){ +return jq.each(function(){ +_4fc(this); +}); +},resize:function(jq,_52c){ +return jq.each(function(){ +_4ff(this,_52c); +}); +},disable:function(jq){ +return jq.each(function(){ +_4fa(this,true); +_513(this); +}); +},enable:function(jq){ +return jq.each(function(){ +_4fa(this,false); +_513(this); +}); +},readonly:function(jq,mode){ +return jq.each(function(){ +_4fb(this,mode); +_513(this); +}); +},isValid:function(jq){ +return jq.textbox("textbox").validatebox("isValid"); +},clear:function(jq){ +return jq.each(function(){ +$(this).textbox("setValue",""); +}); +},setText:function(jq,_52d){ +return jq.each(function(){ +var opts=$(this).textbox("options"); +var _52e=$(this).textbox("textbox"); +_52d=_52d==undefined?"":String(_52d); +if($(this).textbox("getText")!=_52d){ +_52e.val(_52d); +} +opts.value=_52d; +if(!_52e.is(":focus")){ +if(_52d){ +_52e.removeClass("textbox-prompt"); +}else{ +_52e.val(opts.prompt).addClass("textbox-prompt"); +} +} +$(this).textbox("validate"); +}); +},initValue:function(jq,_52f){ +return jq.each(function(){ +var _530=$.data(this,"textbox"); +$(this).textbox("setText",_52f); +_530.textbox.find(".textbox-value").val(_52f); +$(this).val(_52f); +}); +},setValue:function(jq,_531){ +return jq.each(function(){ +var opts=$.data(this,"textbox").options; +var _532=$(this).textbox("getValue"); +$(this).textbox("initValue",_531); +if(_532!=_531){ +opts.onChange.call(this,_531,_532); +$(this).closest("form").trigger("_change",[this]); +} +}); +},getText:function(jq){ +var _533=jq.textbox("textbox"); +if(_533.is(":focus")){ +return _533.val(); +}else{ +return jq.textbox("options").value; +} +},getValue:function(jq){ +return jq.data("textbox").textbox.find(".textbox-value").val(); +},reset:function(jq){ +return jq.each(function(){ +var opts=$(this).textbox("options"); +$(this).textbox("textbox").val(opts.originalValue); +$(this).textbox("setValue",opts.originalValue); +}); +},getIcon:function(jq,_534){ +return jq.data("textbox").textbox.find(".textbox-icon:eq("+_534+")"); +},getTipX:function(jq,_535){ +var _536=jq.data("textbox"); +var opts=_536.options; +var tb=_536.textbox; +var _537=tb.find(".textbox-text"); +var _535=_535||opts.tipPosition; +var p1=tb.offset(); +var p2=_537.offset(); +var w1=tb.outerWidth(); +var w2=_537.outerWidth(); +if(_535=="right"){ +return w1-w2-p2.left+p1.left; +}else{ +if(_535=="left"){ +return p1.left-p2.left; +}else{ +return (w1-w2-p2.left+p1.left)/2-(p2.left-p1.left)/2; +} +} +},getTipY:function(jq,_538){ +var _539=jq.data("textbox"); +var opts=_539.options; +var tb=_539.textbox; +var _53a=tb.find(".textbox-text"); +var _538=_538||opts.tipPosition; +var p1=tb.offset(); +var p2=_53a.offset(); +var h1=tb.outerHeight(); +var h2=_53a.outerHeight(); +if(_538=="left"||_538=="right"){ +return (h1-h2-p2.top+p1.top)/2-(p2.top-p1.top)/2; +}else{ +if(_538=="bottom"){ +return (h1-h2-p2.top+p1.top); +}else{ +return (p1.top-p2.top); +} +} +},getSelectionStart:function(jq){ +return jq.textbox("getSelectionRange").start; +},getSelectionRange:function(jq){ +var _53b=jq.textbox("textbox")[0]; +var _53c=0; +var end=0; +if(typeof _53b.selectionStart=="number"){ +_53c=_53b.selectionStart; +end=_53b.selectionEnd; +}else{ +if(_53b.createTextRange){ +var s=document.selection.createRange(); +var _53d=_53b.createTextRange(); +_53d.setEndPoint("EndToStart",s); +_53c=_53d.text.length; +end=_53c+s.text.length; +} +} +return {start:_53c,end:end}; +},setSelectionRange:function(jq,_53e){ +return jq.each(function(){ +var _53f=$(this).textbox("textbox")[0]; +var _540=_53e.start; +var end=_53e.end; +if(_53f.setSelectionRange){ +_53f.setSelectionRange(_540,end); +}else{ +if(_53f.createTextRange){ +var _541=_53f.createTextRange(); +_541.collapse(); +_541.moveEnd("character",end); +_541.moveStart("character",_540); +_541.select(); +} +} +}); +}}; +$.fn.textbox.parseOptions=function(_542){ +var t=$(_542); +return $.extend({},$.fn.validatebox.parseOptions(_542),$.parser.parseOptions(_542,["prompt","iconCls","iconAlign","buttonText","buttonIcon","buttonAlign","label","labelPosition","labelAlign",{multiline:"boolean",iconWidth:"number",labelWidth:"number"}]),{value:(t.val()||undefined),type:(t.attr("type")?t.attr("type"):undefined)}); +}; +$.fn.textbox.defaults=$.extend({},$.fn.validatebox.defaults,{doSize:true,width:"auto",height:"auto",cls:null,prompt:"",value:"",type:"text",multiline:false,icons:[],iconCls:null,iconAlign:"right",iconWidth:18,buttonText:"",buttonIcon:null,buttonAlign:"right",label:null,labelWidth:"auto",labelPosition:"before",labelAlign:"left",inputEvents:{blur:function(e){ +var t=$(e.data.target); +var opts=t.textbox("options"); +if(t.textbox("getValue")!=opts.value){ +t.textbox("setValue",opts.value); +} +},keydown:function(e){ +if(e.keyCode==13){ +var t=$(e.data.target); +t.textbox("setValue",t.textbox("getText")); +} +}},onChange:function(_543,_544){ +},onResizing:function(_545,_546){ +},onResize:function(_547,_548){ +},onClickButton:function(){ +},onClickIcon:function(_549){ +}}); +})(jQuery); +(function($){ +function _54a(_54b){ +var _54c=$.data(_54b,"passwordbox"); +var opts=_54c.options; +var _54d=$.extend(true,[],opts.icons); +if(opts.showEye){ +_54d.push({iconCls:"passwordbox-open",handler:function(e){ +opts.revealed=!opts.revealed; +_54e(_54b); +}}); +} +$(_54b).addClass("passwordbox-f").textbox($.extend({},opts,{icons:_54d})); +_54e(_54b); +}; +function _54f(_550,_551,all){ +var t=$(_550); +var opts=t.passwordbox("options"); +if(opts.revealed){ +t.textbox("setValue",_551); +return; +} +var _552=unescape(opts.passwordChar); +var cc=_551.split(""); +var vv=t.passwordbox("getValue").split(""); +for(var i=0;i").appendTo(btn); +if(btn.linkbutton("options").disabled){ +file.attr("disabled","disabled"); +}else{ +file.removeAttr("disabled"); +} +} +}; +function _568(_569){ +var _56a=$.data(_569,"filebox"); +var opts=_56a.options; +_56a.filebox.find(".textbox-value").remove(); +opts.oldValue=""; +var file=$("").appendTo(_56a.filebox); +file.attr("id",opts.fileboxId).attr("name",$(_569).attr("textboxName")||""); +file.attr("accept",opts.accept); +file.attr("capture",opts.capture); +if(opts.multiple){ +file.attr("multiple","multiple"); +} +file.change(function(){ +var _56b=this.value; +if(this.files){ +_56b=$.map(this.files,function(file){ +return file.name; +}).join(opts.separator); +} +$(_569).filebox("setText",_56b); +opts.onChange.call(_569,_56b,opts.oldValue); +opts.oldValue=_56b; +}); +return file; +}; +$.fn.filebox=function(_56c,_56d){ +if(typeof _56c=="string"){ +var _56e=$.fn.filebox.methods[_56c]; +if(_56e){ +return _56e(this,_56d); +}else{ +return this.textbox(_56c,_56d); +} +} +_56c=_56c||{}; +return this.each(function(){ +var _56f=$.data(this,"filebox"); +if(_56f){ +$.extend(_56f.options,_56c); +}else{ +$.data(this,"filebox",{options:$.extend({},$.fn.filebox.defaults,$.fn.filebox.parseOptions(this),_56c)}); +} +_565(this); +}); +}; +$.fn.filebox.methods={options:function(jq){ +var opts=jq.textbox("options"); +return $.extend($.data(jq[0],"filebox").options,{width:opts.width,value:opts.value,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly}); +},clear:function(jq){ +return jq.each(function(){ +$(this).textbox("clear"); +_568(this); +}); +},reset:function(jq){ +return jq.each(function(){ +$(this).filebox("clear"); +}); +},setValue:function(jq){ +return jq; +},setValues:function(jq){ +return jq; +}}; +$.fn.filebox.parseOptions=function(_570){ +var t=$(_570); +return $.extend({},$.fn.textbox.parseOptions(_570),$.parser.parseOptions(_570,["accept","capture","separator"]),{multiple:(t.attr("multiple")?true:undefined)}); +}; +$.fn.filebox.defaults=$.extend({},$.fn.textbox.defaults,{buttonIcon:null,buttonText:"Choose File",buttonAlign:"right",inputEvents:{},accept:"",capture:"",separator:",",multiple:false}); +})(jQuery); +(function($){ +function _571(_572){ +var _573=$.data(_572,"searchbox"); +var opts=_573.options; +var _574=$.extend(true,[],opts.icons); +_574.push({iconCls:"searchbox-button",handler:function(e){ +var t=$(e.data.target); +var opts=t.searchbox("options"); +opts.searcher.call(e.data.target,t.searchbox("getValue"),t.searchbox("getName")); +}}); +_575(); +var _576=_577(); +$(_572).addClass("searchbox-f").textbox($.extend({},opts,{icons:_574,buttonText:(_576?_576.text:"")})); +$(_572).attr("searchboxName",$(_572).attr("textboxName")); +_573.searchbox=$(_572).next(); +_573.searchbox.addClass("searchbox"); +_578(_576); +function _575(){ +if(opts.menu){ +_573.menu=$(opts.menu).menu(); +var _579=_573.menu.menu("options"); +var _57a=_579.onClick; +_579.onClick=function(item){ +_578(item); +_57a.call(this,item); +}; +}else{ +if(_573.menu){ +_573.menu.menu("destroy"); +} +_573.menu=null; +} +}; +function _577(){ +if(_573.menu){ +var item=_573.menu.children("div.menu-item:first"); +_573.menu.children("div.menu-item").each(function(){ +var _57b=$.extend({},$.parser.parseOptions(this),{selected:($(this).attr("selected")?true:undefined)}); +if(_57b.selected){ +item=$(this); +return false; +} +}); +return _573.menu.menu("getItem",item[0]); +}else{ +return null; +} +}; +function _578(item){ +if(!item){ +return; +} +$(_572).textbox("button").menubutton({text:item.text,iconCls:(item.iconCls||null),menu:_573.menu,menuAlign:opts.buttonAlign,plain:false}); +_573.searchbox.find("input.textbox-value").attr("name",item.name||item.text); +$(_572).searchbox("resize"); +}; +}; +$.fn.searchbox=function(_57c,_57d){ +if(typeof _57c=="string"){ +var _57e=$.fn.searchbox.methods[_57c]; +if(_57e){ +return _57e(this,_57d); +}else{ +return this.textbox(_57c,_57d); +} +} +_57c=_57c||{}; +return this.each(function(){ +var _57f=$.data(this,"searchbox"); +if(_57f){ +$.extend(_57f.options,_57c); +}else{ +$.data(this,"searchbox",{options:$.extend({},$.fn.searchbox.defaults,$.fn.searchbox.parseOptions(this),_57c)}); +} +_571(this); +}); +}; +$.fn.searchbox.methods={options:function(jq){ +var opts=jq.textbox("options"); +return $.extend($.data(jq[0],"searchbox").options,{width:opts.width,value:opts.value,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly}); +},menu:function(jq){ +return $.data(jq[0],"searchbox").menu; +},getName:function(jq){ +return $.data(jq[0],"searchbox").searchbox.find("input.textbox-value").attr("name"); +},selectName:function(jq,name){ +return jq.each(function(){ +var menu=$.data(this,"searchbox").menu; +if(menu){ +menu.children("div.menu-item").each(function(){ +var item=menu.menu("getItem",this); +if(item.name==name){ +$(this).triggerHandler("click"); +return false; +} +}); +} +}); +},destroy:function(jq){ +return jq.each(function(){ +var menu=$(this).searchbox("menu"); +if(menu){ +menu.menu("destroy"); +} +$(this).textbox("destroy"); +}); +}}; +$.fn.searchbox.parseOptions=function(_580){ +var t=$(_580); +return $.extend({},$.fn.textbox.parseOptions(_580),$.parser.parseOptions(_580,["menu"]),{searcher:(t.attr("searcher")?eval(t.attr("searcher")):undefined)}); +}; +$.fn.searchbox.defaults=$.extend({},$.fn.textbox.defaults,{inputEvents:$.extend({},$.fn.textbox.defaults.inputEvents,{keydown:function(e){ +if(e.keyCode==13){ +e.preventDefault(); +var t=$(e.data.target); +var opts=t.searchbox("options"); +t.searchbox("setValue",$(this).val()); +opts.searcher.call(e.data.target,t.searchbox("getValue"),t.searchbox("getName")); +return false; +} +}}),buttonAlign:"left",menu:null,searcher:function(_581,name){ +}}); +})(jQuery); +(function($){ +function _582(_583,_584){ +var opts=$.data(_583,"form").options; +$.extend(opts,_584||{}); +var _585=$.extend({},opts.queryParams); +if(opts.onSubmit.call(_583,_585)==false){ +return; +} +var _586=$(_583).find(".textbox-text:focus"); +_586.triggerHandler("blur"); +_586.focus(); +var _587=null; +if(opts.dirty){ +var ff=[]; +$.map(opts.dirtyFields,function(f){ +if($(f).hasClass("textbox-f")){ +$(f).next().find(".textbox-value").each(function(){ +ff.push(this); +}); +}else{ +ff.push(f); +} +}); +_587=$(_583).find("input[name]:enabled,textarea[name]:enabled,select[name]:enabled").filter(function(){ +return $.inArray(this,ff)==-1; +}); +_587.attr("disabled","disabled"); +} +if(opts.ajax){ +if(opts.iframe){ +_588(_583,_585); +}else{ +if(window.FormData!==undefined){ +_589(_583,_585); +}else{ +_588(_583,_585); +} +} +}else{ +$(_583).submit(); +} +if(opts.dirty){ +_587.removeAttr("disabled"); +} +}; +function _588(_58a,_58b){ +var opts=$.data(_58a,"form").options; +var _58c="easyui_frame_"+(new Date().getTime()); +var _58d=$("").appendTo("body"); +_58d.attr("src",window.ActiveXObject?"javascript:false":"about:blank"); +_58d.css({position:"absolute",top:-1000,left:-1000}); +_58d.bind("load",cb); +_58e(_58b); +function _58e(_58f){ +var form=$(_58a); +if(opts.url){ +form.attr("action",opts.url); +} +var t=form.attr("target"),a=form.attr("action"); +form.attr("target",_58c); +var _590=$(); +try{ +for(var n in _58f){ +var _591=$("").val(_58f[n]).appendTo(form); +_590=_590.add(_591); +} +_592(); +form[0].submit(); +} +finally{ +form.attr("action",a); +t?form.attr("target",t):form.removeAttr("target"); +_590.remove(); +} +}; +function _592(){ +var f=$("#"+_58c); +if(!f.length){ +return; +} +try{ +var s=f.contents()[0].readyState; +if(s&&s.toLowerCase()=="uninitialized"){ +setTimeout(_592,100); +} +} +catch(e){ +cb(); +} +}; +var _593=10; +function cb(){ +var f=$("#"+_58c); +if(!f.length){ +return; +} +f.unbind(); +var data=""; +try{ +var body=f.contents().find("body"); +data=body.html(); +if(data==""){ +if(--_593){ +setTimeout(cb,100); +return; +} +} +var ta=body.find(">textarea"); +if(ta.length){ +data=ta.val(); +}else{ +var pre=body.find(">pre"); +if(pre.length){ +data=pre.html(); +} +} +} +catch(e){ +} +opts.success.call(_58a,data); +setTimeout(function(){ +f.unbind(); +f.remove(); +},100); +}; +}; +function _589(_594,_595){ +var opts=$.data(_594,"form").options; +var _596=new FormData($(_594)[0]); +for(var name in _595){ +_596.append(name,_595[name]); +} +$.ajax({url:opts.url,type:"post",xhr:function(){ +var xhr=$.ajaxSettings.xhr(); +if(xhr.upload){ +xhr.upload.addEventListener("progress",function(e){ +if(e.lengthComputable){ +var _597=e.total; +var _598=e.loaded||e.position; +var _599=Math.ceil(_598*100/_597); +opts.onProgress.call(_594,_599); +} +},false); +} +return xhr; +},data:_596,dataType:"html",cache:false,contentType:false,processData:false,complete:function(res){ +opts.success.call(_594,res.responseText); +}}); +}; +function load(_59a,data){ +var opts=$.data(_59a,"form").options; +if(typeof data=="string"){ +var _59b={}; +if(opts.onBeforeLoad.call(_59a,_59b)==false){ +return; +} +$.ajax({url:data,data:_59b,dataType:"json",success:function(data){ +_59c(data); +},error:function(){ +opts.onLoadError.apply(_59a,arguments); +}}); +}else{ +_59c(data); +} +function _59c(data){ +var form=$(_59a); +for(var name in data){ +var val=data[name]; +if(!_59d(name,val)){ +if(!_59e(name,val)){ +form.find("input[name=\""+name+"\"]").val(val); +form.find("textarea[name=\""+name+"\"]").val(val); +form.find("select[name=\""+name+"\"]").val(val); +} +} +} +opts.onLoadSuccess.call(_59a,data); +form.form("validate"); +}; +function _59d(name,val){ +var cc=$(_59a).find("[switchbuttonName=\""+name+"\"]"); +if(cc.length){ +cc.switchbutton("uncheck"); +cc.each(function(){ +if(_59f($(this).switchbutton("options").value,val)){ +$(this).switchbutton("check"); +} +}); +return true; +} +cc=$(_59a).find("input[name=\""+name+"\"][type=radio], input[name=\""+name+"\"][type=checkbox]"); +if(cc.length){ +cc._propAttr("checked",false); +cc.each(function(){ +if(_59f($(this).val(),val)){ +$(this)._propAttr("checked",true); +} +}); +return true; +} +return false; +}; +function _59f(v,val){ +if(v==String(val)||$.inArray(v,$.isArray(val)?val:[val])>=0){ +return true; +}else{ +return false; +} +}; +function _59e(name,val){ +var _5a0=$(_59a).find("[textboxName=\""+name+"\"],[sliderName=\""+name+"\"]"); +if(_5a0.length){ +for(var i=0;i=0;i--){ +var type=opts.fieldTypes[i]; +var _5a8=form.find("."+type+"-f"); +if(_5a8.length&&_5a8[type]){ +_5a8[type]("reset"); +} +} +form.form("validate"); +}; +function _5a9(_5aa){ +var _5ab=$.data(_5aa,"form").options; +$(_5aa).unbind(".form"); +if(_5ab.ajax){ +$(_5aa).bind("submit.form",function(){ +setTimeout(function(){ +_582(_5aa,_5ab); +},0); +return false; +}); +} +$(_5aa).bind("_change.form",function(e,t){ +if($.inArray(t,_5ab.dirtyFields)==-1){ +_5ab.dirtyFields.push(t); +} +_5ab.onChange.call(this,t); +}).bind("change.form",function(e){ +var t=e.target; +if(!$(t).hasClass("textbox-text")){ +if($.inArray(t,_5ab.dirtyFields)==-1){ +_5ab.dirtyFields.push(t); +} +_5ab.onChange.call(this,t); +} +}); +_5ac(_5aa,_5ab.novalidate); +}; +function _5ad(_5ae,_5af){ +_5af=_5af||{}; +var _5b0=$.data(_5ae,"form"); +if(_5b0){ +$.extend(_5b0.options,_5af); +}else{ +$.data(_5ae,"form",{options:$.extend({},$.fn.form.defaults,$.fn.form.parseOptions(_5ae),_5af)}); +} +}; +function _5b1(_5b2){ +if($.fn.validatebox){ +var t=$(_5b2); +t.find(".validatebox-text:not(:disabled)").validatebox("validate"); +var _5b3=t.find(".validatebox-invalid"); +_5b3.filter(":not(:disabled):first").focus(); +return _5b3.length==0; +} +return true; +}; +function _5ac(_5b4,_5b5){ +var opts=$.data(_5b4,"form").options; +opts.novalidate=_5b5; +$(_5b4).find(".validatebox-text:not(:disabled)").validatebox(_5b5?"disableValidation":"enableValidation"); +}; +$.fn.form=function(_5b6,_5b7){ +if(typeof _5b6=="string"){ +this.each(function(){ +_5ad(this); +}); +return $.fn.form.methods[_5b6](this,_5b7); +} +return this.each(function(){ +_5ad(this,_5b6); +_5a9(this); +}); +}; +$.fn.form.methods={options:function(jq){ +return $.data(jq[0],"form").options; +},submit:function(jq,_5b8){ +return jq.each(function(){ +_582(this,_5b8); +}); +},load:function(jq,data){ +return jq.each(function(){ +load(this,data); +}); +},clear:function(jq){ +return jq.each(function(){ +_5a2(this); +}); +},reset:function(jq){ +return jq.each(function(){ +_5a6(this); +}); +},validate:function(jq){ +return _5b1(jq[0]); +},disableValidation:function(jq){ +return jq.each(function(){ +_5ac(this,true); +}); +},enableValidation:function(jq){ +return jq.each(function(){ +_5ac(this,false); +}); +},resetValidation:function(jq){ +return jq.each(function(){ +$(this).find(".validatebox-text:not(:disabled)").validatebox("resetValidation"); +}); +},resetDirty:function(jq){ +return jq.each(function(){ +$(this).form("options").dirtyFields=[]; +}); +}}; +$.fn.form.parseOptions=function(_5b9){ +var t=$(_5b9); +return $.extend({},$.parser.parseOptions(_5b9,[{ajax:"boolean",dirty:"boolean"}]),{url:(t.attr("action")?t.attr("action"):undefined)}); +}; +$.fn.form.defaults={fieldTypes:["combobox","combotree","combogrid","combotreegrid","datetimebox","datebox","combo","datetimespinner","timespinner","numberspinner","spinner","slider","searchbox","numberbox","passwordbox","filebox","textbox","switchbutton"],novalidate:false,ajax:true,iframe:true,dirty:false,dirtyFields:[],url:null,queryParams:{},onSubmit:function(_5ba){ +return $(this).form("validate"); +},onProgress:function(_5bb){ +},success:function(data){ +},onBeforeLoad:function(_5bc){ +},onLoadSuccess:function(data){ +},onLoadError:function(){ +},onChange:function(_5bd){ +}}; +})(jQuery); +(function($){ +function _5be(_5bf){ +var _5c0=$.data(_5bf,"numberbox"); +var opts=_5c0.options; +$(_5bf).addClass("numberbox-f").textbox(opts); +$(_5bf).textbox("textbox").css({imeMode:"disabled"}); +$(_5bf).attr("numberboxName",$(_5bf).attr("textboxName")); +_5c0.numberbox=$(_5bf).next(); +_5c0.numberbox.addClass("numberbox"); +var _5c1=opts.parser.call(_5bf,opts.value); +var _5c2=opts.formatter.call(_5bf,_5c1); +$(_5bf).numberbox("initValue",_5c1).numberbox("setText",_5c2); +}; +function _5c3(_5c4,_5c5){ +var _5c6=$.data(_5c4,"numberbox"); +var opts=_5c6.options; +opts.value=parseFloat(_5c5); +var _5c5=opts.parser.call(_5c4,_5c5); +var text=opts.formatter.call(_5c4,_5c5); +opts.value=_5c5; +$(_5c4).textbox("setText",text).textbox("setValue",_5c5); +text=opts.formatter.call(_5c4,$(_5c4).textbox("getValue")); +$(_5c4).textbox("setText",text); +}; +$.fn.numberbox=function(_5c7,_5c8){ +if(typeof _5c7=="string"){ +var _5c9=$.fn.numberbox.methods[_5c7]; +if(_5c9){ +return _5c9(this,_5c8); +}else{ +return this.textbox(_5c7,_5c8); +} +} +_5c7=_5c7||{}; +return this.each(function(){ +var _5ca=$.data(this,"numberbox"); +if(_5ca){ +$.extend(_5ca.options,_5c7); +}else{ +_5ca=$.data(this,"numberbox",{options:$.extend({},$.fn.numberbox.defaults,$.fn.numberbox.parseOptions(this),_5c7)}); +} +_5be(this); +}); +}; +$.fn.numberbox.methods={options:function(jq){ +var opts=jq.data("textbox")?jq.textbox("options"):{}; +return $.extend($.data(jq[0],"numberbox").options,{width:opts.width,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly}); +},fix:function(jq){ +return jq.each(function(){ +var opts=$(this).numberbox("options"); +opts.value=null; +var _5cb=opts.parser.call(this,$(this).numberbox("getText")); +$(this).numberbox("setValue",_5cb); +}); +},setValue:function(jq,_5cc){ +return jq.each(function(){ +_5c3(this,_5cc); +}); +},clear:function(jq){ +return jq.each(function(){ +$(this).textbox("clear"); +$(this).numberbox("options").value=""; +}); +},reset:function(jq){ +return jq.each(function(){ +$(this).textbox("reset"); +$(this).numberbox("setValue",$(this).numberbox("getValue")); +}); +}}; +$.fn.numberbox.parseOptions=function(_5cd){ +var t=$(_5cd); +return $.extend({},$.fn.textbox.parseOptions(_5cd),$.parser.parseOptions(_5cd,["decimalSeparator","groupSeparator","suffix",{min:"number",max:"number",precision:"number"}]),{prefix:(t.attr("prefix")?t.attr("prefix"):undefined)}); +}; +$.fn.numberbox.defaults=$.extend({},$.fn.textbox.defaults,{inputEvents:{keypress:function(e){ +var _5ce=e.data.target; +var opts=$(_5ce).numberbox("options"); +return opts.filter.call(_5ce,e); +},blur:function(e){ +$(e.data.target).numberbox("fix"); +},keydown:function(e){ +if(e.keyCode==13){ +$(e.data.target).numberbox("fix"); +} +}},min:null,max:null,precision:0,decimalSeparator:".",groupSeparator:"",prefix:"",suffix:"",filter:function(e){ +var opts=$(this).numberbox("options"); +var s=$(this).numberbox("getText"); +if(e.metaKey||e.ctrlKey){ +return true; +} +if($.inArray(String(e.which),["46","8","13","0"])>=0){ +return true; +} +var tmp=$(""); +tmp.html(String.fromCharCode(e.which)); +var c=tmp.text(); +tmp.remove(); +if(!c){ +return true; +} +if(c=="-"||c==opts.decimalSeparator){ +return (s.indexOf(c)==-1)?true:false; +}else{ +if(c==opts.groupSeparator){ +return true; +}else{ +if("0123456789".indexOf(c)>=0){ +return true; +}else{ +return false; +} +} +} +},formatter:function(_5cf){ +if(!_5cf){ +return _5cf; +} +_5cf=_5cf+""; +var opts=$(this).numberbox("options"); +var s1=_5cf,s2=""; +var dpos=_5cf.indexOf("."); +if(dpos>=0){ +s1=_5cf.substring(0,dpos); +s2=_5cf.substring(dpos+1,_5cf.length); +} +if(opts.groupSeparator){ +var p=/(\d+)(\d{3})/; +while(p.test(s1)){ +s1=s1.replace(p,"$1"+opts.groupSeparator+"$2"); +} +} +if(s2){ +return opts.prefix+s1+opts.decimalSeparator+s2+opts.suffix; +}else{ +return opts.prefix+s1+opts.suffix; +} +},parser:function(s){ +s=s+""; +var opts=$(this).numberbox("options"); +if(opts.prefix){ +s=$.trim(s.replace(new RegExp("\\"+$.trim(opts.prefix),"g"),"")); +} +if(opts.suffix){ +s=$.trim(s.replace(new RegExp("\\"+$.trim(opts.suffix),"g"),"")); +} +if(parseFloat(s)!=opts.value){ +if(opts.groupSeparator){ +s=$.trim(s.replace(new RegExp("\\"+opts.groupSeparator,"g"),"")); +} +if(opts.decimalSeparator){ +s=$.trim(s.replace(new RegExp("\\"+opts.decimalSeparator,"g"),".")); +} +s=s.replace(/\s/g,""); +} +var val=parseFloat(s).toFixed(opts.precision); +if(isNaN(val)){ +val=""; +}else{ +if(typeof (opts.min)=="number"&&valopts.max){ +val=opts.max.toFixed(opts.precision); +} +} +} +return val; +}}); +})(jQuery); +(function($){ +function _5d0(_5d1,_5d2){ +var opts=$.data(_5d1,"calendar").options; +var t=$(_5d1); +if(_5d2){ +$.extend(opts,{width:_5d2.width,height:_5d2.height}); +} +t._size(opts,t.parent()); +t.find(".calendar-body")._outerHeight(t.height()-t.find(".calendar-header")._outerHeight()); +if(t.find(".calendar-menu").is(":visible")){ +_5d3(_5d1); +} +}; +function init(_5d4){ +$(_5d4).addClass("calendar").html("
        "+"
        "+"
        "+"
        "+"
        "+"
        "+""+"
        "+"
        "+"
        "+"
        "+"
        "+""+""+""+"
        "+"
        "+"
        "+"
        "+"
        "); +$(_5d4).bind("_resize",function(e,_5d5){ +if($(this).hasClass("easyui-fluid")||_5d5){ +_5d0(_5d4); +} +return false; +}); +}; +function _5d6(_5d7){ +var opts=$.data(_5d7,"calendar").options; +var menu=$(_5d7).find(".calendar-menu"); +menu.find(".calendar-menu-year").unbind(".calendar").bind("keypress.calendar",function(e){ +if(e.keyCode==13){ +_5d8(true); +} +}); +$(_5d7).unbind(".calendar").bind("mouseover.calendar",function(e){ +var t=_5d9(e.target); +if(t.hasClass("calendar-nav")||t.hasClass("calendar-text")||(t.hasClass("calendar-day")&&!t.hasClass("calendar-disabled"))){ +t.addClass("calendar-nav-hover"); +} +}).bind("mouseout.calendar",function(e){ +var t=_5d9(e.target); +if(t.hasClass("calendar-nav")||t.hasClass("calendar-text")||(t.hasClass("calendar-day")&&!t.hasClass("calendar-disabled"))){ +t.removeClass("calendar-nav-hover"); +} +}).bind("click.calendar",function(e){ +var t=_5d9(e.target); +if(t.hasClass("calendar-menu-next")||t.hasClass("calendar-nextyear")){ +_5da(1); +}else{ +if(t.hasClass("calendar-menu-prev")||t.hasClass("calendar-prevyear")){ +_5da(-1); +}else{ +if(t.hasClass("calendar-menu-month")){ +menu.find(".calendar-selected").removeClass("calendar-selected"); +t.addClass("calendar-selected"); +_5d8(true); +}else{ +if(t.hasClass("calendar-prevmonth")){ +_5db(-1); +}else{ +if(t.hasClass("calendar-nextmonth")){ +_5db(1); +}else{ +if(t.hasClass("calendar-text")){ +if(menu.is(":visible")){ +menu.hide(); +}else{ +_5d3(_5d7); +} +}else{ +if(t.hasClass("calendar-day")){ +if(t.hasClass("calendar-disabled")){ +return; +} +var _5dc=opts.current; +t.closest("div.calendar-body").find(".calendar-selected").removeClass("calendar-selected"); +t.addClass("calendar-selected"); +var _5dd=t.attr("abbr").split(","); +var y=parseInt(_5dd[0]); +var m=parseInt(_5dd[1]); +var d=parseInt(_5dd[2]); +opts.current=new Date(y,m-1,d); +opts.onSelect.call(_5d7,opts.current); +if(!_5dc||_5dc.getTime()!=opts.current.getTime()){ +opts.onChange.call(_5d7,opts.current,_5dc); +} +if(opts.year!=y||opts.month!=m){ +opts.year=y; +opts.month=m; +show(_5d7); +} +} +} +} +} +} +} +} +}); +function _5d9(t){ +var day=$(t).closest(".calendar-day"); +if(day.length){ +return day; +}else{ +return $(t); +} +}; +function _5d8(_5de){ +var menu=$(_5d7).find(".calendar-menu"); +var year=menu.find(".calendar-menu-year").val(); +var _5df=menu.find(".calendar-selected").attr("abbr"); +if(!isNaN(year)){ +opts.year=parseInt(year); +opts.month=parseInt(_5df); +show(_5d7); +} +if(_5de){ +menu.hide(); +} +}; +function _5da(_5e0){ +opts.year+=_5e0; +show(_5d7); +menu.find(".calendar-menu-year").val(opts.year); +}; +function _5db(_5e1){ +opts.month+=_5e1; +if(opts.month>12){ +opts.year++; +opts.month=1; +}else{ +if(opts.month<1){ +opts.year--; +opts.month=12; +} +} +show(_5d7); +menu.find("td.calendar-selected").removeClass("calendar-selected"); +menu.find("td:eq("+(opts.month-1)+")").addClass("calendar-selected"); +}; +}; +function _5d3(_5e2){ +var opts=$.data(_5e2,"calendar").options; +$(_5e2).find(".calendar-menu").show(); +if($(_5e2).find(".calendar-menu-month-inner").is(":empty")){ +$(_5e2).find(".calendar-menu-month-inner").empty(); +var t=$("
        ").appendTo($(_5e2).find(".calendar-menu-month-inner")); +var idx=0; +for(var i=0;i<3;i++){ +var tr=$("").appendTo(t); +for(var j=0;j<4;j++){ +$("").html(opts.months[idx++]).attr("abbr",idx).appendTo(tr); +} +} +} +var body=$(_5e2).find(".calendar-body"); +var sele=$(_5e2).find(".calendar-menu"); +var _5e3=sele.find(".calendar-menu-year-inner"); +var _5e4=sele.find(".calendar-menu-month-inner"); +_5e3.find("input").val(opts.year).focus(); +_5e4.find("td.calendar-selected").removeClass("calendar-selected"); +_5e4.find("td:eq("+(opts.month-1)+")").addClass("calendar-selected"); +sele._outerWidth(body._outerWidth()); +sele._outerHeight(body._outerHeight()); +_5e4._outerHeight(sele.height()-_5e3._outerHeight()); +}; +function _5e5(_5e6,year,_5e7){ +var opts=$.data(_5e6,"calendar").options; +var _5e8=[]; +var _5e9=new Date(year,_5e7,0).getDate(); +for(var i=1;i<=_5e9;i++){ +_5e8.push([year,_5e7,i]); +} +var _5ea=[],week=[]; +var _5eb=-1; +while(_5e8.length>0){ +var date=_5e8.shift(); +week.push(date); +var day=new Date(date[0],date[1]-1,date[2]).getDay(); +if(_5eb==day){ +day=0; +}else{ +if(day==(opts.firstDay==0?7:opts.firstDay)-1){ +_5ea.push(week); +week=[]; +} +} +_5eb=day; +} +if(week.length){ +_5ea.push(week); +} +var _5ec=_5ea[0]; +if(_5ec.length<7){ +while(_5ec.length<7){ +var _5ed=_5ec[0]; +var date=new Date(_5ed[0],_5ed[1]-1,_5ed[2]-1); +_5ec.unshift([date.getFullYear(),date.getMonth()+1,date.getDate()]); +} +}else{ +var _5ed=_5ec[0]; +var week=[]; +for(var i=1;i<=7;i++){ +var date=new Date(_5ed[0],_5ed[1]-1,_5ed[2]-i); +week.unshift([date.getFullYear(),date.getMonth()+1,date.getDate()]); +} +_5ea.unshift(week); +} +var _5ee=_5ea[_5ea.length-1]; +while(_5ee.length<7){ +var _5ef=_5ee[_5ee.length-1]; +var date=new Date(_5ef[0],_5ef[1]-1,_5ef[2]+1); +_5ee.push([date.getFullYear(),date.getMonth()+1,date.getDate()]); +} +if(_5ea.length<6){ +var _5ef=_5ee[_5ee.length-1]; +var week=[]; +for(var i=1;i<=7;i++){ +var date=new Date(_5ef[0],_5ef[1]-1,_5ef[2]+i); +week.push([date.getFullYear(),date.getMonth()+1,date.getDate()]); +} +_5ea.push(week); +} +return _5ea; +}; +function show(_5f0){ +var opts=$.data(_5f0,"calendar").options; +if(opts.current&&!opts.validator.call(_5f0,opts.current)){ +opts.current=null; +} +var now=new Date(); +var _5f1=now.getFullYear()+","+(now.getMonth()+1)+","+now.getDate(); +var _5f2=opts.current?(opts.current.getFullYear()+","+(opts.current.getMonth()+1)+","+opts.current.getDate()):""; +var _5f3=6-opts.firstDay; +var _5f4=_5f3+1; +if(_5f3>=7){ +_5f3-=7; +} +if(_5f4>=7){ +_5f4-=7; +} +$(_5f0).find(".calendar-title span").html(opts.months[opts.month-1]+" "+opts.year); +var body=$(_5f0).find("div.calendar-body"); +body.children("table").remove(); +var data=[""]; +data.push(""); +if(opts.showWeek){ +data.push(""); +} +for(var i=opts.firstDay;i"+opts.weeks[i]+""); +} +for(var i=0;i"+opts.weeks[i]+""); +} +data.push(""); +data.push(""); +var _5f5=_5e5(_5f0,opts.year,opts.month); +for(var i=0;i<_5f5.length;i++){ +var week=_5f5[i]; +var cls=""; +if(i==0){ +cls="calendar-first"; +}else{ +if(i==_5f5.length-1){ +cls="calendar-last"; +} +} +data.push(""); +if(opts.showWeek){ +var _5f6=opts.getWeekNumber(new Date(week[0][0],parseInt(week[0][1])-1,week[0][2])); +data.push(""); +} +for(var j=0;j"+d+""); +} +data.push(""); +} +data.push(""); +data.push("
        "+opts.weekNumberHeader+"
        "+_5f6+"
        "); +body.append(data.join("")); +body.children("table.calendar-dtable").prependTo(body); +opts.onNavigate.call(_5f0,opts.year,opts.month); +}; +$.fn.calendar=function(_5fa,_5fb){ +if(typeof _5fa=="string"){ +return $.fn.calendar.methods[_5fa](this,_5fb); +} +_5fa=_5fa||{}; +return this.each(function(){ +var _5fc=$.data(this,"calendar"); +if(_5fc){ +$.extend(_5fc.options,_5fa); +}else{ +_5fc=$.data(this,"calendar",{options:$.extend({},$.fn.calendar.defaults,$.fn.calendar.parseOptions(this),_5fa)}); +init(this); +} +if(_5fc.options.border==false){ +$(this).addClass("calendar-noborder"); +} +_5d0(this); +_5d6(this); +show(this); +$(this).find("div.calendar-menu").hide(); +}); +}; +$.fn.calendar.methods={options:function(jq){ +return $.data(jq[0],"calendar").options; +},resize:function(jq,_5fd){ +return jq.each(function(){ +_5d0(this,_5fd); +}); +},moveTo:function(jq,date){ +return jq.each(function(){ +if(!date){ +var now=new Date(); +$(this).calendar({year:now.getFullYear(),month:now.getMonth()+1,current:date}); +return; +} +var opts=$(this).calendar("options"); +if(opts.validator.call(this,date)){ +var _5fe=opts.current; +$(this).calendar({year:date.getFullYear(),month:date.getMonth()+1,current:date}); +if(!_5fe||_5fe.getTime()!=date.getTime()){ +opts.onChange.call(this,opts.current,_5fe); +} +} +}); +}}; +$.fn.calendar.parseOptions=function(_5ff){ +var t=$(_5ff); +return $.extend({},$.parser.parseOptions(_5ff,["weekNumberHeader",{firstDay:"number",fit:"boolean",border:"boolean",showWeek:"boolean"}])); +}; +$.fn.calendar.defaults={width:180,height:180,fit:false,border:true,showWeek:false,firstDay:0,weeks:["S","M","T","W","T","F","S"],months:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],year:new Date().getFullYear(),month:new Date().getMonth()+1,current:(function(){ +var d=new Date(); +return new Date(d.getFullYear(),d.getMonth(),d.getDate()); +})(),weekNumberHeader:"",getWeekNumber:function(date){ +var _600=new Date(date.getTime()); +_600.setDate(_600.getDate()+4-(_600.getDay()||7)); +var time=_600.getTime(); +_600.setMonth(0); +_600.setDate(1); +return Math.floor(Math.round((time-_600)/86400000)/7)+1; +},formatter:function(date){ +return date.getDate(); +},styler:function(date){ +return ""; +},validator:function(date){ +return true; +},onSelect:function(date){ +},onChange:function(_601,_602){ +},onNavigate:function(year,_603){ +}}; +})(jQuery); +(function($){ +function _604(_605){ +var _606=$.data(_605,"spinner"); +var opts=_606.options; +var _607=$.extend(true,[],opts.icons); +if(opts.spinAlign=="left"||opts.spinAlign=="right"){ +opts.spinArrow=true; +opts.iconAlign=opts.spinAlign; +var _608={iconCls:"spinner-arrow",handler:function(e){ +var spin=$(e.target).closest(".spinner-arrow-up,.spinner-arrow-down"); +_612(e.data.target,spin.hasClass("spinner-arrow-down")); +}}; +if(opts.spinAlign=="left"){ +_607.unshift(_608); +}else{ +_607.push(_608); +} +}else{ +opts.spinArrow=false; +if(opts.spinAlign=="vertical"){ +if(opts.buttonAlign!="top"){ +opts.buttonAlign="bottom"; +} +opts.clsLeft="textbox-button-bottom"; +opts.clsRight="textbox-button-top"; +}else{ +opts.clsLeft="textbox-button-left"; +opts.clsRight="textbox-button-right"; +} +} +$(_605).addClass("spinner-f").textbox($.extend({},opts,{icons:_607,doSize:false,onResize:function(_609,_60a){ +if(!opts.spinArrow){ +var span=$(this).next(); +var btn=span.find(".textbox-button:not(.spinner-button)"); +if(btn.length){ +var _60b=btn.outerWidth(); +var _60c=btn.outerHeight(); +var _60d=span.find(".spinner-button."+opts.clsLeft); +var _60e=span.find(".spinner-button."+opts.clsRight); +if(opts.buttonAlign=="right"){ +_60e.css("marginRight",_60b+"px"); +}else{ +if(opts.buttonAlign=="left"){ +_60d.css("marginLeft",_60b+"px"); +}else{ +if(opts.buttonAlign=="top"){ +_60e.css("marginTop",_60c+"px"); +}else{ +_60d.css("marginBottom",_60c+"px"); +} +} +} +} +} +opts.onResize.call(this,_609,_60a); +}})); +$(_605).attr("spinnerName",$(_605).attr("textboxName")); +_606.spinner=$(_605).next(); +_606.spinner.addClass("spinner"); +if(opts.spinArrow){ +var _60f=_606.spinner.find(".spinner-arrow"); +_60f.append(""); +_60f.append(""); +}else{ +var _610=$("").addClass(opts.clsLeft).appendTo(_606.spinner); +var _611=$("").addClass(opts.clsRight).appendTo(_606.spinner); +_610.linkbutton({iconCls:opts.reversed?"spinner-button-up":"spinner-button-down",onClick:function(){ +_612(_605,!opts.reversed); +}}); +_611.linkbutton({iconCls:opts.reversed?"spinner-button-down":"spinner-button-up",onClick:function(){ +_612(_605,opts.reversed); +}}); +if(opts.disabled){ +$(_605).spinner("disable"); +} +if(opts.readonly){ +$(_605).spinner("readonly"); +} +} +$(_605).spinner("resize"); +}; +function _612(_613,down){ +var opts=$(_613).spinner("options"); +opts.spin.call(_613,down); +opts[down?"onSpinDown":"onSpinUp"].call(_613); +$(_613).spinner("validate"); +}; +$.fn.spinner=function(_614,_615){ +if(typeof _614=="string"){ +var _616=$.fn.spinner.methods[_614]; +if(_616){ +return _616(this,_615); +}else{ +return this.textbox(_614,_615); +} +} +_614=_614||{}; +return this.each(function(){ +var _617=$.data(this,"spinner"); +if(_617){ +$.extend(_617.options,_614); +}else{ +_617=$.data(this,"spinner",{options:$.extend({},$.fn.spinner.defaults,$.fn.spinner.parseOptions(this),_614)}); +} +_604(this); +}); +}; +$.fn.spinner.methods={options:function(jq){ +var opts=jq.textbox("options"); +return $.extend($.data(jq[0],"spinner").options,{width:opts.width,value:opts.value,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly}); +}}; +$.fn.spinner.parseOptions=function(_618){ +return $.extend({},$.fn.textbox.parseOptions(_618),$.parser.parseOptions(_618,["min","max","spinAlign",{increment:"number",reversed:"boolean"}])); +}; +$.fn.spinner.defaults=$.extend({},$.fn.textbox.defaults,{min:null,max:null,increment:1,spinAlign:"right",reversed:false,spin:function(down){ +},onSpinUp:function(){ +},onSpinDown:function(){ +}}); +})(jQuery); +(function($){ +function _619(_61a){ +$(_61a).addClass("numberspinner-f"); +var opts=$.data(_61a,"numberspinner").options; +$(_61a).numberbox($.extend({},opts,{doSize:false})).spinner(opts); +$(_61a).numberbox("setValue",opts.value); +}; +function _61b(_61c,down){ +var opts=$.data(_61c,"numberspinner").options; +var v=parseFloat($(_61c).numberbox("getValue")||opts.value)||0; +if(down){ +v-=opts.increment; +}else{ +v+=opts.increment; +} +$(_61c).numberbox("setValue",v); +}; +$.fn.numberspinner=function(_61d,_61e){ +if(typeof _61d=="string"){ +var _61f=$.fn.numberspinner.methods[_61d]; +if(_61f){ +return _61f(this,_61e); +}else{ +return this.numberbox(_61d,_61e); +} +} +_61d=_61d||{}; +return this.each(function(){ +var _620=$.data(this,"numberspinner"); +if(_620){ +$.extend(_620.options,_61d); +}else{ +$.data(this,"numberspinner",{options:$.extend({},$.fn.numberspinner.defaults,$.fn.numberspinner.parseOptions(this),_61d)}); +} +_619(this); +}); +}; +$.fn.numberspinner.methods={options:function(jq){ +var opts=jq.numberbox("options"); +return $.extend($.data(jq[0],"numberspinner").options,{width:opts.width,value:opts.value,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly}); +}}; +$.fn.numberspinner.parseOptions=function(_621){ +return $.extend({},$.fn.spinner.parseOptions(_621),$.fn.numberbox.parseOptions(_621),{}); +}; +$.fn.numberspinner.defaults=$.extend({},$.fn.spinner.defaults,$.fn.numberbox.defaults,{spin:function(down){ +_61b(this,down); +}}); +})(jQuery); +(function($){ +function _622(_623){ +var opts=$.data(_623,"timespinner").options; +$(_623).addClass("timespinner-f").spinner(opts); +var _624=opts.formatter.call(_623,opts.parser.call(_623,opts.value)); +$(_623).timespinner("initValue",_624); +}; +function _625(e){ +var _626=e.data.target; +var opts=$.data(_626,"timespinner").options; +var _627=$(_626).timespinner("getSelectionStart"); +for(var i=0;i=_628[0]&&_627<=_628[1]){ +_629(_626,i); +return; +} +} +}; +function _629(_62a,_62b){ +var opts=$.data(_62a,"timespinner").options; +if(_62b!=undefined){ +opts.highlight=_62b; +} +var _62c=opts.selections[opts.highlight]; +if(_62c){ +var tb=$(_62a).timespinner("textbox"); +$(_62a).timespinner("setSelectionRange",{start:_62c[0],end:_62c[1]}); +tb.focus(); +} +}; +function _62d(_62e,_62f){ +var opts=$.data(_62e,"timespinner").options; +var _62f=opts.parser.call(_62e,_62f); +var text=opts.formatter.call(_62e,_62f); +$(_62e).spinner("setValue",text); +}; +function _630(_631,down){ +var opts=$.data(_631,"timespinner").options; +var s=$(_631).timespinner("getValue"); +var _632=opts.selections[opts.highlight]; +var s1=s.substring(0,_632[0]); +var s2=s.substring(_632[0],_632[1]); +var s3=s.substring(_632[1]); +var v=s1+((parseInt(s2,10)||0)+opts.increment*(down?-1:1))+s3; +$(_631).timespinner("setValue",v); +_629(_631); +}; +$.fn.timespinner=function(_633,_634){ +if(typeof _633=="string"){ +var _635=$.fn.timespinner.methods[_633]; +if(_635){ +return _635(this,_634); +}else{ +return this.spinner(_633,_634); +} +} +_633=_633||{}; +return this.each(function(){ +var _636=$.data(this,"timespinner"); +if(_636){ +$.extend(_636.options,_633); +}else{ +$.data(this,"timespinner",{options:$.extend({},$.fn.timespinner.defaults,$.fn.timespinner.parseOptions(this),_633)}); +} +_622(this); +}); +}; +$.fn.timespinner.methods={options:function(jq){ +var opts=jq.data("spinner")?jq.spinner("options"):{}; +return $.extend($.data(jq[0],"timespinner").options,{width:opts.width,value:opts.value,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly}); +},setValue:function(jq,_637){ +return jq.each(function(){ +_62d(this,_637); +}); +},getHours:function(jq){ +var opts=$.data(jq[0],"timespinner").options; +var vv=jq.timespinner("getValue").split(opts.separator); +return parseInt(vv[0],10); +},getMinutes:function(jq){ +var opts=$.data(jq[0],"timespinner").options; +var vv=jq.timespinner("getValue").split(opts.separator); +return parseInt(vv[1],10); +},getSeconds:function(jq){ +var opts=$.data(jq[0],"timespinner").options; +var vv=jq.timespinner("getValue").split(opts.separator); +return parseInt(vv[2],10)||0; +}}; +$.fn.timespinner.parseOptions=function(_638){ +return $.extend({},$.fn.spinner.parseOptions(_638),$.parser.parseOptions(_638,["separator",{showSeconds:"boolean",highlight:"number"}])); +}; +$.fn.timespinner.defaults=$.extend({},$.fn.spinner.defaults,{inputEvents:$.extend({},$.fn.spinner.defaults.inputEvents,{click:function(e){ +_625.call(this,e); +},blur:function(e){ +var t=$(e.data.target); +t.timespinner("setValue",t.timespinner("getText")); +},keydown:function(e){ +if(e.keyCode==13){ +var t=$(e.data.target); +t.timespinner("setValue",t.timespinner("getText")); +} +}}),formatter:function(date){ +if(!date){ +return ""; +} +var opts=$(this).timespinner("options"); +var tt=[_639(date.getHours()),_639(date.getMinutes())]; +if(opts.showSeconds){ +tt.push(_639(date.getSeconds())); +} +return tt.join(opts.separator); +function _639(_63a){ +return (_63a<10?"0":"")+_63a; +}; +},parser:function(s){ +var opts=$(this).timespinner("options"); +var date=_63b(s); +if(date){ +var min=_63b(opts.min); +var max=_63b(opts.max); +if(min&&min>date){ +date=min; +} +if(max&&max"]; +for(var i=0;i<_650.length;i++){ +_64f.cache[_650[i][0]]={width:_650[i][1]}; +} +var _651=0; +for(var s in _64f.cache){ +var item=_64f.cache[s]; +item.index=_651++; +ss.push(s+"{width:"+item.width+"}"); +} +ss.push(""); +$(ss.join("\n")).appendTo(cc); +cc.children("style[easyui]:not(:last)").remove(); +},getRule:function(_652){ +var _653=cc.children("style[easyui]:last")[0]; +var _654=_653.styleSheet?_653.styleSheet:(_653.sheet||document.styleSheets[document.styleSheets.length-1]); +var _655=_654.cssRules||_654.rules; +return _655[_652]; +},set:function(_656,_657){ +var item=_64f.cache[_656]; +if(item){ +item.width=_657; +var rule=this.getRule(item.index); +if(rule){ +rule.style["width"]=_657; +} +} +},remove:function(_658){ +var tmp=[]; +for(var s in _64f.cache){ +if(s.indexOf(_658)==-1){ +tmp.push([s,_64f.cache[s].width]); +} +} +_64f.cache={}; +this.add(tmp); +},dirty:function(_659){ +if(_659){ +_64f.dirty.push(_659); +} +},clean:function(){ +for(var i=0;i<_64f.dirty.length;i++){ +this.remove(_64f.dirty[i]); +} +_64f.dirty=[]; +}}; +}; +function _65a(_65b,_65c){ +var _65d=$.data(_65b,"datagrid"); +var opts=_65d.options; +var _65e=_65d.panel; +if(_65c){ +$.extend(opts,_65c); +} +if(opts.fit==true){ +var p=_65e.panel("panel").parent(); +opts.width=p.width(); +opts.height=p.height(); +} +_65e.panel("resize",opts); +}; +function _65f(_660){ +var _661=$.data(_660,"datagrid"); +var opts=_661.options; +var dc=_661.dc; +var wrap=_661.panel; +var _662=wrap.width(); +var _663=wrap.height(); +var view=dc.view; +var _664=dc.view1; +var _665=dc.view2; +var _666=_664.children("div.datagrid-header"); +var _667=_665.children("div.datagrid-header"); +var _668=_666.find("table"); +var _669=_667.find("table"); +view.width(_662); +var _66a=_666.children("div.datagrid-header-inner").show(); +_664.width(_66a.find("table").width()); +if(!opts.showHeader){ +_66a.hide(); +} +_665.width(_662-_664._outerWidth()); +_664.children()._outerWidth(_664.width()); +_665.children()._outerWidth(_665.width()); +var all=_666.add(_667).add(_668).add(_669); +all.css("height",""); +var hh=Math.max(_668.height(),_669.height()); +all._outerHeight(hh); +view.children(".datagrid-empty").css("top",hh+"px"); +dc.body1.add(dc.body2).children("table.datagrid-btable-frozen").css({position:"absolute",top:dc.header2._outerHeight()}); +var _66b=dc.body2.children("table.datagrid-btable-frozen")._outerHeight(); +var _66c=_66b+_667._outerHeight()+_665.children(".datagrid-footer")._outerHeight(); +wrap.children(":not(.datagrid-view,.datagrid-mask,.datagrid-mask-msg)").each(function(){ +_66c+=$(this)._outerHeight(); +}); +var _66d=wrap.outerHeight()-wrap.height(); +var _66e=wrap._size("minHeight")||""; +var _66f=wrap._size("maxHeight")||""; +_664.add(_665).children("div.datagrid-body").css({marginTop:_66b,height:(isNaN(parseInt(opts.height))?"":(_663-_66c)),minHeight:(_66e?_66e-_66d-_66c:""),maxHeight:(_66f?_66f-_66d-_66c:"")}); +view.height(_665.height()); +}; +function _670(_671,_672,_673){ +var rows=$.data(_671,"datagrid").data.rows; +var opts=$.data(_671,"datagrid").options; +var dc=$.data(_671,"datagrid").dc; +if(!dc.body1.is(":empty")&&(!opts.nowrap||opts.autoRowHeight||_673)){ +if(_672!=undefined){ +var tr1=opts.finder.getTr(_671,_672,"body",1); +var tr2=opts.finder.getTr(_671,_672,"body",2); +_674(tr1,tr2); +}else{ +var tr1=opts.finder.getTr(_671,0,"allbody",1); +var tr2=opts.finder.getTr(_671,0,"allbody",2); +_674(tr1,tr2); +if(opts.showFooter){ +var tr1=opts.finder.getTr(_671,0,"allfooter",1); +var tr2=opts.finder.getTr(_671,0,"allfooter",2); +_674(tr1,tr2); +} +} +} +_65f(_671); +if(opts.height=="auto"){ +var _675=dc.body1.parent(); +var _676=dc.body2; +var _677=_678(_676); +var _679=_677.height; +if(_677.width>_676.width()){ +_679+=18; +} +_679-=parseInt(_676.css("marginTop"))||0; +_675.height(_679); +_676.height(_679); +dc.view.height(dc.view2.height()); +} +dc.body2.triggerHandler("scroll"); +function _674(trs1,trs2){ +for(var i=0;i"); +} +_681(true); +_681(false); +_65f(_67e); +function _681(_682){ +var _683=_682?1:2; +var tr=opts.finder.getTr(_67e,_67f,"body",_683); +(_682?dc.body1:dc.body2).children("table.datagrid-btable-frozen").append(tr); +}; +}; +function _684(_685,_686){ +function _687(){ +var _688=[]; +var _689=[]; +$(_685).children("thead").each(function(){ +var opt=$.parser.parseOptions(this,[{frozen:"boolean"}]); +$(this).find("tr").each(function(){ +var cols=[]; +$(this).find("th").each(function(){ +var th=$(this); +var col=$.extend({},$.parser.parseOptions(this,["id","field","align","halign","order","width",{sortable:"boolean",checkbox:"boolean",resizable:"boolean",fixed:"boolean"},{rowspan:"number",colspan:"number"}]),{title:(th.html()||undefined),hidden:(th.attr("hidden")?true:undefined),formatter:(th.attr("formatter")?eval(th.attr("formatter")):undefined),styler:(th.attr("styler")?eval(th.attr("styler")):undefined),sorter:(th.attr("sorter")?eval(th.attr("sorter")):undefined)}); +if(col.width&&String(col.width).indexOf("%")==-1){ +col.width=parseInt(col.width); +} +if(th.attr("editor")){ +var s=$.trim(th.attr("editor")); +if(s.substr(0,1)=="{"){ +col.editor=eval("("+s+")"); +}else{ +col.editor=s; +} +} +cols.push(col); +}); +opt.frozen?_688.push(cols):_689.push(cols); +}); +}); +return [_688,_689]; +}; +var _68a=$("
        "+"
        "+"
        "+"
        "+"
        "+"
        "+"
        "+"
        "+"
        "+"
        "+""+"
        "+"
        "+"
        "+"
        "+"
        "+"
        "+"
        "+"
        "+""+"
        "+"
        "+"
        "+"
        ").insertAfter(_685); +_68a.panel({doSize:false,cls:"datagrid"}); +$(_685).addClass("datagrid-f").hide().appendTo(_68a.children("div.datagrid-view")); +var cc=_687(); +var view=_68a.children("div.datagrid-view"); +var _68b=view.children("div.datagrid-view1"); +var _68c=view.children("div.datagrid-view2"); +return {panel:_68a,frozenColumns:cc[0],columns:cc[1],dc:{view:view,view1:_68b,view2:_68c,header1:_68b.children("div.datagrid-header").children("div.datagrid-header-inner"),header2:_68c.children("div.datagrid-header").children("div.datagrid-header-inner"),body1:_68b.children("div.datagrid-body").children("div.datagrid-body-inner"),body2:_68c.children("div.datagrid-body"),footer1:_68b.children("div.datagrid-footer").children("div.datagrid-footer-inner"),footer2:_68c.children("div.datagrid-footer").children("div.datagrid-footer-inner")}}; +}; +function _68d(_68e){ +var _68f=$.data(_68e,"datagrid"); +var opts=_68f.options; +var dc=_68f.dc; +var _690=_68f.panel; +_68f.ss=$(_68e).datagrid("createStyleSheet"); +_690.panel($.extend({},opts,{id:null,doSize:false,onResize:function(_691,_692){ +if($.data(_68e,"datagrid")){ +_65f(_68e); +$(_68e).datagrid("fitColumns"); +opts.onResize.call(_690,_691,_692); +} +},onExpand:function(){ +if($.data(_68e,"datagrid")){ +$(_68e).datagrid("fixRowHeight").datagrid("fitColumns"); +opts.onExpand.call(_690); +} +}})); +_68f.rowIdPrefix="datagrid-row-r"+(++_645); +_68f.cellClassPrefix="datagrid-cell-c"+_645; +_693(dc.header1,opts.frozenColumns,true); +_693(dc.header2,opts.columns,false); +_694(); +dc.header1.add(dc.header2).css("display",opts.showHeader?"block":"none"); +dc.footer1.add(dc.footer2).css("display",opts.showFooter?"block":"none"); +if(opts.toolbar){ +if($.isArray(opts.toolbar)){ +$("div.datagrid-toolbar",_690).remove(); +var tb=$("
        ").prependTo(_690); +var tr=tb.find("tr"); +for(var i=0;i
        ").appendTo(tr); +}else{ +var td=$("").appendTo(tr); +var tool=$("").appendTo(td); +tool[0].onclick=eval(btn.handler||function(){ +}); +tool.linkbutton($.extend({},btn,{plain:true})); +} +} +}else{ +$(opts.toolbar).addClass("datagrid-toolbar").prependTo(_690); +$(opts.toolbar).show(); +} +}else{ +$("div.datagrid-toolbar",_690).remove(); +} +$("div.datagrid-pager",_690).remove(); +if(opts.pagination){ +var _695=$("
        "); +if(opts.pagePosition=="bottom"){ +_695.appendTo(_690); +}else{ +if(opts.pagePosition=="top"){ +_695.addClass("datagrid-pager-top").prependTo(_690); +}else{ +var ptop=$("
        ").prependTo(_690); +_695.appendTo(_690); +_695=_695.add(ptop); +} +} +_695.pagination({total:0,pageNumber:opts.pageNumber,pageSize:opts.pageSize,pageList:opts.pageList,onSelectPage:function(_696,_697){ +opts.pageNumber=_696||1; +opts.pageSize=_697; +_695.pagination("refresh",{pageNumber:_696,pageSize:_697}); +_6df(_68e); +}}); +opts.pageSize=_695.pagination("options").pageSize; +} +function _693(_698,_699,_69a){ +if(!_699){ +return; +} +$(_698).show(); +$(_698).empty(); +var tmp=$("
        ").appendTo("body"); +tmp._outerWidth(99); +var _69b=100-parseInt(tmp[0].style.width); +tmp.remove(); +var _69c=[]; +var _69d=[]; +var _69e=[]; +if(opts.sortName){ +_69c=opts.sortName.split(","); +_69d=opts.sortOrder.split(","); +} +var t=$("
        ").appendTo(_698); +for(var i=0;i<_699.length;i++){ +var tr=$("").appendTo($("tbody",t)); +var cols=_699[i]; +for(var j=0;j").appendTo(tr); +if(col.checkbox){ +td.attr("field",col.field); +$("
        ").html("").appendTo(td); +}else{ +if(col.field){ +td.attr("field",col.field); +td.append("
        "); +td.find("span:first").html(col.title); +var cell=td.find("div.datagrid-cell"); +var pos=_646(_69c,col.field); +if(pos>=0){ +cell.addClass("datagrid-sort-"+_69d[pos]); +} +if(col.sortable){ +cell.addClass("datagrid-sort"); +} +if(col.resizable==false){ +cell.attr("resizable","false"); +} +if(col.width){ +var _69f=$.parser.parseValue("width",col.width,dc.view,opts.scrollbarSize+(opts.rownumbers?opts.rownumberWidth:0)); +col.deltaWidth=_69b; +col.boxWidth=_69f-_69b; +}else{ +col.auto=true; +} +cell.css("text-align",(col.halign||col.align||"")); +col.cellClass=_68f.cellClassPrefix+"-"+col.field.replace(/[\.|\s]/g,"-"); +cell.addClass(col.cellClass); +}else{ +$("
        ").html(col.title).appendTo(td); +} +} +if(col.hidden){ +td.hide(); +_69e.push(col.field); +} +} +} +if(_69a&&opts.rownumbers){ +var td=$("
        "); +if($("tr",t).length==0){ +td.wrap("").parent().appendTo($("tbody",t)); +}else{ +td.prependTo($("tr:first",t)); +} +} +for(var i=0;i<_69e.length;i++){ +_6e1(_68e,_69e[i],-1); +} +}; +function _694(){ +var _6a0=[[".datagrid-header-rownumber",(opts.rownumberWidth-1)+"px"],[".datagrid-cell-rownumber",(opts.rownumberWidth-1)+"px"]]; +var _6a1=_6a2(_68e,true).concat(_6a2(_68e)); +for(var i=0;i<_6a1.length;i++){ +var col=_6a3(_68e,_6a1[i]); +if(col&&!col.checkbox){ +_6a0.push(["."+col.cellClass,col.boxWidth?col.boxWidth+"px":"auto"]); +} +} +_68f.ss.add(_6a0); +_68f.ss.dirty(_68f.cellSelectorPrefix); +_68f.cellSelectorPrefix="."+_68f.cellClassPrefix; +}; +}; +function _6a4(_6a5){ +var _6a6=$.data(_6a5,"datagrid"); +var _6a7=_6a6.panel; +var opts=_6a6.options; +var dc=_6a6.dc; +var _6a8=dc.header1.add(dc.header2); +_6a8.unbind(".datagrid"); +for(var _6a9 in opts.headerEvents){ +_6a8.bind(_6a9+".datagrid",opts.headerEvents[_6a9]); +} +var _6aa=_6a8.find("div.datagrid-cell"); +var _6ab=opts.resizeHandle=="right"?"e":(opts.resizeHandle=="left"?"w":"e,w"); +_6aa.each(function(){ +$(this).resizable({handles:_6ab,disabled:($(this).attr("resizable")?$(this).attr("resizable")=="false":false),minWidth:25,onStartResize:function(e){ +_6a6.resizing=true; +_6a8.css("cursor",$("body").css("cursor")); +if(!_6a6.proxy){ +_6a6.proxy=$("
        ").appendTo(dc.view); +} +_6a6.proxy.css({left:e.pageX-$(_6a7).offset().left-1,display:"none"}); +setTimeout(function(){ +if(_6a6.proxy){ +_6a6.proxy.show(); +} +},500); +},onResize:function(e){ +_6a6.proxy.css({left:e.pageX-$(_6a7).offset().left-1,display:"block"}); +return false; +},onStopResize:function(e){ +_6a8.css("cursor",""); +$(this).css("height",""); +var _6ac=$(this).parent().attr("field"); +var col=_6a3(_6a5,_6ac); +col.width=$(this)._outerWidth(); +col.boxWidth=col.width-col.deltaWidth; +col.auto=undefined; +$(this).css("width",""); +$(_6a5).datagrid("fixColumnSize",_6ac); +_6a6.proxy.remove(); +_6a6.proxy=null; +if($(this).parents("div:first.datagrid-header").parent().hasClass("datagrid-view1")){ +_65f(_6a5); +} +$(_6a5).datagrid("fitColumns"); +opts.onResizeColumn.call(_6a5,_6ac,col.width); +setTimeout(function(){ +_6a6.resizing=false; +},0); +}}); +}); +var bb=dc.body1.add(dc.body2); +bb.unbind(); +for(var _6a9 in opts.rowEvents){ +bb.bind(_6a9,opts.rowEvents[_6a9]); +} +dc.body1.bind("mousewheel DOMMouseScroll",function(e){ +e.preventDefault(); +var e1=e.originalEvent||window.event; +var _6ad=e1.wheelDelta||e1.detail*(-1); +if("deltaY" in e1){ +_6ad=e1.deltaY*-1; +} +var dg=$(e.target).closest("div.datagrid-view").children(".datagrid-f"); +var dc=dg.data("datagrid").dc; +dc.body2.scrollTop(dc.body2.scrollTop()-_6ad); +}); +dc.body2.bind("scroll",function(){ +var b1=dc.view1.children("div.datagrid-body"); +b1.scrollTop($(this).scrollTop()); +var c1=dc.body1.children(":first"); +var c2=dc.body2.children(":first"); +if(c1.length&&c2.length){ +var top1=c1.offset().top; +var top2=c2.offset().top; +if(top1!=top2){ +b1.scrollTop(b1.scrollTop()+top1-top2); +} +} +dc.view2.children("div.datagrid-header,div.datagrid-footer")._scrollLeft($(this)._scrollLeft()); +dc.body2.children("table.datagrid-btable-frozen").css("left",-$(this)._scrollLeft()); +}); +}; +function _6ae(_6af){ +return function(e){ +var td=$(e.target).closest("td[field]"); +if(td.length){ +var _6b0=_6b1(td); +if(!$(_6b0).data("datagrid").resizing&&_6af){ +td.addClass("datagrid-header-over"); +}else{ +td.removeClass("datagrid-header-over"); +} +} +}; +}; +function _6b2(e){ +var _6b3=_6b1(e.target); +var opts=$(_6b3).datagrid("options"); +var ck=$(e.target).closest("input[type=checkbox]"); +if(ck.length){ +if(opts.singleSelect&&opts.selectOnCheck){ +return false; +} +if(ck.is(":checked")){ +_6b4(_6b3); +}else{ +_6b5(_6b3); +} +e.stopPropagation(); +}else{ +var cell=$(e.target).closest(".datagrid-cell"); +if(cell.length){ +var p1=cell.offset().left+5; +var p2=cell.offset().left+cell._outerWidth()-5; +if(e.pageXp1){ +_6b6(_6b3,cell.parent().attr("field")); +} +} +} +}; +function _6b7(e){ +var _6b8=_6b1(e.target); +var opts=$(_6b8).datagrid("options"); +var cell=$(e.target).closest(".datagrid-cell"); +if(cell.length){ +var p1=cell.offset().left+5; +var p2=cell.offset().left+cell._outerWidth()-5; +var cond=opts.resizeHandle=="right"?(e.pageX>p2):(opts.resizeHandle=="left"?(e.pageXp2)); +if(cond){ +var _6b9=cell.parent().attr("field"); +var col=_6a3(_6b8,_6b9); +if(col.resizable==false){ +return; +} +$(_6b8).datagrid("autoSizeColumn",_6b9); +col.auto=false; +} +} +}; +function _6ba(e){ +var _6bb=_6b1(e.target); +var opts=$(_6bb).datagrid("options"); +var td=$(e.target).closest("td[field]"); +opts.onHeaderContextMenu.call(_6bb,e,td.attr("field")); +}; +function _6bc(_6bd){ +return function(e){ +var tr=_6be(e.target); +if(!tr){ +return; +} +var _6bf=_6b1(tr); +if($.data(_6bf,"datagrid").resizing){ +return; +} +var _6c0=_6c1(tr); +if(_6bd){ +_6c2(_6bf,_6c0); +}else{ +var opts=$.data(_6bf,"datagrid").options; +opts.finder.getTr(_6bf,_6c0).removeClass("datagrid-row-over"); +} +}; +}; +function _6c3(e){ +var tr=_6be(e.target); +if(!tr){ +return; +} +var _6c4=_6b1(tr); +var opts=$.data(_6c4,"datagrid").options; +var _6c5=_6c1(tr); +var tt=$(e.target); +if(tt.parent().hasClass("datagrid-cell-check")){ +if(opts.singleSelect&&opts.selectOnCheck){ +tt._propAttr("checked",!tt.is(":checked")); +_6c6(_6c4,_6c5); +}else{ +if(tt.is(":checked")){ +tt._propAttr("checked",false); +_6c6(_6c4,_6c5); +}else{ +tt._propAttr("checked",true); +_6c7(_6c4,_6c5); +} +} +}else{ +var row=opts.finder.getRow(_6c4,_6c5); +var td=tt.closest("td[field]",tr); +if(td.length){ +var _6c8=td.attr("field"); +opts.onClickCell.call(_6c4,_6c5,_6c8,row[_6c8]); +} +if(opts.singleSelect==true){ +_6c9(_6c4,_6c5); +}else{ +if(opts.ctrlSelect){ +if(e.metaKey||e.ctrlKey){ +if(tr.hasClass("datagrid-row-selected")){ +_6ca(_6c4,_6c5); +}else{ +_6c9(_6c4,_6c5); +} +}else{ +if(e.shiftKey){ +$(_6c4).datagrid("clearSelections"); +var _6cb=Math.min(opts.lastSelectedIndex||0,_6c5); +var _6cc=Math.max(opts.lastSelectedIndex||0,_6c5); +for(var i=_6cb;i<=_6cc;i++){ +_6c9(_6c4,i); +} +}else{ +$(_6c4).datagrid("clearSelections"); +_6c9(_6c4,_6c5); +opts.lastSelectedIndex=_6c5; +} +} +}else{ +if(tr.hasClass("datagrid-row-selected")){ +_6ca(_6c4,_6c5); +}else{ +_6c9(_6c4,_6c5); +} +} +} +opts.onClickRow.apply(_6c4,_649(_6c4,[_6c5,row])); +} +}; +function _6cd(e){ +var tr=_6be(e.target); +if(!tr){ +return; +} +var _6ce=_6b1(tr); +var opts=$.data(_6ce,"datagrid").options; +var _6cf=_6c1(tr); +var row=opts.finder.getRow(_6ce,_6cf); +var td=$(e.target).closest("td[field]",tr); +if(td.length){ +var _6d0=td.attr("field"); +opts.onDblClickCell.call(_6ce,_6cf,_6d0,row[_6d0]); +} +opts.onDblClickRow.apply(_6ce,_649(_6ce,[_6cf,row])); +}; +function _6d1(e){ +var tr=_6be(e.target); +if(tr){ +var _6d2=_6b1(tr); +var opts=$.data(_6d2,"datagrid").options; +var _6d3=_6c1(tr); +var row=opts.finder.getRow(_6d2,_6d3); +opts.onRowContextMenu.call(_6d2,e,_6d3,row); +}else{ +var body=_6be(e.target,".datagrid-body"); +if(body){ +var _6d2=_6b1(body); +var opts=$.data(_6d2,"datagrid").options; +opts.onRowContextMenu.call(_6d2,e,-1,null); +} +} +}; +function _6b1(t){ +return $(t).closest("div.datagrid-view").children(".datagrid-f")[0]; +}; +function _6be(t,_6d4){ +var tr=$(t).closest(_6d4||"tr.datagrid-row"); +if(tr.length&&tr.parent().length){ +return tr; +}else{ +return undefined; +} +}; +function _6c1(tr){ +if(tr.attr("datagrid-row-index")){ +return parseInt(tr.attr("datagrid-row-index")); +}else{ +return tr.attr("node-id"); +} +}; +function _6b6(_6d5,_6d6){ +var _6d7=$.data(_6d5,"datagrid"); +var opts=_6d7.options; +_6d6=_6d6||{}; +var _6d8={sortName:opts.sortName,sortOrder:opts.sortOrder}; +if(typeof _6d6=="object"){ +$.extend(_6d8,_6d6); +} +var _6d9=[]; +var _6da=[]; +if(_6d8.sortName){ +_6d9=_6d8.sortName.split(","); +_6da=_6d8.sortOrder.split(","); +} +if(typeof _6d6=="string"){ +var _6db=_6d6; +var col=_6a3(_6d5,_6db); +if(!col.sortable||_6d7.resizing){ +return; +} +var _6dc=col.order||"asc"; +var pos=_646(_6d9,_6db); +if(pos>=0){ +var _6dd=_6da[pos]=="asc"?"desc":"asc"; +if(opts.multiSort&&_6dd==_6dc){ +_6d9.splice(pos,1); +_6da.splice(pos,1); +}else{ +_6da[pos]=_6dd; +} +}else{ +if(opts.multiSort){ +_6d9.push(_6db); +_6da.push(_6dc); +}else{ +_6d9=[_6db]; +_6da=[_6dc]; +} +} +_6d8.sortName=_6d9.join(","); +_6d8.sortOrder=_6da.join(","); +} +if(opts.onBeforeSortColumn.call(_6d5,_6d8.sortName,_6d8.sortOrder)==false){ +return; +} +$.extend(opts,_6d8); +var dc=_6d7.dc; +var _6de=dc.header1.add(dc.header2); +_6de.find("div.datagrid-cell").removeClass("datagrid-sort-asc datagrid-sort-desc"); +for(var i=0;i<_6d9.length;i++){ +var col=_6a3(_6d5,_6d9[i]); +_6de.find("div."+col.cellClass).addClass("datagrid-sort-"+_6da[i]); +} +if(opts.remoteSort){ +_6df(_6d5); +}else{ +_6e0(_6d5,$(_6d5).datagrid("getData")); +} +opts.onSortColumn.call(_6d5,opts.sortName,opts.sortOrder); +}; +function _6e1(_6e2,_6e3,_6e4){ +_6e5(true); +_6e5(false); +function _6e5(_6e6){ +var aa=_6e7(_6e2,_6e6); +if(aa.length){ +var _6e8=aa[aa.length-1]; +var _6e9=_646(_6e8,_6e3); +if(_6e9>=0){ +for(var _6ea=0;_6ea=_6ef.find("table").width()){ +dc.body2.css("overflow-x","hidden"); +} +function _6f2(){ +if(!opts.fitColumns){ +return; +} +if(!_6ee.leftWidth){ +_6ee.leftWidth=0; +} +var _6f3=0; +var cc=[]; +var _6f4=_6a2(_6ed,false); +for(var i=0;i<_6f4.length;i++){ +var col=_6a3(_6ed,_6f4[i]); +if(_6f5(col)){ +_6f3+=col.width; +cc.push({field:col.field,col:col,addingWidth:0}); +} +} +if(!_6f3){ +return; +} +cc[cc.length-1].addingWidth-=_6ee.leftWidth; +var _6f6=_6ef.children("div.datagrid-header-inner").show(); +var _6f7=_6ef.width()-_6ef.find("table").width()-opts.scrollbarSize+_6ee.leftWidth; +var rate=_6f7/_6f3; +if(!opts.showHeader){ +_6f6.hide(); +} +for(var i=0;i0){ +c.col.boxWidth+=c.addingWidth; +c.col.width+=c.addingWidth; +} +} +_6ee.leftWidth=_6f7; +$(_6ed).datagrid("fixColumnSize"); +}; +function _6f1(){ +var _6f9=false; +var _6fa=_6a2(_6ed,true).concat(_6a2(_6ed,false)); +$.map(_6fa,function(_6fb){ +var col=_6a3(_6ed,_6fb); +if(String(col.width||"").indexOf("%")>=0){ +var _6fc=$.parser.parseValue("width",col.width,dc.view,opts.scrollbarSize+(opts.rownumbers?opts.rownumberWidth:0))-col.deltaWidth; +if(_6fc>0){ +col.boxWidth=_6fc; +_6f9=true; +} +} +}); +if(_6f9){ +$(_6ed).datagrid("fixColumnSize"); +} +}; +function _6f0(fit){ +var _6fd=dc.header1.add(dc.header2).find(".datagrid-cell-group"); +if(_6fd.length){ +_6fd.each(function(){ +$(this)._outerWidth(fit?$(this).parent().width():10); +}); +if(fit){ +_65f(_6ed); +} +} +}; +function _6f5(col){ +if(String(col.width||"").indexOf("%")>=0){ +return false; +} +if(!col.hidden&&!col.checkbox&&!col.auto&&!col.fixed){ +return true; +} +}; +}; +function _6fe(_6ff,_700){ +var _701=$.data(_6ff,"datagrid"); +var opts=_701.options; +var dc=_701.dc; +var tmp=$("
        ").appendTo("body"); +if(_700){ +_65a(_700); +$(_6ff).datagrid("fitColumns"); +}else{ +var _702=false; +var _703=_6a2(_6ff,true).concat(_6a2(_6ff,false)); +for(var i=0;i<_703.length;i++){ +var _700=_703[i]; +var col=_6a3(_6ff,_700); +if(col.auto){ +_65a(_700); +_702=true; +} +} +if(_702){ +$(_6ff).datagrid("fitColumns"); +} +} +tmp.remove(); +function _65a(_704){ +var _705=dc.view.find("div.datagrid-header td[field=\""+_704+"\"] div.datagrid-cell"); +_705.css("width",""); +var col=$(_6ff).datagrid("getColumnOption",_704); +col.width=undefined; +col.boxWidth=undefined; +col.auto=true; +$(_6ff).datagrid("fixColumnSize",_704); +var _706=Math.max(_707("header"),_707("allbody"),_707("allfooter"))+1; +_705._outerWidth(_706-1); +col.width=_706; +col.boxWidth=parseInt(_705[0].style.width); +col.deltaWidth=_706-col.boxWidth; +_705.css("width",""); +$(_6ff).datagrid("fixColumnSize",_704); +opts.onResizeColumn.call(_6ff,_704,col.width); +function _707(type){ +var _708=0; +if(type=="header"){ +_708=_709(_705); +}else{ +opts.finder.getTr(_6ff,0,type).find("td[field=\""+_704+"\"] div.datagrid-cell").each(function(){ +var w=_709($(this)); +if(_7081){ +var col=_6a3(_712,td.attr("field")); +var _714=col.boxWidth+col.deltaWidth-1; +for(var i=1;i<_713;i++){ +td=td.next(); +col=_6a3(_712,td.attr("field")); +_714+=col.boxWidth+col.deltaWidth; +} +$(this).children("div.datagrid-cell")._outerWidth(_714); +} +}); +}; +function _710(_715){ +var dc=$.data(_715,"datagrid").dc; +dc.view.find("div.datagrid-editable").each(function(){ +var cell=$(this); +var _716=cell.parent().attr("field"); +var col=$(_715).datagrid("getColumnOption",_716); +cell._outerWidth(col.boxWidth+col.deltaWidth-1); +var ed=$.data(this,"datagrid.editor"); +if(ed.actions.resize){ +ed.actions.resize(ed.target,cell.width()); +} +}); +}; +function _6a3(_717,_718){ +function find(_719){ +if(_719){ +for(var i=0;i<_719.length;i++){ +var cc=_719[i]; +for(var j=0;j=0){ +var _722=col.field||col.id||""; +for(var c=0;c<(col.colspan||1);c++){ +for(var r=0;r<(col.rowspan||1);r++){ +aa[_71f+r][_720]=_722; +} +_720++; +} +} +}); +} +return aa; +function _71e(){ +var _723=0; +$.map(_71c[0]||[],function(col){ +_723+=col.colspan||1; +}); +return _723; +}; +function _721(a){ +for(var i=0;ib?1:-1); +}; +r=_72a(r1[sn],r2[sn])*(so=="asc"?1:-1); +if(r!=0){ +return r; +} +} +return r; +}); +} +if(opts.view.onBeforeRender){ +opts.view.onBeforeRender.call(opts.view,_726,data.rows); +} +opts.view.render.call(opts.view,_726,dc.body2,false); +opts.view.render.call(opts.view,_726,dc.body1,true); +if(opts.showFooter){ +opts.view.renderFooter.call(opts.view,_726,dc.footer2,false); +opts.view.renderFooter.call(opts.view,_726,dc.footer1,true); +} +if(opts.view.onAfterRender){ +opts.view.onAfterRender.call(opts.view,_726); +} +_727.ss.clean(); +var _72b=$(_726).datagrid("getPager"); +if(_72b.length){ +var _72c=_72b.pagination("options"); +if(_72c.total!=data.total){ +_72b.pagination("refresh",{total:data.total}); +if(opts.pageNumber!=_72c.pageNumber&&_72c.pageNumber>0){ +opts.pageNumber=_72c.pageNumber; +_6df(_726); +} +} +} +_670(_726); +dc.body2.triggerHandler("scroll"); +$(_726).datagrid("setSelectionState"); +$(_726).datagrid("autoSizeColumn"); +opts.onLoadSuccess.call(_726,data); +}; +function _72d(_72e){ +var _72f=$.data(_72e,"datagrid"); +var opts=_72f.options; +var dc=_72f.dc; +dc.header1.add(dc.header2).find("input[type=checkbox]")._propAttr("checked",false); +if(opts.idField){ +var _730=$.data(_72e,"treegrid")?true:false; +var _731=opts.onSelect; +var _732=opts.onCheck; +opts.onSelect=opts.onCheck=function(){ +}; +var rows=opts.finder.getRows(_72e); +for(var i=0;i_743.height()-_744){ +_743.scrollTop(_743.scrollTop()+top+tr._outerHeight()-_743.height()+_744); +} +} +} +}; +function _6c2(_746,_747){ +var _748=$.data(_746,"datagrid"); +var opts=_748.options; +opts.finder.getTr(_746,_748.highlightIndex).removeClass("datagrid-row-over"); +opts.finder.getTr(_746,_747).addClass("datagrid-row-over"); +_748.highlightIndex=_747; +}; +function _6c9(_749,_74a,_74b,_74c){ +var _74d=$.data(_749,"datagrid"); +var opts=_74d.options; +var row=opts.finder.getRow(_749,_74a); +if(!row){ +return; +} +if(opts.onBeforeSelect.apply(_749,_649(_749,[_74a,row]))==false){ +return; +} +if(opts.singleSelect){ +_74e(_749,true); +_74d.selectedRows=[]; +} +if(!_74b&&opts.checkOnSelect){ +_6c6(_749,_74a,true); +} +if(opts.idField){ +_648(_74d.selectedRows,opts.idField,row); +} +opts.finder.getTr(_749,_74a).addClass("datagrid-row-selected"); +opts.onSelect.apply(_749,_649(_749,[_74a,row])); +if(!_74c&&opts.scrollOnSelect){ +_73e(_749,_74a); +} +}; +function _6ca(_74f,_750,_751){ +var _752=$.data(_74f,"datagrid"); +var dc=_752.dc; +var opts=_752.options; +var row=opts.finder.getRow(_74f,_750); +if(!row){ +return; +} +if(opts.onBeforeUnselect.apply(_74f,_649(_74f,[_750,row]))==false){ +return; +} +if(!_751&&opts.checkOnSelect){ +_6c7(_74f,_750,true); +} +opts.finder.getTr(_74f,_750).removeClass("datagrid-row-selected"); +if(opts.idField){ +_647(_752.selectedRows,opts.idField,row[opts.idField]); +} +opts.onUnselect.apply(_74f,_649(_74f,[_750,row])); +}; +function _753(_754,_755){ +var _756=$.data(_754,"datagrid"); +var opts=_756.options; +var rows=opts.finder.getRows(_754); +var _757=$.data(_754,"datagrid").selectedRows; +if(!_755&&opts.checkOnSelect){ +_6b4(_754,true); +} +opts.finder.getTr(_754,"","allbody").addClass("datagrid-row-selected"); +if(opts.idField){ +for(var _758=0;_758"); +cell.children("table").bind("click dblclick contextmenu",function(e){ +e.stopPropagation(); +}); +$.data(cell[0],"datagrid.editor",{actions:_78d,target:_78d.init(cell.find("td"),$.extend({height:opts.editorHeight},_78c)),field:_78a,type:_78b,oldHtml:_78e}); +} +} +}); +_670(_788,_789,true); +}; +function _77f(_790,_791){ +var opts=$.data(_790,"datagrid").options; +var tr=opts.finder.getTr(_790,_791); +tr.children("td").each(function(){ +var cell=$(this).find("div.datagrid-editable"); +if(cell.length){ +var ed=$.data(cell[0],"datagrid.editor"); +if(ed.actions.destroy){ +ed.actions.destroy(ed.target); +} +cell.html(ed.oldHtml); +$.removeData(cell[0],"datagrid.editor"); +cell.removeClass("datagrid-editable"); +cell.css("width",""); +} +}); +}; +function _772(_792,_793){ +var tr=$.data(_792,"datagrid").options.finder.getTr(_792,_793); +if(!tr.hasClass("datagrid-row-editing")){ +return true; +} +var vbox=tr.find(".validatebox-text"); +vbox.validatebox("validate"); +vbox.trigger("mouseleave"); +var _794=tr.find(".validatebox-invalid"); +return _794.length==0; +}; +function _795(_796,_797){ +var _798=$.data(_796,"datagrid").insertedRows; +var _799=$.data(_796,"datagrid").deletedRows; +var _79a=$.data(_796,"datagrid").updatedRows; +if(!_797){ +var rows=[]; +rows=rows.concat(_798); +rows=rows.concat(_799); +rows=rows.concat(_79a); +return rows; +}else{ +if(_797=="inserted"){ +return _798; +}else{ +if(_797=="deleted"){ +return _799; +}else{ +if(_797=="updated"){ +return _79a; +} +} +} +} +return []; +}; +function _79b(_79c,_79d){ +var _79e=$.data(_79c,"datagrid"); +var opts=_79e.options; +var data=_79e.data; +var _79f=_79e.insertedRows; +var _7a0=_79e.deletedRows; +$(_79c).datagrid("cancelEdit",_79d); +var row=opts.finder.getRow(_79c,_79d); +if(_646(_79f,row)>=0){ +_647(_79f,row); +}else{ +_7a0.push(row); +} +_647(_79e.selectedRows,opts.idField,row[opts.idField]); +_647(_79e.checkedRows,opts.idField,row[opts.idField]); +opts.view.deleteRow.call(opts.view,_79c,_79d); +if(opts.height=="auto"){ +_670(_79c); +} +$(_79c).datagrid("getPager").pagination("refresh",{total:data.total}); +}; +function _7a1(_7a2,_7a3){ +var data=$.data(_7a2,"datagrid").data; +var view=$.data(_7a2,"datagrid").options.view; +var _7a4=$.data(_7a2,"datagrid").insertedRows; +view.insertRow.call(view,_7a2,_7a3.index,_7a3.row); +_7a4.push(_7a3.row); +$(_7a2).datagrid("getPager").pagination("refresh",{total:data.total}); +}; +function _7a5(_7a6,row){ +var data=$.data(_7a6,"datagrid").data; +var view=$.data(_7a6,"datagrid").options.view; +var _7a7=$.data(_7a6,"datagrid").insertedRows; +view.insertRow.call(view,_7a6,null,row); +_7a7.push(row); +$(_7a6).datagrid("getPager").pagination("refresh",{total:data.total}); +}; +function _7a8(_7a9,_7aa){ +var _7ab=$.data(_7a9,"datagrid"); +var opts=_7ab.options; +var row=opts.finder.getRow(_7a9,_7aa.index); +var _7ac=false; +_7aa.row=_7aa.row||{}; +for(var _7ad in _7aa.row){ +if(row[_7ad]!==_7aa.row[_7ad]){ +_7ac=true; +break; +} +} +if(_7ac){ +if(_646(_7ab.insertedRows,row)==-1){ +if(_646(_7ab.updatedRows,row)==-1){ +_7ab.updatedRows.push(row); +} +} +opts.view.updateRow.call(opts.view,_7a9,_7aa.index,_7aa.row); +} +}; +function _7ae(_7af){ +var _7b0=$.data(_7af,"datagrid"); +var data=_7b0.data; +var rows=data.rows; +var _7b1=[]; +for(var i=0;i=0){ +(_7be=="s"?_6c9:_6c6)(_7b5,_7bf,true); +} +} +}; +for(var i=0;i0){ +$(this).datagrid("loadData",data); +}else{ +opts.view.setEmptyMsg(this); +$(this).datagrid("autoSizeColumn"); +} +} +_6df(this); +}); +}; +function _7cf(_7d0){ +var _7d1={}; +$.map(_7d0,function(name){ +_7d1[name]=_7d2(name); +}); +return _7d1; +function _7d2(name){ +function isA(_7d3){ +return $.data($(_7d3)[0],name)!=undefined; +}; +return {init:function(_7d4,_7d5){ +var _7d6=$("").appendTo(_7d4); +if(_7d6[name]&&name!="text"){ +return _7d6[name](_7d5); +}else{ +return _7d6; +} +},destroy:function(_7d7){ +if(isA(_7d7,name)){ +$(_7d7)[name]("destroy"); +} +},getValue:function(_7d8){ +if(isA(_7d8,name)){ +var opts=$(_7d8)[name]("options"); +if(opts.multiple){ +return $(_7d8)[name]("getValues").join(opts.separator); +}else{ +return $(_7d8)[name]("getValue"); +} +}else{ +return $(_7d8).val(); +} +},setValue:function(_7d9,_7da){ +if(isA(_7d9,name)){ +var opts=$(_7d9)[name]("options"); +if(opts.multiple){ +if(_7da){ +$(_7d9)[name]("setValues",_7da.split(opts.separator)); +}else{ +$(_7d9)[name]("clear"); +} +}else{ +$(_7d9)[name]("setValue",_7da); +} +}else{ +$(_7d9).val(_7da); +} +},resize:function(_7db,_7dc){ +if(isA(_7db,name)){ +$(_7db)[name]("resize",_7dc); +}else{ +$(_7db)._size({width:_7dc,height:$.fn.datagrid.defaults.editorHeight}); +} +}}; +}; +}; +var _7dd=$.extend({},_7cf(["text","textbox","passwordbox","filebox","numberbox","numberspinner","combobox","combotree","combogrid","combotreegrid","datebox","datetimebox","timespinner","datetimespinner"]),{textarea:{init:function(_7de,_7df){ +var _7e0=$("").appendTo(_7de); +_7e0.css("vertical-align","middle")._outerHeight(_7df.height); +return _7e0; +},getValue:function(_7e1){ +return $(_7e1).val(); +},setValue:function(_7e2,_7e3){ +$(_7e2).val(_7e3); +},resize:function(_7e4,_7e5){ +$(_7e4)._outerWidth(_7e5); +}},checkbox:{init:function(_7e6,_7e7){ +var _7e8=$("").appendTo(_7e6); +_7e8.val(_7e7.on); +_7e8.attr("offval",_7e7.off); +return _7e8; +},getValue:function(_7e9){ +if($(_7e9).is(":checked")){ +return $(_7e9).val(); +}else{ +return $(_7e9).attr("offval"); +} +},setValue:function(_7ea,_7eb){ +var _7ec=false; +if($(_7ea).val()==_7eb){ +_7ec=true; +} +$(_7ea)._propAttr("checked",_7ec); +}},validatebox:{init:function(_7ed,_7ee){ +var _7ef=$("").appendTo(_7ed); +_7ef.validatebox(_7ee); +return _7ef; +},destroy:function(_7f0){ +$(_7f0).validatebox("destroy"); +},getValue:function(_7f1){ +return $(_7f1).val(); +},setValue:function(_7f2,_7f3){ +$(_7f2).val(_7f3); +},resize:function(_7f4,_7f5){ +$(_7f4)._outerWidth(_7f5)._outerHeight($.fn.datagrid.defaults.editorHeight); +}}}); +$.fn.datagrid.methods={options:function(jq){ +var _7f6=$.data(jq[0],"datagrid").options; +var _7f7=$.data(jq[0],"datagrid").panel.panel("options"); +var opts=$.extend(_7f6,{width:_7f7.width,height:_7f7.height,closed:_7f7.closed,collapsed:_7f7.collapsed,minimized:_7f7.minimized,maximized:_7f7.maximized}); +return opts; +},setSelectionState:function(jq){ +return jq.each(function(){ +_72d(this); +}); +},createStyleSheet:function(jq){ +return _64b(jq[0]); +},getPanel:function(jq){ +return $.data(jq[0],"datagrid").panel; +},getPager:function(jq){ +return $.data(jq[0],"datagrid").panel.children("div.datagrid-pager"); +},getColumnFields:function(jq,_7f8){ +return _6a2(jq[0],_7f8); +},getColumnOption:function(jq,_7f9){ +return _6a3(jq[0],_7f9); +},resize:function(jq,_7fa){ +return jq.each(function(){ +_65a(this,_7fa); +}); +},load:function(jq,_7fb){ +return jq.each(function(){ +var opts=$(this).datagrid("options"); +if(typeof _7fb=="string"){ +opts.url=_7fb; +_7fb=null; +} +opts.pageNumber=1; +var _7fc=$(this).datagrid("getPager"); +_7fc.pagination("refresh",{pageNumber:1}); +_6df(this,_7fb); +}); +},reload:function(jq,_7fd){ +return jq.each(function(){ +var opts=$(this).datagrid("options"); +if(typeof _7fd=="string"){ +opts.url=_7fd; +_7fd=null; +} +_6df(this,_7fd); +}); +},reloadFooter:function(jq,_7fe){ +return jq.each(function(){ +var opts=$.data(this,"datagrid").options; +var dc=$.data(this,"datagrid").dc; +if(_7fe){ +$.data(this,"datagrid").footer=_7fe; +} +if(opts.showFooter){ +opts.view.renderFooter.call(opts.view,this,dc.footer2,false); +opts.view.renderFooter.call(opts.view,this,dc.footer1,true); +if(opts.view.onAfterRender){ +opts.view.onAfterRender.call(opts.view,this); +} +$(this).datagrid("fixRowHeight"); +} +}); +},loading:function(jq){ +return jq.each(function(){ +var opts=$.data(this,"datagrid").options; +$(this).datagrid("getPager").pagination("loading"); +if(opts.loadMsg){ +var _7ff=$(this).datagrid("getPanel"); +if(!_7ff.children("div.datagrid-mask").length){ +$("
        ").appendTo(_7ff); +var msg=$("
        ").html(opts.loadMsg).appendTo(_7ff); +msg._outerHeight(40); +msg.css({marginLeft:(-msg.outerWidth()/2),lineHeight:(msg.height()+"px")}); +} +} +}); +},loaded:function(jq){ +return jq.each(function(){ +$(this).datagrid("getPager").pagination("loaded"); +var _800=$(this).datagrid("getPanel"); +_800.children("div.datagrid-mask-msg").remove(); +_800.children("div.datagrid-mask").remove(); +}); +},fitColumns:function(jq){ +return jq.each(function(){ +_6ec(this); +}); +},fixColumnSize:function(jq,_801){ +return jq.each(function(){ +_70a(this,_801); +}); +},fixRowHeight:function(jq,_802){ +return jq.each(function(){ +_670(this,_802); +}); +},freezeRow:function(jq,_803){ +return jq.each(function(){ +_67d(this,_803); +}); +},autoSizeColumn:function(jq,_804){ +return jq.each(function(){ +_6fe(this,_804); +}); +},loadData:function(jq,data){ +return jq.each(function(){ +_6e0(this,data); +_7ae(this); +}); +},getData:function(jq){ +return $.data(jq[0],"datagrid").data; +},getRows:function(jq){ +return $.data(jq[0],"datagrid").data.rows; +},getFooterRows:function(jq){ +return $.data(jq[0],"datagrid").footer; +},getRowIndex:function(jq,id){ +return _735(jq[0],id); +},getChecked:function(jq){ +return _73b(jq[0]); +},getSelected:function(jq){ +var rows=_738(jq[0]); +return rows.length>0?rows[0]:null; +},getSelections:function(jq){ +return _738(jq[0]); +},clearSelections:function(jq){ +return jq.each(function(){ +var _805=$.data(this,"datagrid"); +var _806=_805.selectedRows; +var _807=_805.checkedRows; +_806.splice(0,_806.length); +_74e(this); +if(_805.options.checkOnSelect){ +_807.splice(0,_807.length); +} +}); +},clearChecked:function(jq){ +return jq.each(function(){ +var _808=$.data(this,"datagrid"); +var _809=_808.selectedRows; +var _80a=_808.checkedRows; +_80a.splice(0,_80a.length); +_6b5(this); +if(_808.options.selectOnCheck){ +_809.splice(0,_809.length); +} +}); +},scrollTo:function(jq,_80b){ +return jq.each(function(){ +_73e(this,_80b); +}); +},highlightRow:function(jq,_80c){ +return jq.each(function(){ +_6c2(this,_80c); +_73e(this,_80c); +}); +},selectAll:function(jq){ +return jq.each(function(){ +_753(this); +}); +},unselectAll:function(jq){ +return jq.each(function(){ +_74e(this); +}); +},selectRow:function(jq,_80d){ +return jq.each(function(){ +_6c9(this,_80d); +}); +},selectRecord:function(jq,id){ +return jq.each(function(){ +var opts=$.data(this,"datagrid").options; +if(opts.idField){ +var _80e=_735(this,id); +if(_80e>=0){ +$(this).datagrid("selectRow",_80e); +} +} +}); +},unselectRow:function(jq,_80f){ +return jq.each(function(){ +_6ca(this,_80f); +}); +},checkRow:function(jq,_810){ +return jq.each(function(){ +_6c6(this,_810); +}); +},uncheckRow:function(jq,_811){ +return jq.each(function(){ +_6c7(this,_811); +}); +},checkAll:function(jq){ +return jq.each(function(){ +_6b4(this); +}); +},uncheckAll:function(jq){ +return jq.each(function(){ +_6b5(this); +}); +},beginEdit:function(jq,_812){ +return jq.each(function(){ +_76d(this,_812); +}); +},endEdit:function(jq,_813){ +return jq.each(function(){ +_773(this,_813,false); +}); +},cancelEdit:function(jq,_814){ +return jq.each(function(){ +_773(this,_814,true); +}); +},getEditors:function(jq,_815){ +return _780(jq[0],_815); +},getEditor:function(jq,_816){ +return _784(jq[0],_816); +},refreshRow:function(jq,_817){ +return jq.each(function(){ +var opts=$.data(this,"datagrid").options; +opts.view.refreshRow.call(opts.view,this,_817); +}); +},validateRow:function(jq,_818){ +return _772(jq[0],_818); +},updateRow:function(jq,_819){ +return jq.each(function(){ +_7a8(this,_819); +}); +},appendRow:function(jq,row){ +return jq.each(function(){ +_7a5(this,row); +}); +},insertRow:function(jq,_81a){ +return jq.each(function(){ +_7a1(this,_81a); +}); +},deleteRow:function(jq,_81b){ +return jq.each(function(){ +_79b(this,_81b); +}); +},getChanges:function(jq,_81c){ +return _795(jq[0],_81c); +},acceptChanges:function(jq){ +return jq.each(function(){ +_7b2(this); +}); +},rejectChanges:function(jq){ +return jq.each(function(){ +_7b4(this); +}); +},mergeCells:function(jq,_81d){ +return jq.each(function(){ +_7c6(this,_81d); +}); +},showColumn:function(jq,_81e){ +return jq.each(function(){ +var col=$(this).datagrid("getColumnOption",_81e); +if(col.hidden){ +col.hidden=false; +$(this).datagrid("getPanel").find("td[field=\""+_81e+"\"]").show(); +_6e1(this,_81e,1); +$(this).datagrid("fitColumns"); +} +}); +},hideColumn:function(jq,_81f){ +return jq.each(function(){ +var col=$(this).datagrid("getColumnOption",_81f); +if(!col.hidden){ +col.hidden=true; +$(this).datagrid("getPanel").find("td[field=\""+_81f+"\"]").hide(); +_6e1(this,_81f,-1); +$(this).datagrid("fitColumns"); +} +}); +},sort:function(jq,_820){ +return jq.each(function(){ +_6b6(this,_820); +}); +},gotoPage:function(jq,_821){ +return jq.each(function(){ +var _822=this; +var page,cb; +if(typeof _821=="object"){ +page=_821.page; +cb=_821.callback; +}else{ +page=_821; +} +$(_822).datagrid("options").pageNumber=page; +$(_822).datagrid("getPager").pagination("refresh",{pageNumber:page}); +_6df(_822,null,function(){ +if(cb){ +cb.call(_822,page); +} +}); +}); +}}; +$.fn.datagrid.parseOptions=function(_823){ +var t=$(_823); +return $.extend({},$.fn.panel.parseOptions(_823),$.parser.parseOptions(_823,["url","toolbar","idField","sortName","sortOrder","pagePosition","resizeHandle",{sharedStyleSheet:"boolean",fitColumns:"boolean",autoRowHeight:"boolean",striped:"boolean",nowrap:"boolean"},{rownumbers:"boolean",singleSelect:"boolean",ctrlSelect:"boolean",checkOnSelect:"boolean",selectOnCheck:"boolean"},{pagination:"boolean",pageSize:"number",pageNumber:"number"},{multiSort:"boolean",remoteSort:"boolean",showHeader:"boolean",showFooter:"boolean"},{scrollbarSize:"number",scrollOnSelect:"boolean"}]),{pageList:(t.attr("pageList")?eval(t.attr("pageList")):undefined),loadMsg:(t.attr("loadMsg")!=undefined?t.attr("loadMsg"):undefined),rowStyler:(t.attr("rowStyler")?eval(t.attr("rowStyler")):undefined)}); +}; +$.fn.datagrid.parseData=function(_824){ +var t=$(_824); +var data={total:0,rows:[]}; +var _825=t.datagrid("getColumnFields",true).concat(t.datagrid("getColumnFields",false)); +t.find("tbody tr").each(function(){ +data.total++; +var row={}; +$.extend(row,$.parser.parseOptions(this,["iconCls","state"])); +for(var i=0;i<_825.length;i++){ +row[_825[i]]=$(this).find("td:eq("+i+")").html(); +} +data.rows.push(row); +}); +return data; +}; +var _826={render:function(_827,_828,_829){ +var rows=$(_827).datagrid("getRows"); +$(_828).html(this.renderTable(_827,0,rows,_829)); +},renderFooter:function(_82a,_82b,_82c){ +var opts=$.data(_82a,"datagrid").options; +var rows=$.data(_82a,"datagrid").footer||[]; +var _82d=$(_82a).datagrid("getColumnFields",_82c); +var _82e=[""]; +for(var i=0;i"); +_82e.push(this.renderRow.call(this,_82a,_82d,_82c,i,rows[i])); +_82e.push(""); +} +_82e.push("
        "); +$(_82b).html(_82e.join("")); +},renderTable:function(_82f,_830,rows,_831){ +var _832=$.data(_82f,"datagrid"); +var opts=_832.options; +if(_831){ +if(!(opts.rownumbers||(opts.frozenColumns&&opts.frozenColumns.length))){ +return ""; +} +} +var _833=$(_82f).datagrid("getColumnFields",_831); +var _834=[""]; +for(var i=0;i"); +_834.push(this.renderRow.call(this,_82f,_833,_831,_830,row)); +_834.push(""); +_830++; +} +_834.push("
        "); +return _834.join(""); +},renderRow:function(_837,_838,_839,_83a,_83b){ +var opts=$.data(_837,"datagrid").options; +var cc=[]; +if(_839&&opts.rownumbers){ +var _83c=_83a+1; +if(opts.pagination){ +_83c+=(opts.pageNumber-1)*opts.pageSize; +} +cc.push("
        "+_83c+"
        "); +} +for(var i=0;i<_838.length;i++){ +var _83d=_838[i]; +var col=$(_837).datagrid("getColumnOption",_83d); +if(col){ +var _83e=_83b[_83d]; +var css=col.styler?(col.styler.call(_837,_83e,_83b,_83a)||""):""; +var cs=this.getStyleValue(css); +var cls=cs.c?"class=\""+cs.c+"\"":""; +var _83f=col.hidden?"style=\"display:none;"+cs.s+"\"":(cs.s?"style=\""+cs.s+"\"":""); +cc.push(""); +var _83f=""; +if(!col.checkbox){ +if(col.align){ +_83f+="text-align:"+col.align+";"; +} +if(!opts.nowrap){ +_83f+="white-space:normal;height:auto;"; +}else{ +if(opts.autoRowHeight){ +_83f+="height:auto;"; +} +} +} +cc.push("
        "); +if(col.checkbox){ +cc.push(""); +}else{ +if(col.formatter){ +cc.push(col.formatter(_83e,_83b,_83a)); +}else{ +cc.push(_83e); +} +} +cc.push("
        "); +cc.push(""); +} +} +return cc.join(""); +},getStyleValue:function(css){ +var _840=""; +var _841=""; +if(typeof css=="string"){ +_841=css; +}else{ +if(css){ +_840=css["class"]||""; +_841=css["style"]||""; +} +} +return {c:_840,s:_841}; +},refreshRow:function(_842,_843){ +this.updateRow.call(this,_842,_843,{}); +},updateRow:function(_844,_845,row){ +var opts=$.data(_844,"datagrid").options; +var _846=opts.finder.getRow(_844,_845); +$.extend(_846,row); +var cs=_847.call(this,_845); +var _848=cs.s; +var cls="datagrid-row "+(_845%2&&opts.striped?"datagrid-row-alt ":" ")+cs.c; +function _847(_849){ +var css=opts.rowStyler?opts.rowStyler.call(_844,_849,_846):""; +return this.getStyleValue(css); +}; +function _84a(_84b){ +var tr=opts.finder.getTr(_844,_845,"body",(_84b?1:2)); +if(!tr.length){ +return; +} +var _84c=$(_844).datagrid("getColumnFields",_84b); +var _84d=tr.find("div.datagrid-cell-check input[type=checkbox]").is(":checked"); +tr.html(this.renderRow.call(this,_844,_84c,_84b,_845,_846)); +var _84e=(tr.hasClass("datagrid-row-checked")?" datagrid-row-checked":"")+(tr.hasClass("datagrid-row-selected")?" datagrid-row-selected":""); +tr.attr("style",_848).attr("class",cls+_84e); +if(_84d){ +tr.find("div.datagrid-cell-check input[type=checkbox]")._propAttr("checked",true); +} +}; +_84a.call(this,true); +_84a.call(this,false); +$(_844).datagrid("fixRowHeight",_845); +},insertRow:function(_84f,_850,row){ +var _851=$.data(_84f,"datagrid"); +var opts=_851.options; +var dc=_851.dc; +var data=_851.data; +if(_850==undefined||_850==null){ +_850=data.rows.length; +} +if(_850>data.rows.length){ +_850=data.rows.length; +} +function _852(_853){ +var _854=_853?1:2; +for(var i=data.rows.length-1;i>=_850;i--){ +var tr=opts.finder.getTr(_84f,i,"body",_854); +tr.attr("datagrid-row-index",i+1); +tr.attr("id",_851.rowIdPrefix+"-"+_854+"-"+(i+1)); +if(_853&&opts.rownumbers){ +var _855=i+2; +if(opts.pagination){ +_855+=(opts.pageNumber-1)*opts.pageSize; +} +tr.find("div.datagrid-cell-rownumber").html(_855); +} +if(opts.striped){ +tr.removeClass("datagrid-row-alt").addClass((i+1)%2?"datagrid-row-alt":""); +} +} +}; +function _856(_857){ +var _858=_857?1:2; +var _859=$(_84f).datagrid("getColumnFields",_857); +var _85a=_851.rowIdPrefix+"-"+_858+"-"+_850; +var tr=""; +if(_850>=data.rows.length){ +if(data.rows.length){ +opts.finder.getTr(_84f,"","last",_858).after(tr); +}else{ +var cc=_857?dc.body1:dc.body2; +cc.html(""+tr+"
        "); +} +}else{ +opts.finder.getTr(_84f,_850+1,"body",_858).before(tr); +} +}; +_852.call(this,true); +_852.call(this,false); +_856.call(this,true); +_856.call(this,false); +data.total+=1; +data.rows.splice(_850,0,row); +this.setEmptyMsg(_84f); +this.refreshRow.call(this,_84f,_850); +},deleteRow:function(_85b,_85c){ +var _85d=$.data(_85b,"datagrid"); +var opts=_85d.options; +var data=_85d.data; +function _85e(_85f){ +var _860=_85f?1:2; +for(var i=_85c+1;i
        ").appendTo(_867.dc.view); +d.html(opts.emptyMsg).css("top",h+"px"); +} +} +},renderEmptyRow:function(_869){ +var cols=$.map($(_869).datagrid("getColumnFields"),function(_86a){ +return $(_869).datagrid("getColumnOption",_86a); +}); +$.map(cols,function(col){ +col.formatter1=col.formatter; +col.styler1=col.styler; +col.formatter=col.styler=undefined; +}); +var _86b=$.data(_869,"datagrid").dc.body2; +_86b.html(this.renderTable(_869,0,[{}],false)); +_86b.find("tbody *").css({height:1,borderColor:"transparent",background:"transparent"}); +var tr=_86b.find(".datagrid-row"); +tr.removeClass("datagrid-row").removeAttr("datagrid-row-index"); +tr.find(".datagrid-cell,.datagrid-cell-check").empty(); +$.map(cols,function(col){ +col.formatter=col.formatter1; +col.styler=col.styler1; +col.formatter1=col.styler1=undefined; +}); +}}; +$.fn.datagrid.defaults=$.extend({},$.fn.panel.defaults,{sharedStyleSheet:false,frozenColumns:undefined,columns:undefined,fitColumns:false,resizeHandle:"right",autoRowHeight:true,toolbar:null,striped:false,method:"post",nowrap:true,idField:null,url:null,data:null,loadMsg:"Processing, please wait ...",emptyMsg:"",rownumbers:false,singleSelect:false,ctrlSelect:false,selectOnCheck:true,checkOnSelect:true,pagination:false,pagePosition:"bottom",pageNumber:1,pageSize:10,pageList:[10,20,30,40,50],queryParams:{},sortName:null,sortOrder:"asc",multiSort:false,remoteSort:true,showHeader:true,showFooter:false,scrollOnSelect:true,scrollbarSize:18,rownumberWidth:30,editorHeight:24,headerEvents:{mouseover:_6ae(true),mouseout:_6ae(false),click:_6b2,dblclick:_6b7,contextmenu:_6ba},rowEvents:{mouseover:_6bc(true),mouseout:_6bc(false),click:_6c3,dblclick:_6cd,contextmenu:_6d1},rowStyler:function(_86c,_86d){ +},loader:function(_86e,_86f,_870){ +var opts=$(this).datagrid("options"); +if(!opts.url){ +return false; +} +$.ajax({type:opts.method,url:opts.url,data:_86e,dataType:"json",success:function(data){ +_86f(data); +},error:function(){ +_870.apply(this,arguments); +}}); +},loadFilter:function(data){ +return data; +},editors:_7dd,finder:{getTr:function(_871,_872,type,_873){ +type=type||"body"; +_873=_873||0; +var _874=$.data(_871,"datagrid"); +var dc=_874.dc; +var opts=_874.options; +if(_873==0){ +var tr1=opts.finder.getTr(_871,_872,type,1); +var tr2=opts.finder.getTr(_871,_872,type,2); +return tr1.add(tr2); +}else{ +if(type=="body"){ +var tr=$("#"+_874.rowIdPrefix+"-"+_873+"-"+_872); +if(!tr.length){ +tr=(_873==1?dc.body1:dc.body2).find(">table>tbody>tr[datagrid-row-index="+_872+"]"); +} +return tr; +}else{ +if(type=="footer"){ +return (_873==1?dc.footer1:dc.footer2).find(">table>tbody>tr[datagrid-row-index="+_872+"]"); +}else{ +if(type=="selected"){ +return (_873==1?dc.body1:dc.body2).find(">table>tbody>tr.datagrid-row-selected"); +}else{ +if(type=="highlight"){ +return (_873==1?dc.body1:dc.body2).find(">table>tbody>tr.datagrid-row-over"); +}else{ +if(type=="checked"){ +return (_873==1?dc.body1:dc.body2).find(">table>tbody>tr.datagrid-row-checked"); +}else{ +if(type=="editing"){ +return (_873==1?dc.body1:dc.body2).find(">table>tbody>tr.datagrid-row-editing"); +}else{ +if(type=="last"){ +return (_873==1?dc.body1:dc.body2).find(">table>tbody>tr[datagrid-row-index]:last"); +}else{ +if(type=="allbody"){ +return (_873==1?dc.body1:dc.body2).find(">table>tbody>tr[datagrid-row-index]"); +}else{ +if(type=="allfooter"){ +return (_873==1?dc.footer1:dc.footer2).find(">table>tbody>tr[datagrid-row-index]"); +} +} +} +} +} +} +} +} +} +} +},getRow:function(_875,p){ +var _876=(typeof p=="object")?p.attr("datagrid-row-index"):p; +return $.data(_875,"datagrid").data.rows[parseInt(_876)]; +},getRows:function(_877){ +return $(_877).datagrid("getRows"); +}},view:_826,onBeforeLoad:function(_878){ +},onLoadSuccess:function(){ +},onLoadError:function(){ +},onClickRow:function(_879,_87a){ +},onDblClickRow:function(_87b,_87c){ +},onClickCell:function(_87d,_87e,_87f){ +},onDblClickCell:function(_880,_881,_882){ +},onBeforeSortColumn:function(sort,_883){ +},onSortColumn:function(sort,_884){ +},onResizeColumn:function(_885,_886){ +},onBeforeSelect:function(_887,_888){ +},onSelect:function(_889,_88a){ +},onBeforeUnselect:function(_88b,_88c){ +},onUnselect:function(_88d,_88e){ +},onSelectAll:function(rows){ +},onUnselectAll:function(rows){ +},onBeforeCheck:function(_88f,_890){ +},onCheck:function(_891,_892){ +},onBeforeUncheck:function(_893,_894){ +},onUncheck:function(_895,_896){ +},onCheckAll:function(rows){ +},onUncheckAll:function(rows){ +},onBeforeEdit:function(_897,_898){ +},onBeginEdit:function(_899,_89a){ +},onEndEdit:function(_89b,_89c,_89d){ +},onAfterEdit:function(_89e,_89f,_8a0){ +},onCancelEdit:function(_8a1,_8a2){ +},onHeaderContextMenu:function(e,_8a3){ +},onRowContextMenu:function(e,_8a4,_8a5){ +}}); +})(jQuery); +(function($){ +var _8a6; +$(document).unbind(".propertygrid").bind("mousedown.propertygrid",function(e){ +var p=$(e.target).closest("div.datagrid-view,div.combo-panel"); +if(p.length){ +return; +} +_8a7(_8a6); +_8a6=undefined; +}); +function _8a8(_8a9){ +var _8aa=$.data(_8a9,"propertygrid"); +var opts=$.data(_8a9,"propertygrid").options; +$(_8a9).datagrid($.extend({},opts,{cls:"propertygrid",view:(opts.showGroup?opts.groupView:opts.view),onBeforeEdit:function(_8ab,row){ +if(opts.onBeforeEdit.call(_8a9,_8ab,row)==false){ +return false; +} +var dg=$(this); +var row=dg.datagrid("getRows")[_8ab]; +var col=dg.datagrid("getColumnOption","value"); +col.editor=row.editor; +},onClickCell:function(_8ac,_8ad,_8ae){ +if(_8a6!=this){ +_8a7(_8a6); +_8a6=this; +} +if(opts.editIndex!=_8ac){ +_8a7(_8a6); +$(this).datagrid("beginEdit",_8ac); +var ed=$(this).datagrid("getEditor",{index:_8ac,field:_8ad}); +if(!ed){ +ed=$(this).datagrid("getEditor",{index:_8ac,field:"value"}); +} +if(ed){ +var t=$(ed.target); +var _8af=t.data("textbox")?t.textbox("textbox"):t; +_8af.focus(); +opts.editIndex=_8ac; +} +} +opts.onClickCell.call(_8a9,_8ac,_8ad,_8ae); +},loadFilter:function(data){ +_8a7(this); +return opts.loadFilter.call(this,data); +}})); +}; +function _8a7(_8b0){ +var t=$(_8b0); +if(!t.length){ +return; +} +var opts=$.data(_8b0,"propertygrid").options; +opts.finder.getTr(_8b0,null,"editing").each(function(){ +var _8b1=parseInt($(this).attr("datagrid-row-index")); +if(t.datagrid("validateRow",_8b1)){ +t.datagrid("endEdit",_8b1); +}else{ +t.datagrid("cancelEdit",_8b1); +} +}); +opts.editIndex=undefined; +}; +$.fn.propertygrid=function(_8b2,_8b3){ +if(typeof _8b2=="string"){ +var _8b4=$.fn.propertygrid.methods[_8b2]; +if(_8b4){ +return _8b4(this,_8b3); +}else{ +return this.datagrid(_8b2,_8b3); +} +} +_8b2=_8b2||{}; +return this.each(function(){ +var _8b5=$.data(this,"propertygrid"); +if(_8b5){ +$.extend(_8b5.options,_8b2); +}else{ +var opts=$.extend({},$.fn.propertygrid.defaults,$.fn.propertygrid.parseOptions(this),_8b2); +opts.frozenColumns=$.extend(true,[],opts.frozenColumns); +opts.columns=$.extend(true,[],opts.columns); +$.data(this,"propertygrid",{options:opts}); +} +_8a8(this); +}); +}; +$.fn.propertygrid.methods={options:function(jq){ +return $.data(jq[0],"propertygrid").options; +}}; +$.fn.propertygrid.parseOptions=function(_8b6){ +return $.extend({},$.fn.datagrid.parseOptions(_8b6),$.parser.parseOptions(_8b6,[{showGroup:"boolean"}])); +}; +var _8b7=$.extend({},$.fn.datagrid.defaults.view,{render:function(_8b8,_8b9,_8ba){ +var _8bb=[]; +var _8bc=this.groups; +for(var i=0;i<_8bc.length;i++){ +_8bb.push(this.renderGroup.call(this,_8b8,i,_8bc[i],_8ba)); +} +$(_8b9).html(_8bb.join("")); +},renderGroup:function(_8bd,_8be,_8bf,_8c0){ +var _8c1=$.data(_8bd,"datagrid"); +var opts=_8c1.options; +var _8c2=$(_8bd).datagrid("getColumnFields",_8c0); +var _8c3=[]; +_8c3.push("
        "); +if((_8c0&&(opts.rownumbers||opts.frozenColumns.length))||(!_8c0&&!(opts.rownumbers||opts.frozenColumns.length))){ +_8c3.push(""); +_8c3.push(" "); +_8c3.push(""); +} +if(!_8c0){ +_8c3.push(""); +_8c3.push(opts.groupFormatter.call(_8bd,_8bf.value,_8bf.rows)); +_8c3.push(""); +} +_8c3.push("
        "); +_8c3.push(""); +var _8c4=_8bf.startIndex; +for(var j=0;j<_8bf.rows.length;j++){ +var css=opts.rowStyler?opts.rowStyler.call(_8bd,_8c4,_8bf.rows[j]):""; +var _8c5=""; +var _8c6=""; +if(typeof css=="string"){ +_8c6=css; +}else{ +if(css){ +_8c5=css["class"]||""; +_8c6=css["style"]||""; +} +} +var cls="class=\"datagrid-row "+(_8c4%2&&opts.striped?"datagrid-row-alt ":" ")+_8c5+"\""; +var _8c7=_8c6?"style=\""+_8c6+"\"":""; +var _8c8=_8c1.rowIdPrefix+"-"+(_8c0?1:2)+"-"+_8c4; +_8c3.push(""); +_8c3.push(this.renderRow.call(this,_8bd,_8c2,_8c0,_8c4,_8bf.rows[j])); +_8c3.push(""); +_8c4++; +} +_8c3.push("
        "); +return _8c3.join(""); +},bindEvents:function(_8c9){ +var _8ca=$.data(_8c9,"datagrid"); +var dc=_8ca.dc; +var body=dc.body1.add(dc.body2); +var _8cb=($.data(body[0],"events")||$._data(body[0],"events")).click[0].handler; +body.unbind("click").bind("click",function(e){ +var tt=$(e.target); +var _8cc=tt.closest("span.datagrid-row-expander"); +if(_8cc.length){ +var _8cd=_8cc.closest("div.datagrid-group").attr("group-index"); +if(_8cc.hasClass("datagrid-row-collapse")){ +$(_8c9).datagrid("collapseGroup",_8cd); +}else{ +$(_8c9).datagrid("expandGroup",_8cd); +} +}else{ +_8cb(e); +} +e.stopPropagation(); +}); +},onBeforeRender:function(_8ce,rows){ +var _8cf=$.data(_8ce,"datagrid"); +var opts=_8cf.options; +_8d0(); +var _8d1=[]; +for(var i=0;i"+".datagrid-group{height:"+opts.groupHeight+"px;overflow:hidden;font-weight:bold;border-bottom:1px solid #ccc;}"+".datagrid-group-title,.datagrid-group-expander{display:inline-block;vertical-align:bottom;height:100%;line-height:"+opts.groupHeight+"px;padding:0 4px;}"+".datagrid-group-expander{width:"+opts.expanderWidth+"px;text-align:center;padding:0}"+".datagrid-row-expander{margin:"+Math.floor((opts.groupHeight-16)/2)+"px 0;display:inline-block;width:16px;height:16px;cursor:pointer}"+""); +} +}; +}}); +$.extend($.fn.datagrid.methods,{groups:function(jq){ +return jq.datagrid("options").view.groups; +},expandGroup:function(jq,_8d8){ +return jq.each(function(){ +var view=$.data(this,"datagrid").dc.view; +var _8d9=view.find(_8d8!=undefined?"div.datagrid-group[group-index=\""+_8d8+"\"]":"div.datagrid-group"); +var _8da=_8d9.find("span.datagrid-row-expander"); +if(_8da.hasClass("datagrid-row-expand")){ +_8da.removeClass("datagrid-row-expand").addClass("datagrid-row-collapse"); +_8d9.next("table").show(); +} +$(this).datagrid("fixRowHeight"); +}); +},collapseGroup:function(jq,_8db){ +return jq.each(function(){ +var view=$.data(this,"datagrid").dc.view; +var _8dc=view.find(_8db!=undefined?"div.datagrid-group[group-index=\""+_8db+"\"]":"div.datagrid-group"); +var _8dd=_8dc.find("span.datagrid-row-expander"); +if(_8dd.hasClass("datagrid-row-collapse")){ +_8dd.removeClass("datagrid-row-collapse").addClass("datagrid-row-expand"); +_8dc.next("table").hide(); +} +$(this).datagrid("fixRowHeight"); +}); +}}); +$.extend(_8b7,{refreshGroupTitle:function(_8de,_8df){ +var _8e0=$.data(_8de,"datagrid"); +var opts=_8e0.options; +var dc=_8e0.dc; +var _8e1=this.groups[_8df]; +var span=dc.body2.children("div.datagrid-group[group-index="+_8df+"]").find("span.datagrid-group-title"); +span.html(opts.groupFormatter.call(_8de,_8e1.value,_8e1.rows)); +},insertRow:function(_8e2,_8e3,row){ +var _8e4=$.data(_8e2,"datagrid"); +var opts=_8e4.options; +var dc=_8e4.dc; +var _8e5=null; +var _8e6; +if(!_8e4.data.rows.length){ +$(_8e2).datagrid("loadData",[row]); +return; +} +for(var i=0;i_8e5.startIndex+_8e5.rows.length){ +_8e3=_8e5.startIndex+_8e5.rows.length; +} +} +$.fn.datagrid.defaults.view.insertRow.call(this,_8e2,_8e3,row); +if(_8e3>=_8e5.startIndex+_8e5.rows.length){ +_8e7(_8e3,true); +_8e7(_8e3,false); +} +_8e5.rows.splice(_8e3-_8e5.startIndex,0,row); +}else{ +_8e5={value:row[opts.groupField],rows:[row],startIndex:_8e4.data.rows.length}; +_8e6=this.groups.length; +dc.body1.append(this.renderGroup.call(this,_8e2,_8e6,_8e5,true)); +dc.body2.append(this.renderGroup.call(this,_8e2,_8e6,_8e5,false)); +this.groups.push(_8e5); +_8e4.data.rows.push(row); +} +this.refreshGroupTitle(_8e2,_8e6); +function _8e7(_8e8,_8e9){ +var _8ea=_8e9?1:2; +var _8eb=opts.finder.getTr(_8e2,_8e8-1,"body",_8ea); +var tr=opts.finder.getTr(_8e2,_8e8,"body",_8ea); +tr.insertAfter(_8eb); +}; +},updateRow:function(_8ec,_8ed,row){ +var opts=$.data(_8ec,"datagrid").options; +$.fn.datagrid.defaults.view.updateRow.call(this,_8ec,_8ed,row); +var tb=opts.finder.getTr(_8ec,_8ed,"body",2).closest("table.datagrid-btable"); +var _8ee=parseInt(tb.prev().attr("group-index")); +this.refreshGroupTitle(_8ec,_8ee); +},deleteRow:function(_8ef,_8f0){ +var _8f1=$.data(_8ef,"datagrid"); +var opts=_8f1.options; +var dc=_8f1.dc; +var body=dc.body1.add(dc.body2); +var tb=opts.finder.getTr(_8ef,_8f0,"body",2).closest("table.datagrid-btable"); +var _8f2=parseInt(tb.prev().attr("group-index")); +$.fn.datagrid.defaults.view.deleteRow.call(this,_8ef,_8f0); +var _8f3=this.groups[_8f2]; +if(_8f3.rows.length>1){ +_8f3.rows.splice(_8f0-_8f3.startIndex,1); +this.refreshGroupTitle(_8ef,_8f2); +}else{ +body.children("div.datagrid-group[group-index="+_8f2+"]").remove(); +for(var i=_8f2+1;i").insertBefore(tr.find(".tree-title")); +} +if(row.checkState=="checked"){ +_917(_92b,_92c,true,true); +}else{ +if(row.checkState=="unchecked"){ +_917(_92b,_92c,false,true); +}else{ +var flag=_929(row); +if(flag===0){ +_917(_92b,_92c,false,true); +}else{ +if(flag===1){ +_917(_92b,_92c,true,true); +} +} +} +} +}else{ +ck.remove(); +row.checkState=undefined; +row.checked=undefined; +_920(_92b,row); +} +}; +function _92d(_92e,_92f){ +var opts=$.data(_92e,"treegrid").options; +var tr1=opts.finder.getTr(_92e,_92f,"body",1); +var tr2=opts.finder.getTr(_92e,_92f,"body",2); +var _930=$(_92e).datagrid("getColumnFields",true).length+(opts.rownumbers?1:0); +var _931=$(_92e).datagrid("getColumnFields",false).length; +_932(tr1,_930); +_932(tr2,_931); +function _932(tr,_933){ +$(""+""+"
        "+""+"").insertAfter(tr); +}; +}; +function _934(_935,_936,data,_937,_938){ +var _939=$.data(_935,"treegrid"); +var opts=_939.options; +var dc=_939.dc; +data=opts.loadFilter.call(_935,data,_936); +var node=find(_935,_936); +if(node){ +var _93a=opts.finder.getTr(_935,_936,"body",1); +var _93b=opts.finder.getTr(_935,_936,"body",2); +var cc1=_93a.next("tr.treegrid-tr-tree").children("td").children("div"); +var cc2=_93b.next("tr.treegrid-tr-tree").children("td").children("div"); +if(!_937){ +node.children=[]; +} +}else{ +var cc1=dc.body1; +var cc2=dc.body2; +if(!_937){ +_939.data=[]; +} +} +if(!_937){ +cc1.empty(); +cc2.empty(); +} +if(opts.view.onBeforeRender){ +opts.view.onBeforeRender.call(opts.view,_935,_936,data); +} +opts.view.render.call(opts.view,_935,cc1,true); +opts.view.render.call(opts.view,_935,cc2,false); +if(opts.showFooter){ +opts.view.renderFooter.call(opts.view,_935,dc.footer1,true); +opts.view.renderFooter.call(opts.view,_935,dc.footer2,false); +} +if(opts.view.onAfterRender){ +opts.view.onAfterRender.call(opts.view,_935); +} +if(!_936&&opts.pagination){ +var _93c=$.data(_935,"treegrid").total; +var _93d=$(_935).datagrid("getPager"); +if(_93d.pagination("options").total!=_93c){ +_93d.pagination({total:_93c}); +} +} +_906(_935); +_90e(_935); +$(_935).treegrid("showLines"); +$(_935).treegrid("setSelectionState"); +$(_935).treegrid("autoSizeColumn"); +if(!_938){ +opts.onLoadSuccess.call(_935,node,data); +} +}; +function _905(_93e,_93f,_940,_941,_942){ +var opts=$.data(_93e,"treegrid").options; +var body=$(_93e).datagrid("getPanel").find("div.datagrid-body"); +if(_93f==undefined&&opts.queryParams){ +opts.queryParams.id=undefined; +} +if(_940){ +opts.queryParams=_940; +} +var _943=$.extend({},opts.queryParams); +if(opts.pagination){ +$.extend(_943,{page:opts.pageNumber,rows:opts.pageSize}); +} +if(opts.sortName){ +$.extend(_943,{sort:opts.sortName,order:opts.sortOrder}); +} +var row=find(_93e,_93f); +if(opts.onBeforeLoad.call(_93e,row,_943)==false){ +return; +} +var _944=body.find("tr[node-id=\""+_93f+"\"] span.tree-folder"); +_944.addClass("tree-loading"); +$(_93e).treegrid("loading"); +var _945=opts.loader.call(_93e,_943,function(data){ +_944.removeClass("tree-loading"); +$(_93e).treegrid("loaded"); +_934(_93e,_93f,data,_941); +if(_942){ +_942(); +} +},function(){ +_944.removeClass("tree-loading"); +$(_93e).treegrid("loaded"); +opts.onLoadError.apply(_93e,arguments); +if(_942){ +_942(); +} +}); +if(_945==false){ +_944.removeClass("tree-loading"); +$(_93e).treegrid("loaded"); +} +}; +function _946(_947){ +var _948=_949(_947); +return _948.length?_948[0]:null; +}; +function _949(_94a){ +return $.data(_94a,"treegrid").data; +}; +function _928(_94b,_94c){ +var row=find(_94b,_94c); +if(row._parentId){ +return find(_94b,row._parentId); +}else{ +return null; +} +}; +function _90a(_94d,_94e){ +var data=$.data(_94d,"treegrid").data; +if(_94e){ +var _94f=find(_94d,_94e); +data=_94f?(_94f.children||[]):[]; +} +var _950=[]; +$.easyui.forEach(data,true,function(node){ +_950.push(node); +}); +return _950; +}; +function _951(_952,_953){ +var opts=$.data(_952,"treegrid").options; +var tr=opts.finder.getTr(_952,_953); +var node=tr.children("td[field=\""+opts.treeField+"\"]"); +return node.find("span.tree-indent,span.tree-hit").length; +}; +function find(_954,_955){ +var _956=$.data(_954,"treegrid"); +var opts=_956.options; +var _957=null; +$.easyui.forEach(_956.data,true,function(node){ +if(node[opts.idField]==_955){ +_957=node; +return false; +} +}); +return _957; +}; +function _958(_959,_95a){ +var opts=$.data(_959,"treegrid").options; +var row=find(_959,_95a); +var tr=opts.finder.getTr(_959,_95a); +var hit=tr.find("span.tree-hit"); +if(hit.length==0){ +return; +} +if(hit.hasClass("tree-collapsed")){ +return; +} +if(opts.onBeforeCollapse.call(_959,row)==false){ +return; +} +hit.removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed"); +hit.next().removeClass("tree-folder-open"); +row.state="closed"; +tr=tr.next("tr.treegrid-tr-tree"); +var cc=tr.children("td").children("div"); +if(opts.animate){ +cc.slideUp("normal",function(){ +$(_959).treegrid("autoSizeColumn"); +_906(_959,_95a); +opts.onCollapse.call(_959,row); +}); +}else{ +cc.hide(); +$(_959).treegrid("autoSizeColumn"); +_906(_959,_95a); +opts.onCollapse.call(_959,row); +} +}; +function _95b(_95c,_95d){ +var opts=$.data(_95c,"treegrid").options; +var tr=opts.finder.getTr(_95c,_95d); +var hit=tr.find("span.tree-hit"); +var row=find(_95c,_95d); +if(hit.length==0){ +return; +} +if(hit.hasClass("tree-expanded")){ +return; +} +if(opts.onBeforeExpand.call(_95c,row)==false){ +return; +} +hit.removeClass("tree-collapsed tree-collapsed-hover").addClass("tree-expanded"); +hit.next().addClass("tree-folder-open"); +var _95e=tr.next("tr.treegrid-tr-tree"); +if(_95e.length){ +var cc=_95e.children("td").children("div"); +_95f(cc); +}else{ +_92d(_95c,row[opts.idField]); +var _95e=tr.next("tr.treegrid-tr-tree"); +var cc=_95e.children("td").children("div"); +cc.hide(); +var _960=$.extend({},opts.queryParams||{}); +_960.id=row[opts.idField]; +_905(_95c,row[opts.idField],_960,true,function(){ +if(cc.is(":empty")){ +_95e.remove(); +}else{ +_95f(cc); +} +}); +} +function _95f(cc){ +row.state="open"; +if(opts.animate){ +cc.slideDown("normal",function(){ +$(_95c).treegrid("autoSizeColumn"); +_906(_95c,_95d); +opts.onExpand.call(_95c,row); +}); +}else{ +cc.show(); +$(_95c).treegrid("autoSizeColumn"); +_906(_95c,_95d); +opts.onExpand.call(_95c,row); +} +}; +}; +function _916(_961,_962){ +var opts=$.data(_961,"treegrid").options; +var tr=opts.finder.getTr(_961,_962); +var hit=tr.find("span.tree-hit"); +if(hit.hasClass("tree-expanded")){ +_958(_961,_962); +}else{ +_95b(_961,_962); +} +}; +function _963(_964,_965){ +var opts=$.data(_964,"treegrid").options; +var _966=_90a(_964,_965); +if(_965){ +_966.unshift(find(_964,_965)); +} +for(var i=0;i<_966.length;i++){ +_958(_964,_966[i][opts.idField]); +} +}; +function _967(_968,_969){ +var opts=$.data(_968,"treegrid").options; +var _96a=_90a(_968,_969); +if(_969){ +_96a.unshift(find(_968,_969)); +} +for(var i=0;i<_96a.length;i++){ +_95b(_968,_96a[i][opts.idField]); +} +}; +function _96b(_96c,_96d){ +var opts=$.data(_96c,"treegrid").options; +var ids=[]; +var p=_928(_96c,_96d); +while(p){ +var id=p[opts.idField]; +ids.unshift(id); +p=_928(_96c,id); +} +for(var i=0;i").insertBefore(_972); +if(hit.prev().length){ +hit.prev().remove(); +} +} +} +_934(_96f,_970.parent,_970.data,_971.data.length>0,true); +}; +function _973(_974,_975){ +var ref=_975.before||_975.after; +var opts=$.data(_974,"treegrid").options; +var _976=_928(_974,ref); +_96e(_974,{parent:(_976?_976[opts.idField]:null),data:[_975.data]}); +var _977=_976?_976.children:$(_974).treegrid("getRoots"); +for(var i=0;i<_977.length;i++){ +if(_977[i][opts.idField]==ref){ +var _978=_977[_977.length-1]; +_977.splice(_975.before?i:(i+1),0,_978); +_977.splice(_977.length-1,1); +break; +} +} +_979(true); +_979(false); +_90e(_974); +$(_974).treegrid("showLines"); +function _979(_97a){ +var _97b=_97a?1:2; +var tr=opts.finder.getTr(_974,_975.data[opts.idField],"body",_97b); +var _97c=tr.closest("table.datagrid-btable"); +tr=tr.parent().children(); +var dest=opts.finder.getTr(_974,ref,"body",_97b); +if(_975.before){ +tr.insertBefore(dest); +}else{ +var sub=dest.next("tr.treegrid-tr-tree"); +tr.insertAfter(sub.length?sub:dest); +} +_97c.remove(); +}; +}; +function _97d(_97e,_97f){ +var _980=$.data(_97e,"treegrid"); +var opts=_980.options; +var prow=_928(_97e,_97f); +$(_97e).datagrid("deleteRow",_97f); +$.easyui.removeArrayItem(_980.checkedRows,opts.idField,_97f); +_90e(_97e); +if(prow){ +_92a(_97e,prow[opts.idField]); +} +_980.total-=1; +$(_97e).datagrid("getPager").pagination("refresh",{total:_980.total}); +$(_97e).treegrid("showLines"); +}; +function _981(_982){ +var t=$(_982); +var opts=t.treegrid("options"); +if(opts.lines){ +t.treegrid("getPanel").addClass("tree-lines"); +}else{ +t.treegrid("getPanel").removeClass("tree-lines"); +return; +} +t.treegrid("getPanel").find("span.tree-indent").removeClass("tree-line tree-join tree-joinbottom"); +t.treegrid("getPanel").find("div.datagrid-cell").removeClass("tree-node-last tree-root-first tree-root-one"); +var _983=t.treegrid("getRoots"); +if(_983.length>1){ +_984(_983[0]).addClass("tree-root-first"); +}else{ +if(_983.length==1){ +_984(_983[0]).addClass("tree-root-one"); +} +} +_985(_983); +_986(_983); +function _985(_987){ +$.map(_987,function(node){ +if(node.children&&node.children.length){ +_985(node.children); +}else{ +var cell=_984(node); +cell.find(".tree-icon").prev().addClass("tree-join"); +} +}); +if(_987.length){ +var cell=_984(_987[_987.length-1]); +cell.addClass("tree-node-last"); +cell.find(".tree-join").removeClass("tree-join").addClass("tree-joinbottom"); +} +}; +function _986(_988){ +$.map(_988,function(node){ +if(node.children&&node.children.length){ +_986(node.children); +} +}); +for(var i=0;i<_988.length-1;i++){ +var node=_988[i]; +var _989=t.treegrid("getLevel",node[opts.idField]); +var tr=opts.finder.getTr(_982,node[opts.idField]); +var cc=tr.next().find("tr.datagrid-row td[field=\""+opts.treeField+"\"] div.datagrid-cell"); +cc.find("span:eq("+(_989-1)+")").addClass("tree-line"); +} +}; +function _984(node){ +var tr=opts.finder.getTr(_982,node[opts.idField]); +var cell=tr.find("td[field=\""+opts.treeField+"\"] div.datagrid-cell"); +return cell; +}; +}; +$.fn.treegrid=function(_98a,_98b){ +if(typeof _98a=="string"){ +var _98c=$.fn.treegrid.methods[_98a]; +if(_98c){ +return _98c(this,_98b); +}else{ +return this.datagrid(_98a,_98b); +} +} +_98a=_98a||{}; +return this.each(function(){ +var _98d=$.data(this,"treegrid"); +if(_98d){ +$.extend(_98d.options,_98a); +}else{ +_98d=$.data(this,"treegrid",{options:$.extend({},$.fn.treegrid.defaults,$.fn.treegrid.parseOptions(this),_98a),data:[],checkedRows:[],tmpIds:[]}); +} +_8f5(this); +if(_98d.options.data){ +$(this).treegrid("loadData",_98d.options.data); +} +_905(this); +}); +}; +$.fn.treegrid.methods={options:function(jq){ +return $.data(jq[0],"treegrid").options; +},resize:function(jq,_98e){ +return jq.each(function(){ +$(this).datagrid("resize",_98e); +}); +},fixRowHeight:function(jq,_98f){ +return jq.each(function(){ +_906(this,_98f); +}); +},loadData:function(jq,data){ +return jq.each(function(){ +_934(this,data.parent,data); +}); +},load:function(jq,_990){ +return jq.each(function(){ +$(this).treegrid("options").pageNumber=1; +$(this).treegrid("getPager").pagination({pageNumber:1}); +$(this).treegrid("reload",_990); +}); +},reload:function(jq,id){ +return jq.each(function(){ +var opts=$(this).treegrid("options"); +var _991={}; +if(typeof id=="object"){ +_991=id; +}else{ +_991=$.extend({},opts.queryParams); +_991.id=id; +} +if(_991.id){ +var node=$(this).treegrid("find",_991.id); +if(node.children){ +node.children.splice(0,node.children.length); +} +opts.queryParams=_991; +var tr=opts.finder.getTr(this,_991.id); +tr.next("tr.treegrid-tr-tree").remove(); +tr.find("span.tree-hit").removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed"); +_95b(this,_991.id); +}else{ +_905(this,null,_991); +} +}); +},reloadFooter:function(jq,_992){ +return jq.each(function(){ +var opts=$.data(this,"treegrid").options; +var dc=$.data(this,"datagrid").dc; +if(_992){ +$.data(this,"treegrid").footer=_992; +} +if(opts.showFooter){ +opts.view.renderFooter.call(opts.view,this,dc.footer1,true); +opts.view.renderFooter.call(opts.view,this,dc.footer2,false); +if(opts.view.onAfterRender){ +opts.view.onAfterRender.call(opts.view,this); +} +$(this).treegrid("fixRowHeight"); +} +}); +},getData:function(jq){ +return $.data(jq[0],"treegrid").data; +},getFooterRows:function(jq){ +return $.data(jq[0],"treegrid").footer; +},getRoot:function(jq){ +return _946(jq[0]); +},getRoots:function(jq){ +return _949(jq[0]); +},getParent:function(jq,id){ +return _928(jq[0],id); +},getChildren:function(jq,id){ +return _90a(jq[0],id); +},getLevel:function(jq,id){ +return _951(jq[0],id); +},find:function(jq,id){ +return find(jq[0],id); +},isLeaf:function(jq,id){ +var opts=$.data(jq[0],"treegrid").options; +var tr=opts.finder.getTr(jq[0],id); +var hit=tr.find("span.tree-hit"); +return hit.length==0; +},select:function(jq,id){ +return jq.each(function(){ +$(this).datagrid("selectRow",id); +}); +},unselect:function(jq,id){ +return jq.each(function(){ +$(this).datagrid("unselectRow",id); +}); +},collapse:function(jq,id){ +return jq.each(function(){ +_958(this,id); +}); +},expand:function(jq,id){ +return jq.each(function(){ +_95b(this,id); +}); +},toggle:function(jq,id){ +return jq.each(function(){ +_916(this,id); +}); +},collapseAll:function(jq,id){ +return jq.each(function(){ +_963(this,id); +}); +},expandAll:function(jq,id){ +return jq.each(function(){ +_967(this,id); +}); +},expandTo:function(jq,id){ +return jq.each(function(){ +_96b(this,id); +}); +},append:function(jq,_993){ +return jq.each(function(){ +_96e(this,_993); +}); +},insert:function(jq,_994){ +return jq.each(function(){ +_973(this,_994); +}); +},remove:function(jq,id){ +return jq.each(function(){ +_97d(this,id); +}); +},pop:function(jq,id){ +var row=jq.treegrid("find",id); +jq.treegrid("remove",id); +return row; +},refresh:function(jq,id){ +return jq.each(function(){ +var opts=$.data(this,"treegrid").options; +opts.view.refreshRow.call(opts.view,this,id); +}); +},update:function(jq,_995){ +return jq.each(function(){ +var opts=$.data(this,"treegrid").options; +var row=_995.row; +opts.view.updateRow.call(opts.view,this,_995.id,row); +if(row.checked!=undefined){ +row=find(this,_995.id); +$.extend(row,{checkState:row.checked?"checked":(row.checked===false?"unchecked":undefined)}); +_92a(this,_995.id); +} +}); +},beginEdit:function(jq,id){ +return jq.each(function(){ +$(this).datagrid("beginEdit",id); +$(this).treegrid("fixRowHeight",id); +}); +},endEdit:function(jq,id){ +return jq.each(function(){ +$(this).datagrid("endEdit",id); +}); +},cancelEdit:function(jq,id){ +return jq.each(function(){ +$(this).datagrid("cancelEdit",id); +}); +},showLines:function(jq){ +return jq.each(function(){ +_981(this); +}); +},setSelectionState:function(jq){ +return jq.each(function(){ +$(this).datagrid("setSelectionState"); +var _996=$(this).data("treegrid"); +for(var i=0;i<_996.tmpIds.length;i++){ +_917(this,_996.tmpIds[i],true,true); +} +_996.tmpIds=[]; +}); +},getCheckedNodes:function(jq,_997){ +_997=_997||"checked"; +var rows=[]; +$.easyui.forEach(jq.data("treegrid").checkedRows,false,function(row){ +if(row.checkState==_997){ +rows.push(row); +} +}); +return rows; +},checkNode:function(jq,id){ +return jq.each(function(){ +_917(this,id,true); +}); +},uncheckNode:function(jq,id){ +return jq.each(function(){ +_917(this,id,false); +}); +},clearChecked:function(jq){ +return jq.each(function(){ +var _998=this; +var opts=$(_998).treegrid("options"); +$(_998).datagrid("clearChecked"); +$.map($(_998).treegrid("getCheckedNodes"),function(row){ +_917(_998,row[opts.idField],false,true); +}); +}); +}}; +$.fn.treegrid.parseOptions=function(_999){ +return $.extend({},$.fn.datagrid.parseOptions(_999),$.parser.parseOptions(_999,["treeField",{checkbox:"boolean",cascadeCheck:"boolean",onlyLeafCheck:"boolean"},{animate:"boolean"}])); +}; +var _99a=$.extend({},$.fn.datagrid.defaults.view,{render:function(_99b,_99c,_99d){ +var opts=$.data(_99b,"treegrid").options; +var _99e=$(_99b).datagrid("getColumnFields",_99d); +var _99f=$.data(_99b,"datagrid").rowIdPrefix; +if(_99d){ +if(!(opts.rownumbers||(opts.frozenColumns&&opts.frozenColumns.length))){ +return; +} +} +var view=this; +if(this.treeNodes&&this.treeNodes.length){ +var _9a0=_9a1.call(this,_99d,this.treeLevel,this.treeNodes); +$(_99c).append(_9a0.join("")); +} +function _9a1(_9a2,_9a3,_9a4){ +var _9a5=$(_99b).treegrid("getParent",_9a4[0][opts.idField]); +var _9a6=(_9a5?_9a5.children.length:$(_99b).treegrid("getRoots").length)-_9a4.length; +var _9a7=[""]; +for(var i=0;i<_9a4.length;i++){ +var row=_9a4[i]; +if(row.state!="open"&&row.state!="closed"){ +row.state="open"; +} +var css=opts.rowStyler?opts.rowStyler.call(_99b,row):""; +var cs=this.getStyleValue(css); +var cls="class=\"datagrid-row "+(_9a6++%2&&opts.striped?"datagrid-row-alt ":" ")+cs.c+"\""; +var _9a8=cs.s?"style=\""+cs.s+"\"":""; +var _9a9=_99f+"-"+(_9a2?1:2)+"-"+row[opts.idField]; +_9a7.push(""); +_9a7=_9a7.concat(view.renderRow.call(view,_99b,_99e,_9a2,_9a3,row)); +_9a7.push(""); +if(row.children&&row.children.length){ +var tt=_9a1.call(this,_9a2,_9a3+1,row.children); +var v=row.state=="closed"?"none":"block"; +_9a7.push(""); +} +} +_9a7.push("
        "); +_9a7=_9a7.concat(tt); +_9a7.push("
        "); +return _9a7; +}; +},renderFooter:function(_9aa,_9ab,_9ac){ +var opts=$.data(_9aa,"treegrid").options; +var rows=$.data(_9aa,"treegrid").footer||[]; +var _9ad=$(_9aa).datagrid("getColumnFields",_9ac); +var _9ae=[""]; +for(var i=0;i"); +_9ae.push(this.renderRow.call(this,_9aa,_9ad,_9ac,0,row)); +_9ae.push(""); +} +_9ae.push("
        "); +$(_9ab).html(_9ae.join("")); +},renderRow:function(_9af,_9b0,_9b1,_9b2,row){ +var _9b3=$.data(_9af,"treegrid"); +var opts=_9b3.options; +var cc=[]; +if(_9b1&&opts.rownumbers){ +cc.push("
        0
        "); +} +for(var i=0;i<_9b0.length;i++){ +var _9b4=_9b0[i]; +var col=$(_9af).datagrid("getColumnOption",_9b4); +if(col){ +var css=col.styler?(col.styler(row[_9b4],row)||""):""; +var cs=this.getStyleValue(css); +var cls=cs.c?"class=\""+cs.c+"\"":""; +var _9b5=col.hidden?"style=\"display:none;"+cs.s+"\"":(cs.s?"style=\""+cs.s+"\"":""); +cc.push(""); +var _9b5=""; +if(!col.checkbox){ +if(col.align){ +_9b5+="text-align:"+col.align+";"; +} +if(!opts.nowrap){ +_9b5+="white-space:normal;height:auto;"; +}else{ +if(opts.autoRowHeight){ +_9b5+="height:auto;"; +} +} +} +cc.push("
        "); +if(col.checkbox){ +if(row.checked){ +cc.push(""); +}else{ +var val=null; +if(col.formatter){ +val=col.formatter(row[_9b4],row); +}else{ +val=row[_9b4]; +} +if(_9b4==opts.treeField){ +for(var j=0;j<_9b2;j++){ +cc.push(""); +} +if(row.state=="closed"){ +cc.push(""); +cc.push(""); +}else{ +if(row.children&&row.children.length){ +cc.push(""); +cc.push(""); +}else{ +cc.push(""); +cc.push(""); +} +} +if(this.hasCheckbox(_9af,row)){ +var flag=0; +var crow=$.easyui.getArrayItem(_9b3.checkedRows,opts.idField,row[opts.idField]); +if(crow){ +flag=crow.checkState=="checked"?1:2; +row.checkState=crow.checkState; +row.checked=crow.checked; +$.easyui.addArrayItem(_9b3.checkedRows,opts.idField,row); +}else{ +var prow=$.easyui.getArrayItem(_9b3.checkedRows,opts.idField,row._parentId); +if(prow&&prow.checkState=="checked"&&opts.cascadeCheck){ +flag=1; +row.checked=true; +$.easyui.addArrayItem(_9b3.checkedRows,opts.idField,row); +}else{ +if(row.checked){ +$.easyui.addArrayItem(_9b3.tmpIds,row[opts.idField]); +} +} +row.checkState=flag?"checked":"unchecked"; +} +cc.push(""); +}else{ +row.checkState=undefined; +row.checked=undefined; +} +cc.push(""+val+""); +}else{ +cc.push(val); +} +} +cc.push("
        "); +cc.push(""); +} +} +return cc.join(""); +},hasCheckbox:function(_9b6,row){ +var opts=$.data(_9b6,"treegrid").options; +if(opts.checkbox){ +if($.isFunction(opts.checkbox)){ +if(opts.checkbox.call(_9b6,row)){ +return true; +}else{ +return false; +} +}else{ +if(opts.onlyLeafCheck){ +if(row.state=="open"&&!(row.children&&row.children.length)){ +return true; +} +}else{ +return true; +} +} +} +return false; +},refreshRow:function(_9b7,id){ +this.updateRow.call(this,_9b7,id,{}); +},updateRow:function(_9b8,id,row){ +var opts=$.data(_9b8,"treegrid").options; +var _9b9=$(_9b8).treegrid("find",id); +$.extend(_9b9,row); +var _9ba=$(_9b8).treegrid("getLevel",id)-1; +var _9bb=opts.rowStyler?opts.rowStyler.call(_9b8,_9b9):""; +var _9bc=$.data(_9b8,"datagrid").rowIdPrefix; +var _9bd=_9b9[opts.idField]; +function _9be(_9bf){ +var _9c0=$(_9b8).treegrid("getColumnFields",_9bf); +var tr=opts.finder.getTr(_9b8,id,"body",(_9bf?1:2)); +var _9c1=tr.find("div.datagrid-cell-rownumber").html(); +var _9c2=tr.find("div.datagrid-cell-check input[type=checkbox]").is(":checked"); +tr.html(this.renderRow(_9b8,_9c0,_9bf,_9ba,_9b9)); +tr.attr("style",_9bb||""); +tr.find("div.datagrid-cell-rownumber").html(_9c1); +if(_9c2){ +tr.find("div.datagrid-cell-check input[type=checkbox]")._propAttr("checked",true); +} +if(_9bd!=id){ +tr.attr("id",_9bc+"-"+(_9bf?1:2)+"-"+_9bd); +tr.attr("node-id",_9bd); +} +}; +_9be.call(this,true); +_9be.call(this,false); +$(_9b8).treegrid("fixRowHeight",id); +},deleteRow:function(_9c3,id){ +var opts=$.data(_9c3,"treegrid").options; +var tr=opts.finder.getTr(_9c3,id); +tr.next("tr.treegrid-tr-tree").remove(); +tr.remove(); +var _9c4=del(id); +if(_9c4){ +if(_9c4.children.length==0){ +tr=opts.finder.getTr(_9c3,_9c4[opts.idField]); +tr.next("tr.treegrid-tr-tree").remove(); +var cell=tr.children("td[field=\""+opts.treeField+"\"]").children("div.datagrid-cell"); +cell.find(".tree-icon").removeClass("tree-folder").addClass("tree-file"); +cell.find(".tree-hit").remove(); +$("").prependTo(cell); +} +} +this.setEmptyMsg(_9c3); +function del(id){ +var cc; +var _9c5=$(_9c3).treegrid("getParent",id); +if(_9c5){ +cc=_9c5.children; +}else{ +cc=$(_9c3).treegrid("getData"); +} +for(var i=0;ib?1:-1); +}; +r=_9d0(r1[sn],r2[sn])*(so=="asc"?1:-1); +if(r!=0){ +return r; +} +} +return r; +}); +for(var i=0;i"); +if(!_9f3){ +_9f6.push(""); +_9f6.push(opts.groupFormatter.call(_9f0,_9f2.value,_9f2.rows)); +_9f6.push(""); +} +_9f6.push("
        "); +_9f6.push(this.renderTable(_9f0,_9f2.startIndex,_9f2.rows,_9f3)); +return _9f6.join(""); +},groupRows:function(_9f7,rows){ +var _9f8=$.data(_9f7,"datagrid"); +var opts=_9f8.options; +var _9f9=[]; +for(var i=0;idiv.combo-p>div.combo-panel:visible").panel("close"); +}); +}); +function _a09(_a0a){ +var _a0b=$.data(_a0a,"combo"); +var opts=_a0b.options; +if(!_a0b.panel){ +_a0b.panel=$("
        ").appendTo("body"); +_a0b.panel.panel({minWidth:opts.panelMinWidth,maxWidth:opts.panelMaxWidth,minHeight:opts.panelMinHeight,maxHeight:opts.panelMaxHeight,doSize:false,closed:true,cls:"combo-p",style:{position:"absolute",zIndex:10},onOpen:function(){ +var _a0c=$(this).panel("options").comboTarget; +var _a0d=$.data(_a0c,"combo"); +if(_a0d){ +_a0d.options.onShowPanel.call(_a0c); +} +},onBeforeClose:function(){ +_a08($(this).parent()); +},onClose:function(){ +var _a0e=$(this).panel("options").comboTarget; +var _a0f=$(_a0e).data("combo"); +if(_a0f){ +_a0f.options.onHidePanel.call(_a0e); +} +}}); +} +var _a10=$.extend(true,[],opts.icons); +if(opts.hasDownArrow){ +_a10.push({iconCls:"combo-arrow",handler:function(e){ +_a14(e.data.target); +}}); +} +$(_a0a).addClass("combo-f").textbox($.extend({},opts,{icons:_a10,onChange:function(){ +}})); +$(_a0a).attr("comboName",$(_a0a).attr("textboxName")); +_a0b.combo=$(_a0a).next(); +_a0b.combo.addClass("combo"); +}; +function _a11(_a12){ +var _a13=$.data(_a12,"combo"); +var opts=_a13.options; +var p=_a13.panel; +if(p.is(":visible")){ +p.panel("close"); +} +if(!opts.cloned){ +p.panel("destroy"); +} +$(_a12).textbox("destroy"); +}; +function _a14(_a15){ +var _a16=$.data(_a15,"combo").panel; +if(_a16.is(":visible")){ +var _a17=_a16.combo("combo"); +_a18(_a17); +if(_a17!=_a15){ +$(_a15).combo("showPanel"); +} +}else{ +var p=$(_a15).closest("div.combo-p").children(".combo-panel"); +$("div.combo-panel:visible").not(_a16).not(p).panel("close"); +$(_a15).combo("showPanel"); +} +$(_a15).combo("textbox").focus(); +}; +function _a08(_a19){ +$(_a19).find(".combo-f").each(function(){ +var p=$(this).combo("panel"); +if(p.is(":visible")){ +p.panel("close"); +} +}); +}; +function _a1a(e){ +var _a1b=e.data.target; +var _a1c=$.data(_a1b,"combo"); +var opts=_a1c.options; +if(!opts.editable){ +_a14(_a1b); +}else{ +var p=$(_a1b).closest("div.combo-p").children(".combo-panel"); +$("div.combo-panel:visible").not(p).each(function(){ +var _a1d=$(this).combo("combo"); +if(_a1d!=_a1b){ +_a18(_a1d); +} +}); +} +}; +function _a1e(e){ +var _a1f=e.data.target; +var t=$(_a1f); +var _a20=t.data("combo"); +var opts=t.combo("options"); +_a20.panel.panel("options").comboTarget=_a1f; +switch(e.keyCode){ +case 38: +opts.keyHandler.up.call(_a1f,e); +break; +case 40: +opts.keyHandler.down.call(_a1f,e); +break; +case 37: +opts.keyHandler.left.call(_a1f,e); +break; +case 39: +opts.keyHandler.right.call(_a1f,e); +break; +case 13: +e.preventDefault(); +opts.keyHandler.enter.call(_a1f,e); +return false; +case 9: +case 27: +_a18(_a1f); +break; +default: +if(opts.editable){ +if(_a20.timer){ +clearTimeout(_a20.timer); +} +_a20.timer=setTimeout(function(){ +var q=t.combo("getText"); +if(_a20.previousText!=q){ +_a20.previousText=q; +t.combo("showPanel"); +opts.keyHandler.query.call(_a1f,q,e); +t.combo("validate"); +} +},opts.delay); +} +} +}; +function _a21(_a22){ +var _a23=$.data(_a22,"combo"); +var _a24=_a23.combo; +var _a25=_a23.panel; +var opts=$(_a22).combo("options"); +var _a26=_a25.panel("options"); +_a26.comboTarget=_a22; +if(_a26.closed){ +_a25.panel("panel").show().css({zIndex:($.fn.menu?$.fn.menu.defaults.zIndex++:($.fn.window?$.fn.window.defaults.zIndex++:99)),left:-999999}); +_a25.panel("resize",{width:(opts.panelWidth?opts.panelWidth:_a24._outerWidth()),height:opts.panelHeight}); +_a25.panel("panel").hide(); +_a25.panel("open"); +} +(function(){ +if(_a26.comboTarget==_a22&&_a25.is(":visible")){ +_a25.panel("move",{left:_a27(),top:_a28()}); +setTimeout(arguments.callee,200); +} +})(); +function _a27(){ +var left=_a24.offset().left; +if(opts.panelAlign=="right"){ +left+=_a24._outerWidth()-_a25._outerWidth(); +} +if(left+_a25._outerWidth()>$(window)._outerWidth()+$(document).scrollLeft()){ +left=$(window)._outerWidth()+$(document).scrollLeft()-_a25._outerWidth(); +} +if(left<0){ +left=0; +} +return left; +}; +function _a28(){ +var top=_a24.offset().top+_a24._outerHeight(); +if(top+_a25._outerHeight()>$(window)._outerHeight()+$(document).scrollTop()){ +top=_a24.offset().top-_a25._outerHeight(); +} +if(top<$(document).scrollTop()){ +top=_a24.offset().top+_a24._outerHeight(); +} +return top; +}; +}; +function _a18(_a29){ +var _a2a=$.data(_a29,"combo").panel; +_a2a.panel("close"); +}; +function _a2b(_a2c,text){ +var _a2d=$.data(_a2c,"combo"); +var _a2e=$(_a2c).textbox("getText"); +if(_a2e!=text){ +$(_a2c).textbox("setText",text); +} +_a2d.previousText=text; +}; +function _a2f(_a30){ +var _a31=$.data(_a30,"combo"); +var opts=_a31.options; +var _a32=$(_a30).next(); +var _a33=[]; +_a32.find(".textbox-value").each(function(){ +_a33.push($(this).val()); +}); +if(opts.multivalue){ +return _a33; +}else{ +return _a33.length?_a33[0].split(opts.separator):_a33; +} +}; +function _a34(_a35,_a36){ +var _a37=$.data(_a35,"combo"); +var _a38=_a37.combo; +var opts=$(_a35).combo("options"); +if(!$.isArray(_a36)){ +_a36=_a36.split(opts.separator); +} +var _a39=_a2f(_a35); +_a38.find(".textbox-value").remove(); +if(_a36.length){ +if(opts.multivalue){ +for(var i=0;i<_a36.length;i++){ +_a3a(_a36[i]); +} +}else{ +_a3a(_a36.join(opts.separator)); +} +} +function _a3a(_a3b){ +var name=$(_a35).attr("textboxName")||""; +var _a3c=$("").appendTo(_a38); +_a3c.attr("name",name); +if(opts.disabled){ +_a3c.attr("disabled","disabled"); +} +_a3c.val(_a3b); +}; +var _a3d=(function(){ +if(_a39.length!=_a36.length){ +return true; +} +for(var i=0;i<_a36.length;i++){ +if(_a36[i]!=_a39[i]){ +return true; +} +} +return false; +})(); +if(_a3d){ +$(_a35).val(_a36.join(opts.separator)); +if(opts.multiple){ +opts.onChange.call(_a35,_a36,_a39); +}else{ +opts.onChange.call(_a35,_a36[0],_a39[0]); +} +$(_a35).closest("form").trigger("_change",[_a35]); +} +}; +function _a3e(_a3f){ +var _a40=_a2f(_a3f); +return _a40[0]; +}; +function _a41(_a42,_a43){ +_a34(_a42,[_a43]); +}; +function _a44(_a45){ +var opts=$.data(_a45,"combo").options; +var _a46=opts.onChange; +opts.onChange=function(){ +}; +if(opts.multiple){ +_a34(_a45,opts.value?opts.value:[]); +}else{ +_a41(_a45,opts.value); +} +opts.onChange=_a46; +}; +$.fn.combo=function(_a47,_a48){ +if(typeof _a47=="string"){ +var _a49=$.fn.combo.methods[_a47]; +if(_a49){ +return _a49(this,_a48); +}else{ +return this.textbox(_a47,_a48); +} +} +_a47=_a47||{}; +return this.each(function(){ +var _a4a=$.data(this,"combo"); +if(_a4a){ +$.extend(_a4a.options,_a47); +if(_a47.value!=undefined){ +_a4a.options.originalValue=_a47.value; +} +}else{ +_a4a=$.data(this,"combo",{options:$.extend({},$.fn.combo.defaults,$.fn.combo.parseOptions(this),_a47),previousText:""}); +_a4a.options.originalValue=_a4a.options.value; +} +_a09(this); +_a44(this); +}); +}; +$.fn.combo.methods={options:function(jq){ +var opts=jq.textbox("options"); +return $.extend($.data(jq[0],"combo").options,{width:opts.width,height:opts.height,disabled:opts.disabled,readonly:opts.readonly}); +},cloneFrom:function(jq,from){ +return jq.each(function(){ +$(this).textbox("cloneFrom",from); +$.data(this,"combo",{options:$.extend(true,{cloned:true},$(from).combo("options")),combo:$(this).next(),panel:$(from).combo("panel")}); +$(this).addClass("combo-f").attr("comboName",$(this).attr("textboxName")); +}); +},combo:function(jq){ +return jq.closest(".combo-panel").panel("options").comboTarget; +},panel:function(jq){ +return $.data(jq[0],"combo").panel; +},destroy:function(jq){ +return jq.each(function(){ +_a11(this); +}); +},showPanel:function(jq){ +return jq.each(function(){ +_a21(this); +}); +},hidePanel:function(jq){ +return jq.each(function(){ +_a18(this); +}); +},clear:function(jq){ +return jq.each(function(){ +$(this).textbox("setText",""); +var opts=$.data(this,"combo").options; +if(opts.multiple){ +$(this).combo("setValues",[]); +}else{ +$(this).combo("setValue",""); +} +}); +},reset:function(jq){ +return jq.each(function(){ +var opts=$.data(this,"combo").options; +if(opts.multiple){ +$(this).combo("setValues",opts.originalValue); +}else{ +$(this).combo("setValue",opts.originalValue); +} +}); +},setText:function(jq,text){ +return jq.each(function(){ +_a2b(this,text); +}); +},getValues:function(jq){ +return _a2f(jq[0]); +},setValues:function(jq,_a4b){ +return jq.each(function(){ +_a34(this,_a4b); +}); +},getValue:function(jq){ +return _a3e(jq[0]); +},setValue:function(jq,_a4c){ +return jq.each(function(){ +_a41(this,_a4c); +}); +}}; +$.fn.combo.parseOptions=function(_a4d){ +var t=$(_a4d); +return $.extend({},$.fn.textbox.parseOptions(_a4d),$.parser.parseOptions(_a4d,["separator","panelAlign",{panelWidth:"number",hasDownArrow:"boolean",delay:"number",reversed:"boolean",multivalue:"boolean",selectOnNavigation:"boolean"},{panelMinWidth:"number",panelMaxWidth:"number",panelMinHeight:"number",panelMaxHeight:"number"}]),{panelHeight:(t.attr("panelHeight")=="auto"?"auto":parseInt(t.attr("panelHeight"))||undefined),multiple:(t.attr("multiple")?true:undefined)}); +}; +$.fn.combo.defaults=$.extend({},$.fn.textbox.defaults,{inputEvents:{click:_a1a,keydown:_a1e,paste:_a1e,drop:_a1e},panelWidth:null,panelHeight:200,panelMinWidth:null,panelMaxWidth:null,panelMinHeight:null,panelMaxHeight:null,panelAlign:"left",reversed:false,multiple:false,multivalue:true,selectOnNavigation:true,separator:",",hasDownArrow:true,delay:200,keyHandler:{up:function(e){ +},down:function(e){ +},left:function(e){ +},right:function(e){ +},enter:function(e){ +},query:function(q,e){ +}},onShowPanel:function(){ +},onHidePanel:function(){ +},onChange:function(_a4e,_a4f){ +}}); +})(jQuery); +(function($){ +function _a50(_a51,_a52){ +var _a53=$.data(_a51,"combobox"); +return $.easyui.indexOfArray(_a53.data,_a53.options.valueField,_a52); +}; +function _a54(_a55,_a56){ +var opts=$.data(_a55,"combobox").options; +var _a57=$(_a55).combo("panel"); +var item=opts.finder.getEl(_a55,_a56); +if(item.length){ +if(item.position().top<=0){ +var h=_a57.scrollTop()+item.position().top; +_a57.scrollTop(h); +}else{ +if(item.position().top+item.outerHeight()>_a57.height()){ +var h=_a57.scrollTop()+item.position().top+item.outerHeight()-_a57.height(); +_a57.scrollTop(h); +} +} +} +_a57.triggerHandler("scroll"); +}; +function nav(_a58,dir){ +var opts=$.data(_a58,"combobox").options; +var _a59=$(_a58).combobox("panel"); +var item=_a59.children("div.combobox-item-hover"); +if(!item.length){ +item=_a59.children("div.combobox-item-selected"); +} +item.removeClass("combobox-item-hover"); +var _a5a="div.combobox-item:visible:not(.combobox-item-disabled):first"; +var _a5b="div.combobox-item:visible:not(.combobox-item-disabled):last"; +if(!item.length){ +item=_a59.children(dir=="next"?_a5a:_a5b); +}else{ +if(dir=="next"){ +item=item.nextAll(_a5a); +if(!item.length){ +item=_a59.children(_a5a); +} +}else{ +item=item.prevAll(_a5a); +if(!item.length){ +item=_a59.children(_a5b); +} +} +} +if(item.length){ +item.addClass("combobox-item-hover"); +var row=opts.finder.getRow(_a58,item); +if(row){ +$(_a58).combobox("scrollTo",row[opts.valueField]); +if(opts.selectOnNavigation){ +_a5c(_a58,row[opts.valueField]); +} +} +} +}; +function _a5c(_a5d,_a5e,_a5f){ +var opts=$.data(_a5d,"combobox").options; +var _a60=$(_a5d).combo("getValues"); +if($.inArray(_a5e+"",_a60)==-1){ +if(opts.multiple){ +_a60.push(_a5e); +}else{ +_a60=[_a5e]; +} +_a61(_a5d,_a60,_a5f); +} +}; +function _a62(_a63,_a64){ +var opts=$.data(_a63,"combobox").options; +var _a65=$(_a63).combo("getValues"); +var _a66=$.inArray(_a64+"",_a65); +if(_a66>=0){ +_a65.splice(_a66,1); +_a61(_a63,_a65); +} +}; +function _a61(_a67,_a68,_a69){ +var opts=$.data(_a67,"combobox").options; +var _a6a=$(_a67).combo("panel"); +if(!$.isArray(_a68)){ +_a68=_a68.split(opts.separator); +} +if(!opts.multiple){ +_a68=_a68.length?[_a68[0]]:[""]; +} +var _a6b=$(_a67).combo("getValues"); +if(_a6a.is(":visible")){ +_a6a.find(".combobox-item-selected").each(function(){ +var row=opts.finder.getRow(_a67,$(this)); +if(row){ +if($.easyui.indexOfArray(_a6b,row[opts.valueField])==-1){ +$(this).removeClass("combobox-item-selected"); +} +} +}); +} +$.map(_a6b,function(v){ +if($.easyui.indexOfArray(_a68,v)==-1){ +var el=opts.finder.getEl(_a67,v); +if(el.hasClass("combobox-item-selected")){ +el.removeClass("combobox-item-selected"); +opts.onUnselect.call(_a67,opts.finder.getRow(_a67,v)); +} +} +}); +var _a6c=null; +var vv=[],ss=[]; +for(var i=0;i<_a68.length;i++){ +var v=_a68[i]; +var s=v; +var row=opts.finder.getRow(_a67,v); +if(row){ +s=row[opts.textField]; +_a6c=row; +var el=opts.finder.getEl(_a67,v); +if(!el.hasClass("combobox-item-selected")){ +el.addClass("combobox-item-selected"); +opts.onSelect.call(_a67,row); +} +} +vv.push(v); +ss.push(s); +} +if(!_a69){ +$(_a67).combo("setText",ss.join(opts.separator)); +} +if(opts.showItemIcon){ +var tb=$(_a67).combobox("textbox"); +tb.removeClass("textbox-bgicon "+opts.textboxIconCls); +if(_a6c&&_a6c.iconCls){ +tb.addClass("textbox-bgicon "+_a6c.iconCls); +opts.textboxIconCls=_a6c.iconCls; +} +} +$(_a67).combo("setValues",vv); +_a6a.triggerHandler("scroll"); +}; +function _a6d(_a6e,data,_a6f){ +var _a70=$.data(_a6e,"combobox"); +var opts=_a70.options; +_a70.data=opts.loadFilter.call(_a6e,data); +opts.view.render.call(opts.view,_a6e,$(_a6e).combo("panel"),_a70.data); +var vv=$(_a6e).combobox("getValues"); +$.easyui.forEach(_a70.data,false,function(row){ +if(row["selected"]){ +$.easyui.addArrayItem(vv,row[opts.valueField]+""); +} +}); +if(opts.multiple){ +_a61(_a6e,vv,_a6f); +}else{ +_a61(_a6e,vv.length?[vv[vv.length-1]]:[],_a6f); +} +opts.onLoadSuccess.call(_a6e,data); +}; +function _a71(_a72,url,_a73,_a74){ +var opts=$.data(_a72,"combobox").options; +if(url){ +opts.url=url; +} +_a73=$.extend({},opts.queryParams,_a73||{}); +if(opts.onBeforeLoad.call(_a72,_a73)==false){ +return; +} +opts.loader.call(_a72,_a73,function(data){ +_a6d(_a72,data,_a74); +},function(){ +opts.onLoadError.apply(this,arguments); +}); +}; +function _a75(_a76,q){ +var _a77=$.data(_a76,"combobox"); +var opts=_a77.options; +var _a78=$(); +var qq=opts.multiple?q.split(opts.separator):[q]; +if(opts.mode=="remote"){ +_a79(qq); +_a71(_a76,null,{q:q},true); +}else{ +var _a7a=$(_a76).combo("panel"); +_a7a.find(".combobox-item-hover").removeClass("combobox-item-hover"); +_a7a.find(".combobox-item,.combobox-group").hide(); +var data=_a77.data; +var vv=[]; +$.map(qq,function(q){ +q=$.trim(q); +var _a7b=q; +var _a7c=undefined; +_a78=$(); +for(var i=0;i=0){ +vv.push(v); +} +}); +t.combobox("setValues",vv); +if(!opts.multiple){ +t.combobox("hidePanel"); +} +}; +function _a81(_a82){ +var _a83=$.data(_a82,"combobox"); +var opts=_a83.options; +$(_a82).addClass("combobox-f"); +$(_a82).combo($.extend({},opts,{onShowPanel:function(){ +$(this).combo("panel").find("div.combobox-item:hidden,div.combobox-group:hidden").show(); +_a61(this,$(this).combobox("getValues"),true); +$(this).combobox("scrollTo",$(this).combobox("getValue")); +opts.onShowPanel.call(this); +}})); +var p=$(_a82).combo("panel"); +p.unbind(".combobox"); +for(var _a84 in opts.panelEvents){ +p.bind(_a84+".combobox",{target:_a82},opts.panelEvents[_a84]); +} +}; +function _a85(e){ +$(this).children("div.combobox-item-hover").removeClass("combobox-item-hover"); +var item=$(e.target).closest("div.combobox-item"); +if(!item.hasClass("combobox-item-disabled")){ +item.addClass("combobox-item-hover"); +} +e.stopPropagation(); +}; +function _a86(e){ +$(e.target).closest("div.combobox-item").removeClass("combobox-item-hover"); +e.stopPropagation(); +}; +function _a87(e){ +var _a88=$(this).panel("options").comboTarget; +if(!_a88){ +return; +} +var opts=$(_a88).combobox("options"); +var item=$(e.target).closest("div.combobox-item"); +if(!item.length||item.hasClass("combobox-item-disabled")){ +return; +} +var row=opts.finder.getRow(_a88,item); +if(!row){ +return; +} +if(opts.blurTimer){ +clearTimeout(opts.blurTimer); +opts.blurTimer=null; +} +opts.onClick.call(_a88,row); +var _a89=row[opts.valueField]; +if(opts.multiple){ +if(item.hasClass("combobox-item-selected")){ +_a62(_a88,_a89); +}else{ +_a5c(_a88,_a89); +} +}else{ +$(_a88).combobox("setValue",_a89).combobox("hidePanel"); +} +e.stopPropagation(); +}; +function _a8a(e){ +var _a8b=$(this).panel("options").comboTarget; +if(!_a8b){ +return; +} +var opts=$(_a8b).combobox("options"); +if(opts.groupPosition=="sticky"){ +var _a8c=$(this).children(".combobox-stick"); +if(!_a8c.length){ +_a8c=$("
        ").appendTo(this); +} +_a8c.hide(); +var _a8d=$(_a8b).data("combobox"); +$(this).children(".combobox-group:visible").each(function(){ +var g=$(this); +var _a8e=opts.finder.getGroup(_a8b,g); +var _a8f=_a8d.data[_a8e.startIndex+_a8e.count-1]; +var last=opts.finder.getEl(_a8b,_a8f[opts.valueField]); +if(g.position().top<0&&last.position().top>0){ +_a8c.show().html(g.html()); +return false; +} +}); +} +}; +$.fn.combobox=function(_a90,_a91){ +if(typeof _a90=="string"){ +var _a92=$.fn.combobox.methods[_a90]; +if(_a92){ +return _a92(this,_a91); +}else{ +return this.combo(_a90,_a91); +} +} +_a90=_a90||{}; +return this.each(function(){ +var _a93=$.data(this,"combobox"); +if(_a93){ +$.extend(_a93.options,_a90); +}else{ +_a93=$.data(this,"combobox",{options:$.extend({},$.fn.combobox.defaults,$.fn.combobox.parseOptions(this),_a90),data:[]}); +} +_a81(this); +if(_a93.options.data){ +_a6d(this,_a93.options.data); +}else{ +var data=$.fn.combobox.parseData(this); +if(data.length){ +_a6d(this,data); +} +} +_a71(this); +}); +}; +$.fn.combobox.methods={options:function(jq){ +var _a94=jq.combo("options"); +return $.extend($.data(jq[0],"combobox").options,{width:_a94.width,height:_a94.height,originalValue:_a94.originalValue,disabled:_a94.disabled,readonly:_a94.readonly}); +},cloneFrom:function(jq,from){ +return jq.each(function(){ +$(this).combo("cloneFrom",from); +$.data(this,"combobox",$(from).data("combobox")); +$(this).addClass("combobox-f").attr("comboboxName",$(this).attr("textboxName")); +}); +},getData:function(jq){ +return $.data(jq[0],"combobox").data; +},setValues:function(jq,_a95){ +return jq.each(function(){ +_a61(this,_a95); +}); +},setValue:function(jq,_a96){ +return jq.each(function(){ +_a61(this,$.isArray(_a96)?_a96:[_a96]); +}); +},clear:function(jq){ +return jq.each(function(){ +_a61(this,[]); +}); +},reset:function(jq){ +return jq.each(function(){ +var opts=$(this).combobox("options"); +if(opts.multiple){ +$(this).combobox("setValues",opts.originalValue); +}else{ +$(this).combobox("setValue",opts.originalValue); +} +}); +},loadData:function(jq,data){ +return jq.each(function(){ +_a6d(this,data); +}); +},reload:function(jq,url){ +return jq.each(function(){ +if(typeof url=="string"){ +_a71(this,url); +}else{ +if(url){ +var opts=$(this).combobox("options"); +opts.queryParams=url; +} +_a71(this); +} +}); +},select:function(jq,_a97){ +return jq.each(function(){ +_a5c(this,_a97); +}); +},unselect:function(jq,_a98){ +return jq.each(function(){ +_a62(this,_a98); +}); +},scrollTo:function(jq,_a99){ +return jq.each(function(){ +_a54(this,_a99); +}); +}}; +$.fn.combobox.parseOptions=function(_a9a){ +var t=$(_a9a); +return $.extend({},$.fn.combo.parseOptions(_a9a),$.parser.parseOptions(_a9a,["valueField","textField","groupField","groupPosition","mode","method","url",{showItemIcon:"boolean",limitToList:"boolean"}])); +}; +$.fn.combobox.parseData=function(_a9b){ +var data=[]; +var opts=$(_a9b).combobox("options"); +$(_a9b).children().each(function(){ +if(this.tagName.toLowerCase()=="optgroup"){ +var _a9c=$(this).attr("label"); +$(this).children().each(function(){ +_a9d(this,_a9c); +}); +}else{ +_a9d(this); +} +}); +return data; +function _a9d(el,_a9e){ +var t=$(el); +var row={}; +row[opts.valueField]=t.attr("value")!=undefined?t.attr("value"):t.text(); +row[opts.textField]=t.text(); +row["selected"]=t.is(":selected"); +row["disabled"]=t.is(":disabled"); +if(_a9e){ +opts.groupField=opts.groupField||"group"; +row[opts.groupField]=_a9e; +} +data.push(row); +}; +}; +var _a9f=0; +var _aa0={render:function(_aa1,_aa2,data){ +var _aa3=$.data(_aa1,"combobox"); +var opts=_aa3.options; +_a9f++; +_aa3.itemIdPrefix="_easyui_combobox_i"+_a9f; +_aa3.groupIdPrefix="_easyui_combobox_g"+_a9f; +_aa3.groups=[]; +var dd=[]; +var _aa4=undefined; +for(var i=0;i"); +dd.push(opts.groupFormatter?opts.groupFormatter.call(_aa1,g):g); +dd.push("
        "); +}else{ +_aa3.groups[_aa3.groups.length-1].count++; +} +}else{ +_aa4=undefined; +} +var cls="combobox-item"+(row.disabled?" combobox-item-disabled":"")+(g?" combobox-gitem":""); +dd.push("
        "); +if(opts.showItemIcon&&row.iconCls){ +dd.push(""); +} +dd.push(opts.formatter?opts.formatter.call(_aa1,row):s); +dd.push("
        "); +} +$(_aa2).html(dd.join("")); +}}; +$.fn.combobox.defaults=$.extend({},$.fn.combo.defaults,{valueField:"value",textField:"text",groupPosition:"static",groupField:null,groupFormatter:function(_aa5){ +return _aa5; +},mode:"local",method:"post",url:null,data:null,queryParams:{},showItemIcon:false,limitToList:false,view:_aa0,keyHandler:{up:function(e){ +nav(this,"prev"); +e.preventDefault(); +},down:function(e){ +nav(this,"next"); +e.preventDefault(); +},left:function(e){ +},right:function(e){ +},enter:function(e){ +_a7d(this); +},query:function(q,e){ +_a75(this,q); +}},inputEvents:$.extend({},$.fn.combo.defaults.inputEvents,{blur:function(e){ +var _aa6=e.data.target; +var opts=$(_aa6).combobox("options"); +if(opts.reversed||opts.limitToList){ +if(opts.blurTimer){ +clearTimeout(opts.blurTimer); +} +opts.blurTimer=setTimeout(function(){ +var _aa7=$(_aa6).parent().length; +if(_aa7){ +if(opts.reversed){ +$(_aa6).combobox("setValues",$(_aa6).combobox("getValues")); +}else{ +if(opts.limitToList){ +_a7d(_aa6); +} +} +opts.blurTimer=null; +} +},50); +} +}}),panelEvents:{mouseover:_a85,mouseout:_a86,click:_a87,scroll:_a8a},filter:function(q,row){ +var opts=$(this).combobox("options"); +return row[opts.textField].toLowerCase().indexOf(q.toLowerCase())>=0; +},formatter:function(row){ +var opts=$(this).combobox("options"); +return row[opts.textField]; +},loader:function(_aa8,_aa9,_aaa){ +var opts=$(this).combobox("options"); +if(!opts.url){ +return false; +} +$.ajax({type:opts.method,url:opts.url,data:_aa8,dataType:"json",success:function(data){ +_aa9(data); +},error:function(){ +_aaa.apply(this,arguments); +}}); +},loadFilter:function(data){ +return data; +},finder:{getEl:function(_aab,_aac){ +var _aad=_a50(_aab,_aac); +var id=$.data(_aab,"combobox").itemIdPrefix+"_"+_aad; +return $("#"+id); +},getGroupEl:function(_aae,_aaf){ +var _ab0=$.data(_aae,"combobox"); +var _ab1=$.easyui.indexOfArray(_ab0.groups,"value",_aaf); +var id=_ab0.groupIdPrefix+"_"+_ab1; +return $("#"+id); +},getGroup:function(_ab2,p){ +var _ab3=$.data(_ab2,"combobox"); +var _ab4=p.attr("id").substr(_ab3.groupIdPrefix.length+1); +return _ab3.groups[parseInt(_ab4)]; +},getRow:function(_ab5,p){ +var _ab6=$.data(_ab5,"combobox"); +var _ab7=(p instanceof $)?p.attr("id").substr(_ab6.itemIdPrefix.length+1):_a50(_ab5,p); +return _ab6.data[parseInt(_ab7)]; +}},onBeforeLoad:function(_ab8){ +},onLoadSuccess:function(data){ +},onLoadError:function(){ +},onSelect:function(_ab9){ +},onUnselect:function(_aba){ +},onClick:function(_abb){ +}}); +})(jQuery); +(function($){ +function _abc(_abd){ +var _abe=$.data(_abd,"combotree"); +var opts=_abe.options; +var tree=_abe.tree; +$(_abd).addClass("combotree-f"); +$(_abd).combo($.extend({},opts,{onShowPanel:function(){ +if(opts.editable){ +tree.tree("doFilter",""); +} +opts.onShowPanel.call(this); +}})); +var _abf=$(_abd).combo("panel"); +if(!tree){ +tree=$("
          ").appendTo(_abf); +_abe.tree=tree; +} +tree.tree($.extend({},opts,{checkbox:opts.multiple,onLoadSuccess:function(node,data){ +var _ac0=$(_abd).combotree("getValues"); +if(opts.multiple){ +$.map(tree.tree("getChecked"),function(node){ +$.easyui.addArrayItem(_ac0,node.id); +}); +} +_ac5(_abd,_ac0,_abe.remainText); +opts.onLoadSuccess.call(this,node,data); +},onClick:function(node){ +if(opts.multiple){ +$(this).tree(node.checked?"uncheck":"check",node.target); +}else{ +$(_abd).combo("hidePanel"); +} +_abe.remainText=false; +_ac2(_abd); +opts.onClick.call(this,node); +},onCheck:function(node,_ac1){ +_abe.remainText=false; +_ac2(_abd); +opts.onCheck.call(this,node,_ac1); +}})); +}; +function _ac2(_ac3){ +var _ac4=$.data(_ac3,"combotree"); +var opts=_ac4.options; +var tree=_ac4.tree; +var vv=[]; +if(opts.multiple){ +vv=$.map(tree.tree("getChecked"),function(node){ +return node.id; +}); +}else{ +var node=tree.tree("getSelected"); +if(node){ +vv.push(node.id); +} +} +vv=vv.concat(opts.unselectedValues); +_ac5(_ac3,vv,_ac4.remainText); +}; +function _ac5(_ac6,_ac7,_ac8){ +var _ac9=$.data(_ac6,"combotree"); +var opts=_ac9.options; +var tree=_ac9.tree; +var _aca=tree.tree("options"); +var _acb=_aca.onBeforeCheck; +var _acc=_aca.onCheck; +var _acd=_aca.onSelect; +_aca.onBeforeCheck=_aca.onCheck=_aca.onSelect=function(){ +}; +if(!$.isArray(_ac7)){ +_ac7=_ac7.split(opts.separator); +} +if(!opts.multiple){ +_ac7=_ac7.length?[_ac7[0]]:[""]; +} +var vv=$.map(_ac7,function(_ace){ +return String(_ace); +}); +tree.find("div.tree-node-selected").removeClass("tree-node-selected"); +$.map(tree.tree("getChecked"),function(node){ +if($.inArray(String(node.id),vv)==-1){ +tree.tree("uncheck",node.target); +} +}); +var ss=[]; +opts.unselectedValues=[]; +$.map(vv,function(v){ +var node=tree.tree("find",v); +if(node){ +tree.tree("check",node.target).tree("select",node.target); +ss.push(_acf(node)); +}else{ +ss.push(_ad0(v,opts.mappingRows)||v); +opts.unselectedValues.push(v); +} +}); +if(opts.multiple){ +$.map(tree.tree("getChecked"),function(node){ +var id=String(node.id); +if($.inArray(id,vv)==-1){ +vv.push(id); +ss.push(_acf(node)); +} +}); +} +_aca.onBeforeCheck=_acb; +_aca.onCheck=_acc; +_aca.onSelect=_acd; +if(!_ac8){ +var s=ss.join(opts.separator); +if($(_ac6).combo("getText")!=s){ +$(_ac6).combo("setText",s); +} +} +$(_ac6).combo("setValues",vv); +function _ad0(_ad1,a){ +var item=$.easyui.getArrayItem(a,"id",_ad1); +return item?_acf(item):undefined; +}; +function _acf(node){ +return node[opts.textField||""]||node.text; +}; +}; +function _ad2(_ad3,q){ +var _ad4=$.data(_ad3,"combotree"); +var opts=_ad4.options; +var tree=_ad4.tree; +_ad4.remainText=true; +tree.tree("doFilter",opts.multiple?q.split(opts.separator):q); +}; +function _ad5(_ad6){ +var _ad7=$.data(_ad6,"combotree"); +_ad7.remainText=false; +$(_ad6).combotree("setValues",$(_ad6).combotree("getValues")); +$(_ad6).combotree("hidePanel"); +}; +$.fn.combotree=function(_ad8,_ad9){ +if(typeof _ad8=="string"){ +var _ada=$.fn.combotree.methods[_ad8]; +if(_ada){ +return _ada(this,_ad9); +}else{ +return this.combo(_ad8,_ad9); +} +} +_ad8=_ad8||{}; +return this.each(function(){ +var _adb=$.data(this,"combotree"); +if(_adb){ +$.extend(_adb.options,_ad8); +}else{ +$.data(this,"combotree",{options:$.extend({},$.fn.combotree.defaults,$.fn.combotree.parseOptions(this),_ad8)}); +} +_abc(this); +}); +}; +$.fn.combotree.methods={options:function(jq){ +var _adc=jq.combo("options"); +return $.extend($.data(jq[0],"combotree").options,{width:_adc.width,height:_adc.height,originalValue:_adc.originalValue,disabled:_adc.disabled,readonly:_adc.readonly}); +},clone:function(jq,_add){ +var t=jq.combo("clone",_add); +t.data("combotree",{options:$.extend(true,{},jq.combotree("options")),tree:jq.combotree("tree")}); +return t; +},tree:function(jq){ +return $.data(jq[0],"combotree").tree; +},loadData:function(jq,data){ +return jq.each(function(){ +var opts=$.data(this,"combotree").options; +opts.data=data; +var tree=$.data(this,"combotree").tree; +tree.tree("loadData",data); +}); +},reload:function(jq,url){ +return jq.each(function(){ +var opts=$.data(this,"combotree").options; +var tree=$.data(this,"combotree").tree; +if(url){ +opts.url=url; +} +tree.tree({url:opts.url}); +}); +},setValues:function(jq,_ade){ +return jq.each(function(){ +var opts=$(this).combotree("options"); +if($.isArray(_ade)){ +_ade=$.map(_ade,function(_adf){ +if(_adf&&typeof _adf=="object"){ +$.easyui.addArrayItem(opts.mappingRows,"id",_adf); +return _adf.id; +}else{ +return _adf; +} +}); +} +_ac5(this,_ade); +}); +},setValue:function(jq,_ae0){ +return jq.each(function(){ +$(this).combotree("setValues",$.isArray(_ae0)?_ae0:[_ae0]); +}); +},clear:function(jq){ +return jq.each(function(){ +$(this).combotree("setValues",[]); +}); +},reset:function(jq){ +return jq.each(function(){ +var opts=$(this).combotree("options"); +if(opts.multiple){ +$(this).combotree("setValues",opts.originalValue); +}else{ +$(this).combotree("setValue",opts.originalValue); +} +}); +}}; +$.fn.combotree.parseOptions=function(_ae1){ +return $.extend({},$.fn.combo.parseOptions(_ae1),$.fn.tree.parseOptions(_ae1)); +}; +$.fn.combotree.defaults=$.extend({},$.fn.combo.defaults,$.fn.tree.defaults,{editable:false,textField:null,unselectedValues:[],mappingRows:[],keyHandler:{up:function(e){ +},down:function(e){ +},left:function(e){ +},right:function(e){ +},enter:function(e){ +_ad5(this); +},query:function(q,e){ +_ad2(this,q); +}}}); +})(jQuery); +(function($){ +function _ae2(_ae3){ +var _ae4=$.data(_ae3,"combogrid"); +var opts=_ae4.options; +var grid=_ae4.grid; +$(_ae3).addClass("combogrid-f").combo($.extend({},opts,{onShowPanel:function(){ +_af9(this,$(this).combogrid("getValues"),true); +var p=$(this).combogrid("panel"); +var _ae5=p.outerHeight()-p.height(); +var _ae6=p._size("minHeight"); +var _ae7=p._size("maxHeight"); +var dg=$(this).combogrid("grid"); +dg.datagrid("resize",{width:"100%",height:(isNaN(parseInt(opts.panelHeight))?"auto":"100%"),minHeight:(_ae6?_ae6-_ae5:""),maxHeight:(_ae7?_ae7-_ae5:"")}); +var row=dg.datagrid("getSelected"); +if(row){ +dg.datagrid("scrollTo",dg.datagrid("getRowIndex",row)); +} +opts.onShowPanel.call(this); +}})); +var _ae8=$(_ae3).combo("panel"); +if(!grid){ +grid=$("
          ").appendTo(_ae8); +_ae4.grid=grid; +} +grid.datagrid($.extend({},opts,{border:false,singleSelect:(!opts.multiple),onLoadSuccess:_ae9,onClickRow:_aea,onSelect:_aeb("onSelect"),onUnselect:_aeb("onUnselect"),onSelectAll:_aeb("onSelectAll"),onUnselectAll:_aeb("onUnselectAll")})); +function _aec(dg){ +return $(dg).closest(".combo-panel").panel("options").comboTarget||_ae3; +}; +function _ae9(data){ +var _aed=_aec(this); +var _aee=$(_aed).data("combogrid"); +var opts=_aee.options; +var _aef=$(_aed).combo("getValues"); +_af9(_aed,_aef,_aee.remainText); +opts.onLoadSuccess.call(this,data); +}; +function _aea(_af0,row){ +var _af1=_aec(this); +var _af2=$(_af1).data("combogrid"); +var opts=_af2.options; +_af2.remainText=false; +_af3.call(this); +if(!opts.multiple){ +$(_af1).combo("hidePanel"); +} +opts.onClickRow.call(this,_af0,row); +}; +function _aeb(_af4){ +return function(_af5,row){ +var _af6=_aec(this); +var opts=$(_af6).combogrid("options"); +if(_af4=="onUnselectAll"){ +if(opts.multiple){ +_af3.call(this); +} +}else{ +_af3.call(this); +} +opts[_af4].call(this,_af5,row); +}; +}; +function _af3(){ +var dg=$(this); +var _af7=_aec(dg); +var _af8=$(_af7).data("combogrid"); +var opts=_af8.options; +var vv=$.map(dg.datagrid("getSelections"),function(row){ +return row[opts.idField]; +}); +vv=vv.concat(opts.unselectedValues); +_af9(_af7,vv,_af8.remainText); +}; +}; +function nav(_afa,dir){ +var _afb=$.data(_afa,"combogrid"); +var opts=_afb.options; +var grid=_afb.grid; +var _afc=grid.datagrid("getRows").length; +if(!_afc){ +return; +} +var tr=opts.finder.getTr(grid[0],null,"highlight"); +if(!tr.length){ +tr=opts.finder.getTr(grid[0],null,"selected"); +} +var _afd; +if(!tr.length){ +_afd=(dir=="next"?0:_afc-1); +}else{ +var _afd=parseInt(tr.attr("datagrid-row-index")); +_afd+=(dir=="next"?1:-1); +if(_afd<0){ +_afd=_afc-1; +} +if(_afd>=_afc){ +_afd=0; +} +} +grid.datagrid("highlightRow",_afd); +if(opts.selectOnNavigation){ +_afb.remainText=false; +grid.datagrid("selectRow",_afd); +} +}; +function _af9(_afe,_aff,_b00){ +var _b01=$.data(_afe,"combogrid"); +var opts=_b01.options; +var grid=_b01.grid; +var _b02=$(_afe).combo("getValues"); +var _b03=$(_afe).combo("options"); +var _b04=_b03.onChange; +_b03.onChange=function(){ +}; +var _b05=grid.datagrid("options"); +var _b06=_b05.onSelect; +var _b07=_b05.onUnselectAll; +_b05.onSelect=_b05.onUnselectAll=function(){ +}; +if(!$.isArray(_aff)){ +_aff=_aff.split(opts.separator); +} +if(!opts.multiple){ +_aff=_aff.length?[_aff[0]]:[""]; +} +var vv=$.map(_aff,function(_b08){ +return String(_b08); +}); +vv=$.grep(vv,function(v,_b09){ +return _b09===$.inArray(v,vv); +}); +var _b0a=$.grep(grid.datagrid("getSelections"),function(row,_b0b){ +return $.inArray(String(row[opts.idField]),vv)>=0; +}); +grid.datagrid("clearSelections"); +grid.data("datagrid").selectedRows=_b0a; +var ss=[]; +opts.unselectedValues=[]; +$.map(vv,function(v){ +var _b0c=grid.datagrid("getRowIndex",v); +if(_b0c>=0){ +grid.datagrid("selectRow",_b0c); +}else{ +opts.unselectedValues.push(v); +} +ss.push(_b0d(v,grid.datagrid("getRows"))||_b0d(v,_b0a)||_b0d(v,opts.mappingRows)||v); +}); +$(_afe).combo("setValues",_b02); +_b03.onChange=_b04; +_b05.onSelect=_b06; +_b05.onUnselectAll=_b07; +if(!_b00){ +var s=ss.join(opts.separator); +if($(_afe).combo("getText")!=s){ +$(_afe).combo("setText",s); +} +} +$(_afe).combo("setValues",_aff); +function _b0d(_b0e,a){ +var item=$.easyui.getArrayItem(a,opts.idField,_b0e); +return item?item[opts.textField]:undefined; +}; +}; +function _b0f(_b10,q){ +var _b11=$.data(_b10,"combogrid"); +var opts=_b11.options; +var grid=_b11.grid; +_b11.remainText=true; +var qq=opts.multiple?q.split(opts.separator):[q]; +qq=$.grep(qq,function(q){ +return $.trim(q)!=""; +}); +if(opts.mode=="remote"){ +_b12(qq); +grid.datagrid("load",$.extend({},opts.queryParams,{q:q})); +}else{ +grid.datagrid("highlightRow",-1); +var rows=grid.datagrid("getRows"); +var vv=[]; +$.map(qq,function(q){ +q=$.trim(q); +var _b13=q; +_b14(opts.mappingRows,q); +_b14(grid.datagrid("getSelections"),q); +var _b15=_b14(rows,q); +if(_b15>=0){ +if(opts.reversed){ +grid.datagrid("highlightRow",_b15); +} +}else{ +$.map(rows,function(row,i){ +if(opts.filter.call(_b10,q,row)){ +grid.datagrid("highlightRow",i); +} +}); +} +}); +_b12(vv); +} +function _b14(rows,q){ +for(var i=0;i=0){ +$.easyui.addArrayItem(vv,v); +} +}); +$(_b17).combogrid("setValues",vv); +if(!opts.multiple){ +$(_b17).combogrid("hidePanel"); +} +}; +$.fn.combogrid=function(_b1a,_b1b){ +if(typeof _b1a=="string"){ +var _b1c=$.fn.combogrid.methods[_b1a]; +if(_b1c){ +return _b1c(this,_b1b); +}else{ +return this.combo(_b1a,_b1b); +} +} +_b1a=_b1a||{}; +return this.each(function(){ +var _b1d=$.data(this,"combogrid"); +if(_b1d){ +$.extend(_b1d.options,_b1a); +}else{ +_b1d=$.data(this,"combogrid",{options:$.extend({},$.fn.combogrid.defaults,$.fn.combogrid.parseOptions(this),_b1a)}); +} +_ae2(this); +}); +}; +$.fn.combogrid.methods={options:function(jq){ +var _b1e=jq.combo("options"); +return $.extend($.data(jq[0],"combogrid").options,{width:_b1e.width,height:_b1e.height,originalValue:_b1e.originalValue,disabled:_b1e.disabled,readonly:_b1e.readonly}); +},cloneFrom:function(jq,from){ +return jq.each(function(){ +$(this).combo("cloneFrom",from); +$.data(this,"combogrid",{options:$.extend(true,{cloned:true},$(from).combogrid("options")),combo:$(this).next(),panel:$(from).combo("panel"),grid:$(from).combogrid("grid")}); +}); +},grid:function(jq){ +return $.data(jq[0],"combogrid").grid; +},setValues:function(jq,_b1f){ +return jq.each(function(){ +var opts=$(this).combogrid("options"); +if($.isArray(_b1f)){ +_b1f=$.map(_b1f,function(_b20){ +if(_b20&&typeof _b20=="object"){ +$.easyui.addArrayItem(opts.mappingRows,opts.idField,_b20); +return _b20[opts.idField]; +}else{ +return _b20; +} +}); +} +_af9(this,_b1f); +}); +},setValue:function(jq,_b21){ +return jq.each(function(){ +$(this).combogrid("setValues",$.isArray(_b21)?_b21:[_b21]); +}); +},clear:function(jq){ +return jq.each(function(){ +$(this).combogrid("setValues",[]); +}); +},reset:function(jq){ +return jq.each(function(){ +var opts=$(this).combogrid("options"); +if(opts.multiple){ +$(this).combogrid("setValues",opts.originalValue); +}else{ +$(this).combogrid("setValue",opts.originalValue); +} +}); +}}; +$.fn.combogrid.parseOptions=function(_b22){ +var t=$(_b22); +return $.extend({},$.fn.combo.parseOptions(_b22),$.fn.datagrid.parseOptions(_b22),$.parser.parseOptions(_b22,["idField","textField","mode"])); +}; +$.fn.combogrid.defaults=$.extend({},$.fn.combo.defaults,$.fn.datagrid.defaults,{loadMsg:null,idField:null,textField:null,unselectedValues:[],mappingRows:[],mode:"local",keyHandler:{up:function(e){ +nav(this,"prev"); +e.preventDefault(); +},down:function(e){ +nav(this,"next"); +e.preventDefault(); +},left:function(e){ +},right:function(e){ +},enter:function(e){ +_b16(this); +},query:function(q,e){ +_b0f(this,q); +}},inputEvents:$.extend({},$.fn.combo.defaults.inputEvents,{blur:function(e){ +var _b23=e.data.target; +var opts=$(_b23).combogrid("options"); +if(opts.reversed){ +$(_b23).combogrid("setValues",$(_b23).combogrid("getValues")); +} +}}),filter:function(q,row){ +var opts=$(this).combogrid("options"); +return (row[opts.textField]||"").toLowerCase().indexOf(q.toLowerCase())>=0; +}}); +})(jQuery); +(function($){ +function _b24(_b25){ +var _b26=$.data(_b25,"combotreegrid"); +var opts=_b26.options; +$(_b25).addClass("combotreegrid-f").combo($.extend({},opts,{onShowPanel:function(){ +var p=$(this).combotreegrid("panel"); +var _b27=p.outerHeight()-p.height(); +var _b28=p._size("minHeight"); +var _b29=p._size("maxHeight"); +var dg=$(this).combotreegrid("grid"); +dg.treegrid("resize",{width:"100%",height:(isNaN(parseInt(opts.panelHeight))?"auto":"100%"),minHeight:(_b28?_b28-_b27:""),maxHeight:(_b29?_b29-_b27:"")}); +var row=dg.treegrid("getSelected"); +if(row){ +dg.treegrid("scrollTo",row[opts.idField]); +} +opts.onShowPanel.call(this); +}})); +if(!_b26.grid){ +var _b2a=$(_b25).combo("panel"); +_b26.grid=$("
          ").appendTo(_b2a); +} +_b26.grid.treegrid($.extend({},opts,{border:false,checkbox:opts.multiple,onLoadSuccess:function(row,data){ +var _b2b=$(_b25).combotreegrid("getValues"); +if(opts.multiple){ +$.map($(this).treegrid("getCheckedNodes"),function(row){ +$.easyui.addArrayItem(_b2b,row[opts.idField]); +}); +} +_b30(_b25,_b2b); +opts.onLoadSuccess.call(this,row,data); +_b26.remainText=false; +},onClickRow:function(row){ +if(opts.multiple){ +$(this).treegrid(row.checked?"uncheckNode":"checkNode",row[opts.idField]); +$(this).treegrid("unselect",row[opts.idField]); +}else{ +$(_b25).combo("hidePanel"); +} +_b2d(_b25); +opts.onClickRow.call(this,row); +},onCheckNode:function(row,_b2c){ +_b2d(_b25); +opts.onCheckNode.call(this,row,_b2c); +}})); +}; +function _b2d(_b2e){ +var _b2f=$.data(_b2e,"combotreegrid"); +var opts=_b2f.options; +var grid=_b2f.grid; +var vv=[]; +if(opts.multiple){ +vv=$.map(grid.treegrid("getCheckedNodes"),function(row){ +return row[opts.idField]; +}); +}else{ +var row=grid.treegrid("getSelected"); +if(row){ +vv.push(row[opts.idField]); +} +} +vv=vv.concat(opts.unselectedValues); +_b30(_b2e,vv); +}; +function _b30(_b31,_b32){ +var _b33=$.data(_b31,"combotreegrid"); +var opts=_b33.options; +var grid=_b33.grid; +if(!$.isArray(_b32)){ +_b32=_b32.split(opts.separator); +} +if(!opts.multiple){ +_b32=_b32.length?[_b32[0]]:[""]; +} +var vv=$.map(_b32,function(_b34){ +return String(_b34); +}); +vv=$.grep(vv,function(v,_b35){ +return _b35===$.inArray(v,vv); +}); +var _b36=grid.treegrid("getSelected"); +if(_b36){ +grid.treegrid("unselect",_b36[opts.idField]); +} +$.map(grid.treegrid("getCheckedNodes"),function(row){ +if($.inArray(String(row[opts.idField]),vv)==-1){ +grid.treegrid("uncheckNode",row[opts.idField]); +} +}); +var ss=[]; +opts.unselectedValues=[]; +$.map(vv,function(v){ +var row=grid.treegrid("find",v); +if(row){ +if(opts.multiple){ +grid.treegrid("checkNode",v); +}else{ +grid.treegrid("select",v); +} +ss.push(_b37(row)); +}else{ +ss.push(_b38(v,opts.mappingRows)||v); +opts.unselectedValues.push(v); +} +}); +if(opts.multiple){ +$.map(grid.treegrid("getCheckedNodes"),function(row){ +var id=String(row[opts.idField]); +if($.inArray(id,vv)==-1){ +vv.push(id); +ss.push(_b37(row)); +} +}); +} +if(!_b33.remainText){ +var s=ss.join(opts.separator); +if($(_b31).combo("getText")!=s){ +$(_b31).combo("setText",s); +} +} +$(_b31).combo("setValues",vv); +function _b38(_b39,a){ +var item=$.easyui.getArrayItem(a,opts.idField,_b39); +return item?_b37(item):undefined; +}; +function _b37(row){ +return row[opts.textField||""]||row[opts.treeField]; +}; +}; +function _b3a(_b3b,q){ +var _b3c=$.data(_b3b,"combotreegrid"); +var opts=_b3c.options; +var grid=_b3c.grid; +_b3c.remainText=true; +grid.treegrid("clearSelections").treegrid("clearChecked").treegrid("highlightRow",-1); +if(opts.mode=="remote"){ +$(_b3b).combotreegrid("clear"); +grid.treegrid("load",$.extend({},opts.queryParams,{q:q})); +}else{ +if(q){ +var data=grid.treegrid("getData"); +var vv=[]; +var qq=opts.multiple?q.split(opts.separator):[q]; +$.map(qq,function(q){ +q=$.trim(q); +if(q){ +var v=undefined; +$.easyui.forEach(data,true,function(row){ +if(q.toLowerCase()==String(row[opts.treeField]).toLowerCase()){ +v=row[opts.idField]; +return false; +}else{ +if(opts.filter.call(_b3b,q,row)){ +grid.treegrid("expandTo",row[opts.idField]); +grid.treegrid("highlightRow",row[opts.idField]); +return false; +} +} +}); +if(v==undefined){ +$.easyui.forEach(opts.mappingRows,false,function(row){ +if(q.toLowerCase()==String(row[opts.treeField])){ +v=row[opts.idField]; +return false; +} +}); +} +if(v!=undefined){ +vv.push(v); +} +} +}); +_b30(_b3b,vv); +_b3c.remainText=false; +} +} +}; +function _b3d(_b3e){ +_b2d(_b3e); +}; +$.fn.combotreegrid=function(_b3f,_b40){ +if(typeof _b3f=="string"){ +var _b41=$.fn.combotreegrid.methods[_b3f]; +if(_b41){ +return _b41(this,_b40); +}else{ +return this.combo(_b3f,_b40); +} +} +_b3f=_b3f||{}; +return this.each(function(){ +var _b42=$.data(this,"combotreegrid"); +if(_b42){ +$.extend(_b42.options,_b3f); +}else{ +_b42=$.data(this,"combotreegrid",{options:$.extend({},$.fn.combotreegrid.defaults,$.fn.combotreegrid.parseOptions(this),_b3f)}); +} +_b24(this); +}); +}; +$.fn.combotreegrid.methods={options:function(jq){ +var _b43=jq.combo("options"); +return $.extend($.data(jq[0],"combotreegrid").options,{width:_b43.width,height:_b43.height,originalValue:_b43.originalValue,disabled:_b43.disabled,readonly:_b43.readonly}); +},grid:function(jq){ +return $.data(jq[0],"combotreegrid").grid; +},setValues:function(jq,_b44){ +return jq.each(function(){ +var opts=$(this).combotreegrid("options"); +if($.isArray(_b44)){ +_b44=$.map(_b44,function(_b45){ +if(_b45&&typeof _b45=="object"){ +$.easyui.addArrayItem(opts.mappingRows,opts.idField,_b45); +return _b45[opts.idField]; +}else{ +return _b45; +} +}); +} +_b30(this,_b44); +}); +},setValue:function(jq,_b46){ +return jq.each(function(){ +$(this).combotreegrid("setValues",$.isArray(_b46)?_b46:[_b46]); +}); +},clear:function(jq){ +return jq.each(function(){ +$(this).combotreegrid("setValues",[]); +}); +},reset:function(jq){ +return jq.each(function(){ +var opts=$(this).combotreegrid("options"); +if(opts.multiple){ +$(this).combotreegrid("setValues",opts.originalValue); +}else{ +$(this).combotreegrid("setValue",opts.originalValue); +} +}); +}}; +$.fn.combotreegrid.parseOptions=function(_b47){ +var t=$(_b47); +return $.extend({},$.fn.combo.parseOptions(_b47),$.fn.treegrid.parseOptions(_b47),$.parser.parseOptions(_b47,["mode",{limitToGrid:"boolean"}])); +}; +$.fn.combotreegrid.defaults=$.extend({},$.fn.combo.defaults,$.fn.treegrid.defaults,{editable:false,singleSelect:true,limitToGrid:false,unselectedValues:[],mappingRows:[],mode:"local",textField:null,keyHandler:{up:function(e){ +},down:function(e){ +},left:function(e){ +},right:function(e){ +},enter:function(e){ +_b3d(this); +},query:function(q,e){ +_b3a(this,q); +}},inputEvents:$.extend({},$.fn.combo.defaults.inputEvents,{blur:function(e){ +var _b48=e.data.target; +var opts=$(_b48).combotreegrid("options"); +if(opts.limitToGrid){ +_b3d(_b48); +} +}}),filter:function(q,row){ +var opts=$(this).combotreegrid("options"); +return (row[opts.treeField]||"").toLowerCase().indexOf(q.toLowerCase())>=0; +}}); +})(jQuery); +(function($){ +function _b49(_b4a){ +var _b4b=$.data(_b4a,"tagbox"); +var opts=_b4b.options; +$(_b4a).addClass("tagbox-f").combobox($.extend({},opts,{cls:"tagbox",reversed:true,onChange:function(_b4c,_b4d){ +_b4e(); +$(this).combobox("hidePanel"); +opts.onChange.call(_b4a,_b4c,_b4d); +},onResizing:function(_b4f,_b50){ +var _b51=$(this).combobox("textbox"); +var tb=$(this).data("textbox").textbox; +tb.css({height:"",paddingLeft:_b51.css("marginLeft"),paddingRight:_b51.css("marginRight")}); +_b51.css("margin",0); +tb._size({width:opts.width},$(this).parent()); +_b64(_b4a); +_b56(this); +opts.onResizing.call(_b4a,_b4f,_b50); +},onLoadSuccess:function(data){ +_b4e(); +opts.onLoadSuccess.call(_b4a,data); +}})); +_b4e(); +_b64(_b4a); +function _b4e(){ +$(_b4a).next().find(".tagbox-label").remove(); +var _b52=$(_b4a).tagbox("textbox"); +var ss=[]; +$.map($(_b4a).tagbox("getValues"),function(_b53,_b54){ +var row=opts.finder.getRow(_b4a,_b53); +var text=opts.tagFormatter.call(_b4a,_b53,row); +var cs={}; +var css=opts.tagStyler.call(_b4a,_b53,row)||""; +if(typeof css=="string"){ +cs={s:css}; +}else{ +cs={c:css["class"]||"",s:css["style"]||""}; +} +var _b55=$("").insertBefore(_b52).html(text); +_b55.attr("tagbox-index",_b54); +_b55.attr("style",cs.s).addClass(cs.c); +$("").appendTo(_b55); +}); +_b56(_b4a); +$(_b4a).combobox("setText",""); +}; +}; +function _b56(_b57,_b58){ +var span=$(_b57).next(); +var _b59=_b58?$(_b58):span.find(".tagbox-label"); +if(_b59.length){ +var _b5a=$(_b57).tagbox("textbox"); +var _b5b=$(_b59[0]); +var _b5c=_b5b.outerHeight(true)-_b5b.outerHeight(); +var _b5d=_b5a.outerHeight()-_b5c*2; +_b59.css({height:_b5d+"px",lineHeight:_b5d+"px"}); +var _b5e=span.find(".textbox-addon").css("height","100%"); +_b5e.find(".textbox-icon").css("height","100%"); +span.find(".textbox-button").linkbutton("resize",{height:"100%"}); +} +}; +function _b5f(_b60){ +var span=$(_b60).next(); +span.unbind(".tagbox").bind("click.tagbox",function(e){ +var opts=$(_b60).tagbox("options"); +if(opts.disabled||opts.readonly){ +return; +} +if($(e.target).hasClass("tagbox-remove")){ +var _b61=parseInt($(e.target).parent().attr("tagbox-index")); +var _b62=$(_b60).tagbox("getValues"); +if(opts.onBeforeRemoveTag.call(_b60,_b62[_b61])==false){ +return; +} +opts.onRemoveTag.call(_b60,_b62[_b61]); +_b62.splice(_b61,1); +$(_b60).tagbox("setValues",_b62); +}else{ +var _b63=$(e.target).closest(".tagbox-label"); +if(_b63.length){ +var _b61=parseInt(_b63.attr("tagbox-index")); +var _b62=$(_b60).tagbox("getValues"); +opts.onClickTag.call(_b60,_b62[_b61]); +} +} +$(this).find(".textbox-text").focus(); +}).bind("keyup.tagbox",function(e){ +_b64(_b60); +}).bind("mouseover.tagbox",function(e){ +if($(e.target).closest(".textbox-button,.textbox-addon,.tagbox-label").length){ +$(this).triggerHandler("mouseleave"); +}else{ +$(this).find(".textbox-text").triggerHandler("mouseenter"); +} +}).bind("mouseleave.tagbox",function(e){ +$(this).find(".textbox-text").triggerHandler("mouseleave"); +}); +}; +function _b64(_b65){ +var opts=$(_b65).tagbox("options"); +var _b66=$(_b65).tagbox("textbox"); +var span=$(_b65).next(); +var tmp=$("").appendTo("body"); +tmp.attr("style",_b66.attr("style")); +tmp.css({position:"absolute",top:-9999,left:-9999,width:"auto",fontFamily:_b66.css("fontFamily"),fontSize:_b66.css("fontSize"),fontWeight:_b66.css("fontWeight"),whiteSpace:"nowrap"}); +var _b67=_b68(_b66.val()); +var _b69=_b68(opts.prompt||""); +tmp.remove(); +var _b6a=Math.min(Math.max(_b67,_b69)+20,span.width()); +_b66._outerWidth(_b6a); +span.find(".textbox-button").linkbutton("resize",{height:"100%"}); +function _b68(val){ +var s=val.replace(/&/g,"&").replace(/\s/g," ").replace(//g,">"); +tmp.html(s); +return tmp.outerWidth(); +}; +}; +function _b6b(_b6c){ +var t=$(_b6c); +var opts=t.tagbox("options"); +if(opts.limitToList){ +var _b6d=t.tagbox("panel"); +var item=_b6d.children("div.combobox-item-hover"); +if(item.length){ +item.removeClass("combobox-item-hover"); +var row=opts.finder.getRow(_b6c,item); +var _b6e=row[opts.valueField]; +$(_b6c).tagbox(item.hasClass("combobox-item-selected")?"unselect":"select",_b6e); +} +$(_b6c).tagbox("hidePanel"); +}else{ +var v=$.trim($(_b6c).tagbox("getText")); +if(v!==""){ +var _b6f=$(_b6c).tagbox("getValues"); +_b6f.push(v); +$(_b6c).tagbox("setValues",_b6f); +} +} +}; +function _b70(_b71,_b72){ +$(_b71).combobox("setText",""); +_b64(_b71); +$(_b71).combobox("setValues",_b72); +$(_b71).combobox("setText",""); +$(_b71).tagbox("validate"); +}; +$.fn.tagbox=function(_b73,_b74){ +if(typeof _b73=="string"){ +var _b75=$.fn.tagbox.methods[_b73]; +if(_b75){ +return _b75(this,_b74); +}else{ +return this.combobox(_b73,_b74); +} +} +_b73=_b73||{}; +return this.each(function(){ +var _b76=$.data(this,"tagbox"); +if(_b76){ +$.extend(_b76.options,_b73); +}else{ +$.data(this,"tagbox",{options:$.extend({},$.fn.tagbox.defaults,$.fn.tagbox.parseOptions(this),_b73)}); +} +_b49(this); +_b5f(this); +}); +}; +$.fn.tagbox.methods={options:function(jq){ +var _b77=jq.combobox("options"); +return $.extend($.data(jq[0],"tagbox").options,{width:_b77.width,height:_b77.height,originalValue:_b77.originalValue,disabled:_b77.disabled,readonly:_b77.readonly}); +},setValues:function(jq,_b78){ +return jq.each(function(){ +_b70(this,_b78); +}); +}}; +$.fn.tagbox.parseOptions=function(_b79){ +return $.extend({},$.fn.combobox.parseOptions(_b79),$.parser.parseOptions(_b79,[])); +}; +$.fn.tagbox.defaults=$.extend({},$.fn.combobox.defaults,{hasDownArrow:false,multiple:true,reversed:true,selectOnNavigation:false,tipOptions:$.extend({},$.fn.textbox.defaults.tipOptions,{showDelay:200}),val:function(_b7a){ +var vv=$(_b7a).parent().prev().tagbox("getValues"); +if($(_b7a).is(":focus")){ +vv.push($(_b7a).val()); +} +return vv.join(","); +},inputEvents:$.extend({},$.fn.combo.defaults.inputEvents,{blur:function(e){ +var _b7b=e.data.target; +var opts=$(_b7b).tagbox("options"); +if(opts.limitToList){ +_b6b(_b7b); +} +}}),keyHandler:$.extend({},$.fn.combobox.defaults.keyHandler,{enter:function(e){ +_b6b(this); +},query:function(q,e){ +var opts=$(this).tagbox("options"); +if(opts.limitToList){ +$.fn.combobox.defaults.keyHandler.query.call(this,q,e); +}else{ +$(this).combobox("hidePanel"); +} +}}),tagFormatter:function(_b7c,row){ +var opts=$(this).tagbox("options"); +return row?row[opts.textField]:_b7c; +},tagStyler:function(_b7d,row){ +return ""; +},onClickTag:function(_b7e){ +},onBeforeRemoveTag:function(_b7f){ +},onRemoveTag:function(_b80){ +}}); +})(jQuery); +(function($){ +function _b81(_b82){ +var _b83=$.data(_b82,"datebox"); +var opts=_b83.options; +$(_b82).addClass("datebox-f").combo($.extend({},opts,{onShowPanel:function(){ +_b84(this); +_b85(this); +_b86(this); +_b94(this,$(this).datebox("getText"),true); +opts.onShowPanel.call(this); +}})); +if(!_b83.calendar){ +var _b87=$(_b82).combo("panel").css("overflow","hidden"); +_b87.panel("options").onBeforeDestroy=function(){ +var c=$(this).find(".calendar-shared"); +if(c.length){ +c.insertBefore(c[0].pholder); +} +}; +var cc=$("
          ").prependTo(_b87); +if(opts.sharedCalendar){ +var c=$(opts.sharedCalendar); +if(!c[0].pholder){ +c[0].pholder=$("
          ").insertAfter(c); +} +c.addClass("calendar-shared").appendTo(cc); +if(!c.hasClass("calendar")){ +c.calendar(); +} +_b83.calendar=c; +}else{ +_b83.calendar=$("
          ").appendTo(cc).calendar(); +} +$.extend(_b83.calendar.calendar("options"),{fit:true,border:false,onSelect:function(date){ +var _b88=this.target; +var opts=$(_b88).datebox("options"); +_b94(_b88,opts.formatter.call(_b88,date)); +$(_b88).combo("hidePanel"); +opts.onSelect.call(_b88,date); +}}); +} +$(_b82).combo("textbox").parent().addClass("datebox"); +$(_b82).datebox("initValue",opts.value); +function _b84(_b89){ +var opts=$(_b89).datebox("options"); +var _b8a=$(_b89).combo("panel"); +_b8a.unbind(".datebox").bind("click.datebox",function(e){ +if($(e.target).hasClass("datebox-button-a")){ +var _b8b=parseInt($(e.target).attr("datebox-button-index")); +opts.buttons[_b8b].handler.call(e.target,_b89); +} +}); +}; +function _b85(_b8c){ +var _b8d=$(_b8c).combo("panel"); +if(_b8d.children("div.datebox-button").length){ +return; +} +var _b8e=$("
          ").appendTo(_b8d); +var tr=_b8e.find("tr"); +for(var i=0;i").appendTo(tr); +var btn=opts.buttons[i]; +var t=$("").html($.isFunction(btn.text)?btn.text(_b8c):btn.text).appendTo(td); +t.attr("datebox-button-index",i); +} +tr.find("td").css("width",(100/opts.buttons.length)+"%"); +}; +function _b86(_b8f){ +var _b90=$(_b8f).combo("panel"); +var cc=_b90.children("div.datebox-calendar-inner"); +_b90.children()._outerWidth(_b90.width()); +_b83.calendar.appendTo(cc); +_b83.calendar[0].target=_b8f; +if(opts.panelHeight!="auto"){ +var _b91=_b90.height(); +_b90.children().not(cc).each(function(){ +_b91-=$(this).outerHeight(); +}); +cc._outerHeight(_b91); +} +_b83.calendar.calendar("resize"); +}; +}; +function _b92(_b93,q){ +_b94(_b93,q,true); +}; +function _b95(_b96){ +var _b97=$.data(_b96,"datebox"); +var opts=_b97.options; +var _b98=_b97.calendar.calendar("options").current; +if(_b98){ +_b94(_b96,opts.formatter.call(_b96,_b98)); +$(_b96).combo("hidePanel"); +} +}; +function _b94(_b99,_b9a,_b9b){ +var _b9c=$.data(_b99,"datebox"); +var opts=_b9c.options; +var _b9d=_b9c.calendar; +_b9d.calendar("moveTo",opts.parser.call(_b99,_b9a)); +if(_b9b){ +$(_b99).combo("setValue",_b9a); +}else{ +if(_b9a){ +_b9a=opts.formatter.call(_b99,_b9d.calendar("options").current); +} +$(_b99).combo("setText",_b9a).combo("setValue",_b9a); +} +}; +$.fn.datebox=function(_b9e,_b9f){ +if(typeof _b9e=="string"){ +var _ba0=$.fn.datebox.methods[_b9e]; +if(_ba0){ +return _ba0(this,_b9f); +}else{ +return this.combo(_b9e,_b9f); +} +} +_b9e=_b9e||{}; +return this.each(function(){ +var _ba1=$.data(this,"datebox"); +if(_ba1){ +$.extend(_ba1.options,_b9e); +}else{ +$.data(this,"datebox",{options:$.extend({},$.fn.datebox.defaults,$.fn.datebox.parseOptions(this),_b9e)}); +} +_b81(this); +}); +}; +$.fn.datebox.methods={options:function(jq){ +var _ba2=jq.combo("options"); +return $.extend($.data(jq[0],"datebox").options,{width:_ba2.width,height:_ba2.height,originalValue:_ba2.originalValue,disabled:_ba2.disabled,readonly:_ba2.readonly}); +},cloneFrom:function(jq,from){ +return jq.each(function(){ +$(this).combo("cloneFrom",from); +$.data(this,"datebox",{options:$.extend(true,{},$(from).datebox("options")),calendar:$(from).datebox("calendar")}); +$(this).addClass("datebox-f"); +}); +},calendar:function(jq){ +return $.data(jq[0],"datebox").calendar; +},initValue:function(jq,_ba3){ +return jq.each(function(){ +var opts=$(this).datebox("options"); +var _ba4=opts.value; +if(_ba4){ +_ba4=opts.formatter.call(this,opts.parser.call(this,_ba4)); +} +$(this).combo("initValue",_ba4).combo("setText",_ba4); +}); +},setValue:function(jq,_ba5){ +return jq.each(function(){ +_b94(this,_ba5); +}); +},reset:function(jq){ +return jq.each(function(){ +var opts=$(this).datebox("options"); +$(this).datebox("setValue",opts.originalValue); +}); +}}; +$.fn.datebox.parseOptions=function(_ba6){ +return $.extend({},$.fn.combo.parseOptions(_ba6),$.parser.parseOptions(_ba6,["sharedCalendar"])); +}; +$.fn.datebox.defaults=$.extend({},$.fn.combo.defaults,{panelWidth:180,panelHeight:"auto",sharedCalendar:null,keyHandler:{up:function(e){ +},down:function(e){ +},left:function(e){ +},right:function(e){ +},enter:function(e){ +_b95(this); +},query:function(q,e){ +_b92(this,q); +}},currentText:"Today",closeText:"Close",okText:"Ok",buttons:[{text:function(_ba7){ +return $(_ba7).datebox("options").currentText; +},handler:function(_ba8){ +var now=new Date(); +$(_ba8).datebox("calendar").calendar({year:now.getFullYear(),month:now.getMonth()+1,current:new Date(now.getFullYear(),now.getMonth(),now.getDate())}); +_b95(_ba8); +}},{text:function(_ba9){ +return $(_ba9).datebox("options").closeText; +},handler:function(_baa){ +$(this).closest("div.combo-panel").panel("close"); +}}],formatter:function(date){ +var y=date.getFullYear(); +var m=date.getMonth()+1; +var d=date.getDate(); +return (m<10?("0"+m):m)+"/"+(d<10?("0"+d):d)+"/"+y; +},parser:function(s){ +if(!s){ +return new Date(); +} +var ss=s.split("/"); +var m=parseInt(ss[0],10); +var d=parseInt(ss[1],10); +var y=parseInt(ss[2],10); +if(!isNaN(y)&&!isNaN(m)&&!isNaN(d)){ +return new Date(y,m-1,d); +}else{ +return new Date(); +} +},onSelect:function(date){ +}}); +})(jQuery); +(function($){ +function _bab(_bac){ +var _bad=$.data(_bac,"datetimebox"); +var opts=_bad.options; +$(_bac).datebox($.extend({},opts,{onShowPanel:function(){ +var _bae=$(this).datetimebox("getValue"); +_bb4(this,_bae,true); +opts.onShowPanel.call(this); +},formatter:$.fn.datebox.defaults.formatter,parser:$.fn.datebox.defaults.parser})); +$(_bac).removeClass("datebox-f").addClass("datetimebox-f"); +$(_bac).datebox("calendar").calendar({onSelect:function(date){ +opts.onSelect.call(this.target,date); +}}); +if(!_bad.spinner){ +var _baf=$(_bac).datebox("panel"); +var p=$("
          ").insertAfter(_baf.children("div.datebox-calendar-inner")); +_bad.spinner=p.children("input"); +} +_bad.spinner.timespinner({width:opts.spinnerWidth,showSeconds:opts.showSeconds,separator:opts.timeSeparator}); +$(_bac).datetimebox("initValue",opts.value); +}; +function _bb0(_bb1){ +var c=$(_bb1).datetimebox("calendar"); +var t=$(_bb1).datetimebox("spinner"); +var date=c.calendar("options").current; +return new Date(date.getFullYear(),date.getMonth(),date.getDate(),t.timespinner("getHours"),t.timespinner("getMinutes"),t.timespinner("getSeconds")); +}; +function _bb2(_bb3,q){ +_bb4(_bb3,q,true); +}; +function _bb5(_bb6){ +var opts=$.data(_bb6,"datetimebox").options; +var date=_bb0(_bb6); +_bb4(_bb6,opts.formatter.call(_bb6,date)); +$(_bb6).combo("hidePanel"); +}; +function _bb4(_bb7,_bb8,_bb9){ +var opts=$.data(_bb7,"datetimebox").options; +$(_bb7).combo("setValue",_bb8); +if(!_bb9){ +if(_bb8){ +var date=opts.parser.call(_bb7,_bb8); +$(_bb7).combo("setText",opts.formatter.call(_bb7,date)); +$(_bb7).combo("setValue",opts.formatter.call(_bb7,date)); +}else{ +$(_bb7).combo("setText",_bb8); +} +} +var date=opts.parser.call(_bb7,_bb8); +$(_bb7).datetimebox("calendar").calendar("moveTo",date); +$(_bb7).datetimebox("spinner").timespinner("setValue",_bba(date)); +function _bba(date){ +function _bbb(_bbc){ +return (_bbc<10?"0":"")+_bbc; +}; +var tt=[_bbb(date.getHours()),_bbb(date.getMinutes())]; +if(opts.showSeconds){ +tt.push(_bbb(date.getSeconds())); +} +return tt.join($(_bb7).datetimebox("spinner").timespinner("options").separator); +}; +}; +$.fn.datetimebox=function(_bbd,_bbe){ +if(typeof _bbd=="string"){ +var _bbf=$.fn.datetimebox.methods[_bbd]; +if(_bbf){ +return _bbf(this,_bbe); +}else{ +return this.datebox(_bbd,_bbe); +} +} +_bbd=_bbd||{}; +return this.each(function(){ +var _bc0=$.data(this,"datetimebox"); +if(_bc0){ +$.extend(_bc0.options,_bbd); +}else{ +$.data(this,"datetimebox",{options:$.extend({},$.fn.datetimebox.defaults,$.fn.datetimebox.parseOptions(this),_bbd)}); +} +_bab(this); +}); +}; +$.fn.datetimebox.methods={options:function(jq){ +var _bc1=jq.datebox("options"); +return $.extend($.data(jq[0],"datetimebox").options,{originalValue:_bc1.originalValue,disabled:_bc1.disabled,readonly:_bc1.readonly}); +},cloneFrom:function(jq,from){ +return jq.each(function(){ +$(this).datebox("cloneFrom",from); +$.data(this,"datetimebox",{options:$.extend(true,{},$(from).datetimebox("options")),spinner:$(from).datetimebox("spinner")}); +$(this).removeClass("datebox-f").addClass("datetimebox-f"); +}); +},spinner:function(jq){ +return $.data(jq[0],"datetimebox").spinner; +},initValue:function(jq,_bc2){ +return jq.each(function(){ +var opts=$(this).datetimebox("options"); +var _bc3=opts.value; +if(_bc3){ +_bc3=opts.formatter.call(this,opts.parser.call(this,_bc3)); +} +$(this).combo("initValue",_bc3).combo("setText",_bc3); +}); +},setValue:function(jq,_bc4){ +return jq.each(function(){ +_bb4(this,_bc4); +}); +},reset:function(jq){ +return jq.each(function(){ +var opts=$(this).datetimebox("options"); +$(this).datetimebox("setValue",opts.originalValue); +}); +}}; +$.fn.datetimebox.parseOptions=function(_bc5){ +var t=$(_bc5); +return $.extend({},$.fn.datebox.parseOptions(_bc5),$.parser.parseOptions(_bc5,["timeSeparator","spinnerWidth",{showSeconds:"boolean"}])); +}; +$.fn.datetimebox.defaults=$.extend({},$.fn.datebox.defaults,{spinnerWidth:"100%",showSeconds:true,timeSeparator:":",keyHandler:{up:function(e){ +},down:function(e){ +},left:function(e){ +},right:function(e){ +},enter:function(e){ +_bb5(this); +},query:function(q,e){ +_bb2(this,q); +}},buttons:[{text:function(_bc6){ +return $(_bc6).datetimebox("options").currentText; +},handler:function(_bc7){ +var opts=$(_bc7).datetimebox("options"); +_bb4(_bc7,opts.formatter.call(_bc7,new Date())); +$(_bc7).datetimebox("hidePanel"); +}},{text:function(_bc8){ +return $(_bc8).datetimebox("options").okText; +},handler:function(_bc9){ +_bb5(_bc9); +}},{text:function(_bca){ +return $(_bca).datetimebox("options").closeText; +},handler:function(_bcb){ +$(_bcb).datetimebox("hidePanel"); +}}],formatter:function(date){ +var h=date.getHours(); +var M=date.getMinutes(); +var s=date.getSeconds(); +function _bcc(_bcd){ +return (_bcd<10?"0":"")+_bcd; +}; +var _bce=$(this).datetimebox("spinner").timespinner("options").separator; +var r=$.fn.datebox.defaults.formatter(date)+" "+_bcc(h)+_bce+_bcc(M); +if($(this).datetimebox("options").showSeconds){ +r+=_bce+_bcc(s); +} +return r; +},parser:function(s){ +if($.trim(s)==""){ +return new Date(); +} +var dt=s.split(" "); +var d=$.fn.datebox.defaults.parser(dt[0]); +if(dt.length<2){ +return d; +} +var _bcf=$(this).datetimebox("spinner").timespinner("options").separator; +var tt=dt[1].split(_bcf); +var hour=parseInt(tt[0],10)||0; +var _bd0=parseInt(tt[1],10)||0; +var _bd1=parseInt(tt[2],10)||0; +return new Date(d.getFullYear(),d.getMonth(),d.getDate(),hour,_bd0,_bd1); +}}); +})(jQuery); +(function($){ +function init(_bd2){ +var _bd3=$("
          "+"
          "+""+""+"
          "+"
          "+"
          "+"
          "+""+"
          ").insertAfter(_bd2); +var t=$(_bd2); +t.addClass("slider-f").hide(); +var name=t.attr("name"); +if(name){ +_bd3.find("input.slider-value").attr("name",name); +t.removeAttr("name").attr("sliderName",name); +} +_bd3.bind("_resize",function(e,_bd4){ +if($(this).hasClass("easyui-fluid")||_bd4){ +_bd5(_bd2); +} +return false; +}); +return _bd3; +}; +function _bd5(_bd6,_bd7){ +var _bd8=$.data(_bd6,"slider"); +var opts=_bd8.options; +var _bd9=_bd8.slider; +if(_bd7){ +if(_bd7.width){ +opts.width=_bd7.width; +} +if(_bd7.height){ +opts.height=_bd7.height; +} +} +_bd9._size(opts); +if(opts.mode=="h"){ +_bd9.css("height",""); +_bd9.children("div").css("height",""); +}else{ +_bd9.css("width",""); +_bd9.children("div").css("width",""); +_bd9.children("div.slider-rule,div.slider-rulelabel,div.slider-inner")._outerHeight(_bd9._outerHeight()); +} +_bda(_bd6); +}; +function _bdb(_bdc){ +var _bdd=$.data(_bdc,"slider"); +var opts=_bdd.options; +var _bde=_bdd.slider; +var aa=opts.mode=="h"?opts.rule:opts.rule.slice(0).reverse(); +if(opts.reversed){ +aa=aa.slice(0).reverse(); +} +_bdf(aa); +function _bdf(aa){ +var rule=_bde.find("div.slider-rule"); +var _be0=_bde.find("div.slider-rulelabel"); +rule.empty(); +_be0.empty(); +for(var i=0;i").appendTo(rule); +span.css((opts.mode=="h"?"left":"top"),_be1); +if(aa[i]!="|"){ +span=$("").appendTo(_be0); +span.html(aa[i]); +if(opts.mode=="h"){ +span.css({left:_be1,marginLeft:-Math.round(span.outerWidth()/2)}); +}else{ +span.css({top:_be1,marginTop:-Math.round(span.outerHeight()/2)}); +} +} +} +}; +}; +function _be2(_be3){ +var _be4=$.data(_be3,"slider"); +var opts=_be4.options; +var _be5=_be4.slider; +_be5.removeClass("slider-h slider-v slider-disabled"); +_be5.addClass(opts.mode=="h"?"slider-h":"slider-v"); +_be5.addClass(opts.disabled?"slider-disabled":""); +var _be6=_be5.find(".slider-inner"); +_be6.html(""+""); +if(opts.range){ +_be6.append(""+""); +} +_be5.find("a.slider-handle").draggable({axis:opts.mode,cursor:"pointer",disabled:opts.disabled,onDrag:function(e){ +var left=e.data.left; +var _be7=_be5.width(); +if(opts.mode!="h"){ +left=e.data.top; +_be7=_be5.height(); +} +if(left<0||left>_be7){ +return false; +}else{ +_be8(left,this); +return false; +} +},onStartDrag:function(){ +_be4.isDragging=true; +opts.onSlideStart.call(_be3,opts.value); +},onStopDrag:function(e){ +_be8(opts.mode=="h"?e.data.left:e.data.top,this); +opts.onSlideEnd.call(_be3,opts.value); +opts.onComplete.call(_be3,opts.value); +_be4.isDragging=false; +}}); +_be5.find("div.slider-inner").unbind(".slider").bind("mousedown.slider",function(e){ +if(_be4.isDragging||opts.disabled){ +return; +} +var pos=$(this).offset(); +_be8(opts.mode=="h"?(e.pageX-pos.left):(e.pageY-pos.top)); +opts.onComplete.call(_be3,opts.value); +}); +function _be8(pos,_be9){ +var _bea=_beb(_be3,pos); +var s=Math.abs(_bea%opts.step); +if(s0; +if(_bea<=v2&&_bec){ +v1=_bea; +}else{ +if(_bea>=v1&&(!_bec)){ +v2=_bea; +} +} +}else{ +if(_beav2){ +v2=_bea; +}else{ +_beaopts.max){ +_bf4=opts.max; +} +var _bf5=$("").appendTo(_bf1); +_bf5.attr("name",name); +_bf5.val(_bf4); +_bf3.push(_bf4); +var _bf6=_bf1.find(".slider-handle:eq("+i+")"); +var tip=_bf6.next(); +var pos=_bf7(_bee,_bf4); +if(opts.showTip){ +tip.show(); +tip.html(opts.tipFormatter.call(_bee,_bf4)); +}else{ +tip.hide(); +} +if(opts.mode=="h"){ +var _bf8="left:"+pos+"px;"; +_bf6.attr("style",_bf8); +tip.attr("style",_bf8+"margin-left:"+(-Math.round(tip.outerWidth()/2))+"px"); +}else{ +var _bf8="top:"+pos+"px;"; +_bf6.attr("style",_bf8); +tip.attr("style",_bf8+"margin-left:"+(-Math.round(tip.outerWidth()))+"px"); +} +} +opts.value=opts.range?_bf3:_bf3[0]; +$(_bee).val(opts.range?_bf3.join(opts.separator):_bf3[0]); +if(_bf2.join(",")!=_bf3.join(",")){ +opts.onChange.call(_bee,opts.value,(opts.range?_bf2:_bf2[0])); +} +}; +function _bda(_bf9){ +var opts=$.data(_bf9,"slider").options; +var fn=opts.onChange; +opts.onChange=function(){ +}; +_bed(_bf9,opts.value); +opts.onChange=fn; +}; +function _bf7(_bfa,_bfb){ +var _bfc=$.data(_bfa,"slider"); +var opts=_bfc.options; +var _bfd=_bfc.slider; +var size=opts.mode=="h"?_bfd.width():_bfd.height(); +var pos=opts.converter.toPosition.call(_bfa,_bfb,size); +if(opts.mode=="v"){ +pos=_bfd.height()-pos; +} +if(opts.reversed){ +pos=size-pos; +} +return pos.toFixed(0); +}; +function _beb(_bfe,pos){ +var _bff=$.data(_bfe,"slider"); +var opts=_bff.options; +var _c00=_bff.slider; +var size=opts.mode=="h"?_c00.width():_c00.height(); +var pos=opts.mode=="h"?(opts.reversed?(size-pos):pos):(opts.reversed?pos:(size-pos)); +var _c01=opts.converter.toValue.call(_bfe,pos,size); +return _c01.toFixed(0); +}; +$.fn.slider=function(_c02,_c03){ +if(typeof _c02=="string"){ +return $.fn.slider.methods[_c02](this,_c03); +} +_c02=_c02||{}; +return this.each(function(){ +var _c04=$.data(this,"slider"); +if(_c04){ +$.extend(_c04.options,_c02); +}else{ +_c04=$.data(this,"slider",{options:$.extend({},$.fn.slider.defaults,$.fn.slider.parseOptions(this),_c02),slider:init(this)}); +$(this).removeAttr("disabled"); +} +var opts=_c04.options; +opts.min=parseFloat(opts.min); +opts.max=parseFloat(opts.max); +if(opts.range){ +if(!$.isArray(opts.value)){ +opts.value=$.map(String(opts.value).split(opts.separator),function(v){ +return parseFloat(v); +}); +} +if(opts.value.length<2){ +opts.value.push(opts.max); +} +}else{ +opts.value=parseFloat(opts.value); +} +opts.step=parseFloat(opts.step); +opts.originalValue=opts.value; +_be2(this); +_bdb(this); +_bd5(this); +}); +}; +$.fn.slider.methods={options:function(jq){ +return $.data(jq[0],"slider").options; +},destroy:function(jq){ +return jq.each(function(){ +$.data(this,"slider").slider.remove(); +$(this).remove(); +}); +},resize:function(jq,_c05){ +return jq.each(function(){ +_bd5(this,_c05); +}); +},getValue:function(jq){ +return jq.slider("options").value; +},getValues:function(jq){ +return jq.slider("options").value; +},setValue:function(jq,_c06){ +return jq.each(function(){ +_bed(this,[_c06]); +}); +},setValues:function(jq,_c07){ +return jq.each(function(){ +_bed(this,_c07); +}); +},clear:function(jq){ +return jq.each(function(){ +var opts=$(this).slider("options"); +_bed(this,opts.range?[opts.min,opts.max]:[opts.min]); +}); +},reset:function(jq){ +return jq.each(function(){ +var opts=$(this).slider("options"); +$(this).slider(opts.range?"setValues":"setValue",opts.originalValue); +}); +},enable:function(jq){ +return jq.each(function(){ +$.data(this,"slider").options.disabled=false; +_be2(this); +}); +},disable:function(jq){ +return jq.each(function(){ +$.data(this,"slider").options.disabled=true; +_be2(this); +}); +}}; +$.fn.slider.parseOptions=function(_c08){ +var t=$(_c08); +return $.extend({},$.parser.parseOptions(_c08,["width","height","mode",{reversed:"boolean",showTip:"boolean",range:"boolean",min:"number",max:"number",step:"number"}]),{value:(t.val()||undefined),disabled:(t.attr("disabled")?true:undefined),rule:(t.attr("rule")?eval(t.attr("rule")):undefined)}); +}; +$.fn.slider.defaults={width:"auto",height:"auto",mode:"h",reversed:false,showTip:false,disabled:false,range:false,value:0,separator:",",min:0,max:100,step:1,rule:[],tipFormatter:function(_c09){ +return _c09; +},converter:{toPosition:function(_c0a,size){ +var opts=$(this).slider("options"); +return (_c0a-opts.min)/(opts.max-opts.min)*size; +},toValue:function(pos,size){ +var opts=$(this).slider("options"); +return opts.min+(opts.max-opts.min)*(pos/size); +}},onChange:function(_c0b,_c0c){ +},onSlideStart:function(_c0d){ +},onSlideEnd:function(_c0e){ +},onComplete:function(_c0f){ +}}; +})(jQuery); + diff --git a/src/main/webapp/js/jquery.easyui.mobile.js b/src/main/webapp/js/jquery.easyui.mobile.js new file mode 100644 index 0000000..31f9702 --- /dev/null +++ b/src/main/webapp/js/jquery.easyui.mobile.js @@ -0,0 +1,141 @@ +/** + * jQuery EasyUI 1.5.2 + * + * Copyright (c) 2009-2017 www.jeasyui.com. All rights reserved. + * + * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php + * To use it on other terms please contact us: info@jeasyui.com + * + */ +(function($){ +$.fn.navpanel=function(_1,_2){ +if(typeof _1=="string"){ +var _3=$.fn.navpanel.methods[_1]; +return _3?_3(this,_2):this.panel(_1,_2); +}else{ +_1=_1||{}; +return this.each(function(){ +var _4=$.data(this,"navpanel"); +if(_4){ +$.extend(_4.options,_1); +}else{ +_4=$.data(this,"navpanel",{options:$.extend({},$.fn.navpanel.defaults,$.fn.navpanel.parseOptions(this),_1)}); +} +$(this).panel(_4.options); +}); +} +}; +$.fn.navpanel.methods={options:function(jq){ +return $.data(jq[0],"navpanel").options; +}}; +$.fn.navpanel.parseOptions=function(_5){ +return $.extend({},$.fn.panel.parseOptions(_5),$.parser.parseOptions(_5,[])); +}; +$.fn.navpanel.defaults=$.extend({},$.fn.panel.defaults,{fit:true,border:false,cls:"navpanel"}); +$.parser.plugins.push("navpanel"); +})(jQuery); +(function($){ +$(function(){ +$.mobile.init(); +}); +$.mobile={defaults:{animation:"slide",direction:"left",reverseDirections:{up:"down",down:"up",left:"right",right:"left"}},panels:[],init:function(_6){ +$.mobile.panels=[]; +var _7=$(_6||"body").children(".navpanel:visible"); +if(_7.length){ +_7.not(":first").children(".panel-body").navpanel("close"); +var p=_7.eq(0).children(".panel-body"); +$.mobile.panels.push({panel:p,animation:$.mobile.defaults.animation,direction:$.mobile.defaults.direction}); +} +$(document).unbind(".mobile").bind("click.mobile",function(e){ +var a=$(e.target).closest("a"); +if(a.length){ +var _8=$.parser.parseOptions(a[0],["animation","direction",{back:"boolean"}]); +if(_8.back){ +$.mobile.back(); +e.preventDefault(); +}else{ +var _9=$.trim(a.attr("href")); +if(/^#/.test(_9)){ +var to=$(_9); +if(to.length&&to.hasClass("panel-body")){ +$.mobile.go(to,_8.animation,_8.direction); +e.preventDefault(); +} +} +} +} +}); +$(window).unbind(".mobile").bind("hashchange.mobile",function(){ +var _a=$.mobile.panels.length; +if(_a>1){ +var _b=location.hash; +var p=$.mobile.panels[_a-2]; +if(!_b||_b=="#&"+p.panel.attr("id")){ +$.mobile._back(); +} +} +}); +},nav:function(_c,to,_d,_e){ +if(window.WebKitAnimationEvent){ +_d=_d!=undefined?_d:$.mobile.defaults.animation; +_e=_e!=undefined?_e:$.mobile.defaults.direction; +var _f="m-"+_d+(_e?"-"+_e:""); +var p1=$(_c).panel("open").panel("resize").panel("panel"); +var p2=$(to).panel("open").panel("resize").panel("panel"); +p1.add(p2).bind("webkitAnimationEnd",function(){ +$(this).unbind("webkitAnimationEnd"); +var p=$(this).children(".panel-body"); +if($(this).hasClass("m-in")){ +p.panel("open").panel("resize"); +}else{ +p.panel("close"); +} +$(this).removeClass(_f+" m-in m-out"); +}); +p2.addClass(_f+" m-in"); +p1.addClass(_f+" m-out"); +}else{ +$(to).panel("open").panel("resize"); +$(_c).panel("close"); +} +},_go:function(_10,_11,_12){ +_11=_11!=undefined?_11:$.mobile.defaults.animation; +_12=_12!=undefined?_12:$.mobile.defaults.direction; +var _13=$.mobile.panels[$.mobile.panels.length-1].panel; +var to=$(_10); +if(_13[0]!=to[0]){ +$.mobile.nav(_13,to,_11,_12); +$.mobile.panels.push({panel:to,animation:_11,direction:_12}); +} +},_back:function(){ +if($.mobile.panels.length<2){ +return; +} +var p1=$.mobile.panels.pop(); +var p2=$.mobile.panels[$.mobile.panels.length-1]; +var _14=p1.animation; +var _15=$.mobile.defaults.reverseDirections[p1.direction]||""; +$.mobile.nav(p1.panel,p2.panel,_14,_15); +},go:function(_16,_17,_18){ +_17=_17!=undefined?_17:$.mobile.defaults.animation; +_18=_18!=undefined?_18:$.mobile.defaults.direction; +location.hash="#&"+$(_16).attr("id"); +$.mobile._go(_16,_17,_18); +},back:function(){ +history.go(-1); +}}; +$.map(["validatebox","textbox","passwordbox","filebox","searchbox","combo","combobox","combogrid","combotree","combotreegrid","datebox","datetimebox","numberbox","spinner","numberspinner","timespinner","datetimespinner"],function(_19){ +if($.fn[_19]){ +$.extend($.fn[_19].defaults,{iconWidth:28,tipPosition:"bottom"}); +} +}); +$.map(["spinner","numberspinner","timespinner","datetimespinner"],function(_1a){ +if($.fn[_1a]){ +$.extend($.fn[_1a].defaults,{iconWidth:56,spinAlign:"horizontal"}); +} +}); +if($.fn.menu){ +$.extend($.fn.menu.defaults,{itemHeight:30,noline:true}); +} +})(jQuery); + diff --git a/src/main/webapp/js/jquery.jqprint-0.3.js b/src/main/webapp/js/jquery.jqprint-0.3.js new file mode 100644 index 0000000..c272a89 --- /dev/null +++ b/src/main/webapp/js/jquery.jqprint-0.3.js @@ -0,0 +1,74 @@ +// ----------------------------------------------------------------------- +// Eros Fratini - eros@recoding.it +// jqprint 0.3 +// +// - 19/06/2009 - some new implementations, added Opera support +// - 11/05/2009 - first sketch +// +// Printing plug-in for jQuery, evolution of jPrintArea: http://plugins.jquery.com/project/jPrintArea +// requires jQuery 1.3.x +// +// Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php +//------------------------------------------------------------------------ + +(function($) { + var opt; + + $.fn.jqprint = function (options) { + opt = $.extend({}, $.fn.jqprint.defaults, options); + + var $element = (this instanceof jQuery) ? this : $(this); + + if (opt.operaSupport && $.browser.opera) + { + var tab = window.open("","jqPrint-preview"); + tab.document.open(); + + var doc = tab.document; + } + else + { + var $iframe = $("").appendTo("body"); +_e.attr("src",window.ActiveXObject?"javascript:false":"about:blank"); +_e.css({position:"absolute",top:-1000,left:-1000}); +_e.bind("load",cb); +_f(_b); +function _f(_10){ +var _11=$(_a); +if(_c.url){ +_11.attr("action",_c.url); +} +var t=_11.attr("target"),a=_11.attr("action"); +_11.attr("target",_d); +var _12=$(); +try{ +for(var n in _10){ +var _13=$("").val(_10[n]).appendTo(_11); +_12=_12.add(_13); +} +_14(); +_11[0].submit(); +} +finally{ +_11.attr("action",a); +t?_11.attr("target",t):_11.removeAttr("target"); +_12.remove(); +} +}; +function _14(){ +var f=$("#"+_d); +if(!f.length){ +return; +} +try{ +var s=f.contents()[0].readyState; +if(s&&s.toLowerCase()=="uninitialized"){ +setTimeout(_14,100); +} +} +catch(e){ +cb(); +} +}; +var _15=10; +function cb(){ +var f=$("#"+_d); +if(!f.length){ +return; +} +f.unbind(); +var _16=""; +try{ +var _17=f.contents().find("body"); +_16=_17.html(); +if(_16==""){ +if(--_15){ +setTimeout(cb,100); +return; +} +} +var ta=_17.find(">textarea"); +if(ta.length){ +_16=ta.val(); +}else{ +var pre=_17.find(">pre"); +if(pre.length){ +_16=pre.html(); +} +} +} +catch(e){ +} +_c.success.call(_a,_16); +setTimeout(function(){ +f.unbind(); +f.remove(); +},100); +}; +}; +function _9(_18,_19){ +var _1a=$.data(_18,"form").options; +var _1b=new FormData($(_18)[0]); +for(var _1c in _19){ +_1b.append(_1c,_19[_1c]); +} +$.ajax({url:_1a.url,type:"post",xhr:function(){ +var xhr=$.ajaxSettings.xhr(); +if(xhr.upload){ +xhr.upload.addEventListener("progress",function(e){ +if(e.lengthComputable){ +var _1d=e.total; +var _1e=e.loaded||e.position; +var _1f=Math.ceil(_1e*100/_1d); +_1a.onProgress.call(_18,_1f); +} +},false); +} +return xhr; +},data:_1b,dataType:"html",cache:false,contentType:false,processData:false,complete:function(res){ +_1a.success.call(_18,res.responseText); +}}); +}; +function _20(_21,_22){ +var _23=$.data(_21,"form").options; +if(typeof _22=="string"){ +var _24={}; +if(_23.onBeforeLoad.call(_21,_24)==false){ +return; +} +$.ajax({url:_22,data:_24,dataType:"json",success:function(_25){ +_26(_25); +},error:function(){ +_23.onLoadError.apply(_21,arguments); +}}); +}else{ +_26(_22); +} +function _26(_27){ +var _28=$(_21); +for(var _29 in _27){ +var val=_27[_29]; +if(!_2a(_29,val)){ +if(!_2b(_29,val)){ +_28.find("input[name=\""+_29+"\"]").val(val); +_28.find("textarea[name=\""+_29+"\"]").val(val); +_28.find("select[name=\""+_29+"\"]").val(val); +} +} +} +_23.onLoadSuccess.call(_21,_27); +_28.form("validate"); +}; +function _2a(_2c,val){ +var cc=$(_21).find("[switchbuttonName=\""+_2c+"\"]"); +if(cc.length){ +cc.switchbutton("uncheck"); +cc.each(function(){ +if(_2d($(this).switchbutton("options").value,val)){ +$(this).switchbutton("check"); +} +}); +return true; +} +cc=$(_21).find("input[name=\""+_2c+"\"][type=radio], input[name=\""+_2c+"\"][type=checkbox]"); +if(cc.length){ +cc._propAttr("checked",false); +cc.each(function(){ +if(_2d($(this).val(),val)){ +$(this)._propAttr("checked",true); +} +}); +return true; +} +return false; +}; +function _2d(v,val){ +if(v==String(val)||$.inArray(v,$.isArray(val)?val:[val])>=0){ +return true; +}else{ +return false; +} +}; +function _2b(_2e,val){ +var _2f=$(_21).find("[textboxName=\""+_2e+"\"],[sliderName=\""+_2e+"\"]"); +if(_2f.length){ +for(var i=0;i<_23.fieldTypes.length;i++){ +var _30=_23.fieldTypes[i]; +var _31=_2f.data(_30); +if(_31){ +if(_31.options.multiple||_31.options.range){ +_2f[_30]("setValues",val); +}else{ +_2f[_30]("setValue",val); +} +return true; +} +} +} +return false; +}; +}; +function _32(_33){ +$("input,select,textarea",_33).each(function(){ +if($(this).hasClass("textbox-value")){ +return; +} +var t=this.type,tag=this.tagName.toLowerCase(); +if(t=="text"||t=="hidden"||t=="password"||tag=="textarea"){ +this.value=""; +}else{ +if(t=="file"){ +var _34=$(this); +if(!_34.hasClass("textbox-value")){ +var _35=_34.clone().val(""); +_35.insertAfter(_34); +if(_34.data("validatebox")){ +_34.validatebox("destroy"); +_35.validatebox(); +}else{ +_34.remove(); +} +} +}else{ +if(t=="checkbox"||t=="radio"){ +this.checked=false; +}else{ +if(tag=="select"){ +this.selectedIndex=-1; +} +} +} +} +}); +var tmp=$(); +var _36=$(_33); +var _37=$.data(_33,"form").options; +for(var i=0;i<_37.fieldTypes.length;i++){ +var _38=_37.fieldTypes[i]; +var _39=_36.find("."+_38+"-f").not(tmp); +if(_39.length&&_39[_38]){ +_39[_38]("clear"); +tmp=tmp.add(_39); +} +} +_36.form("validate"); +}; +function _3a(_3b){ +_3b.reset(); +var _3c=$(_3b); +var _3d=$.data(_3b,"form").options; +for(var i=_3d.fieldTypes.length-1;i>=0;i--){ +var _3e=_3d.fieldTypes[i]; +var _3f=_3c.find("."+_3e+"-f"); +if(_3f.length&&_3f[_3e]){ +_3f[_3e]("reset"); +} +} +_3c.form("validate"); +}; +function _40(_41){ +var _42=$.data(_41,"form").options; +$(_41).unbind(".form"); +if(_42.ajax){ +$(_41).bind("submit.form",function(){ +setTimeout(function(){ +_1(_41,_42); +},0); +return false; +}); +} +$(_41).bind("_change.form",function(e,t){ +if($.inArray(t,_42.dirtyFields)==-1){ +_42.dirtyFields.push(t); +} +_42.onChange.call(this,t); +}).bind("change.form",function(e){ +var t=e.target; +if(!$(t).hasClass("textbox-text")){ +if($.inArray(t,_42.dirtyFields)==-1){ +_42.dirtyFields.push(t); +} +_42.onChange.call(this,t); +} +}); +_43(_41,_42.novalidate); +}; +function _44(_45,_46){ +_46=_46||{}; +var _47=$.data(_45,"form"); +if(_47){ +$.extend(_47.options,_46); +}else{ +$.data(_45,"form",{options:$.extend({},$.fn.form.defaults,$.fn.form.parseOptions(_45),_46)}); +} +}; +function _48(_49){ +if($.fn.validatebox){ +var t=$(_49); +t.find(".validatebox-text:not(:disabled)").validatebox("validate"); +var _4a=t.find(".validatebox-invalid"); +_4a.filter(":not(:disabled):first").focus(); +return _4a.length==0; +} +return true; +}; +function _43(_4b,_4c){ +var _4d=$.data(_4b,"form").options; +_4d.novalidate=_4c; +$(_4b).find(".validatebox-text:not(:disabled)").validatebox(_4c?"disableValidation":"enableValidation"); +}; +$.fn.form=function(_4e,_4f){ +if(typeof _4e=="string"){ +this.each(function(){ +_44(this); +}); +return $.fn.form.methods[_4e](this,_4f); +} +return this.each(function(){ +_44(this,_4e); +_40(this); +}); +}; +$.fn.form.methods={options:function(jq){ +return $.data(jq[0],"form").options; +},submit:function(jq,_50){ +return jq.each(function(){ +_1(this,_50); +}); +},load:function(jq,_51){ +return jq.each(function(){ +_20(this,_51); +}); +},clear:function(jq){ +return jq.each(function(){ +_32(this); +}); +},reset:function(jq){ +return jq.each(function(){ +_3a(this); +}); +},validate:function(jq){ +return _48(jq[0]); +},disableValidation:function(jq){ +return jq.each(function(){ +_43(this,true); +}); +},enableValidation:function(jq){ +return jq.each(function(){ +_43(this,false); +}); +},resetValidation:function(jq){ +return jq.each(function(){ +$(this).find(".validatebox-text:not(:disabled)").validatebox("resetValidation"); +}); +},resetDirty:function(jq){ +return jq.each(function(){ +$(this).form("options").dirtyFields=[]; +}); +}}; +$.fn.form.parseOptions=function(_52){ +var t=$(_52); +return $.extend({},$.parser.parseOptions(_52,[{ajax:"boolean",dirty:"boolean"}]),{url:(t.attr("action")?t.attr("action"):undefined)}); +}; +$.fn.form.defaults={fieldTypes:["combobox","combotree","combogrid","combotreegrid","datetimebox","datebox","combo","datetimespinner","timespinner","numberspinner","spinner","slider","searchbox","numberbox","passwordbox","filebox","textbox","switchbutton"],novalidate:false,ajax:true,iframe:true,dirty:false,dirtyFields:[],url:null,queryParams:{},onSubmit:function(_53){ +return $(this).form("validate"); +},onProgress:function(_54){ +},success:function(_55){ +},onBeforeLoad:function(_56){ +},onLoadSuccess:function(_57){ +},onLoadError:function(){ +},onChange:function(_58){ +}}; +})(jQuery); + diff --git a/src/main/webapp/js/plugins/jquery.layout.js b/src/main/webapp/js/plugins/jquery.layout.js new file mode 100644 index 0000000..d4fd2f6 --- /dev/null +++ b/src/main/webapp/js/plugins/jquery.layout.js @@ -0,0 +1,518 @@ +/** + * jQuery EasyUI 1.5.2 + * + * Copyright (c) 2009-2017 www.jeasyui.com. All rights reserved. + * + * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php + * To use it on other terms please contact us: info@jeasyui.com + * + */ +(function($){ +var _1=false; +function _2(_3,_4){ +var _5=$.data(_3,"layout"); +var _6=_5.options; +var _7=_5.panels; +var cc=$(_3); +if(_4){ +$.extend(_6,{width:_4.width,height:_4.height}); +} +if(_3.tagName.toLowerCase()=="body"){ +cc._size("fit"); +}else{ +cc._size(_6); +} +var _8={top:0,left:0,width:cc.width(),height:cc.height()}; +_9(_a(_7.expandNorth)?_7.expandNorth:_7.north,"n"); +_9(_a(_7.expandSouth)?_7.expandSouth:_7.south,"s"); +_b(_a(_7.expandEast)?_7.expandEast:_7.east,"e"); +_b(_a(_7.expandWest)?_7.expandWest:_7.west,"w"); +_7.center.panel("resize",_8); +function _9(pp,_c){ +if(!pp.length||!_a(pp)){ +return; +} +var _d=pp.panel("options"); +pp.panel("resize",{width:cc.width(),height:_d.height}); +var _e=pp.panel("panel").outerHeight(); +pp.panel("move",{left:0,top:(_c=="n"?0:cc.height()-_e)}); +_8.height-=_e; +if(_c=="n"){ +_8.top+=_e; +if(!_d.split&&_d.border){ +_8.top--; +} +} +if(!_d.split&&_d.border){ +_8.height++; +} +}; +function _b(pp,_f){ +if(!pp.length||!_a(pp)){ +return; +} +var _10=pp.panel("options"); +pp.panel("resize",{width:_10.width,height:_8.height}); +var _11=pp.panel("panel").outerWidth(); +pp.panel("move",{left:(_f=="e"?cc.width()-_11:0),top:_8.top}); +_8.width-=_11; +if(_f=="w"){ +_8.left+=_11; +if(!_10.split&&_10.border){ +_8.left--; +} +} +if(!_10.split&&_10.border){ +_8.width++; +} +}; +}; +function _12(_13){ +var cc=$(_13); +cc.addClass("layout"); +function _14(el){ +var _15=$.fn.layout.parsePanelOptions(el); +if("north,south,east,west,center".indexOf(_15.region)>=0){ +_19(_13,_15,el); +} +}; +var _16=cc.layout("options"); +var _17=_16.onAdd; +_16.onAdd=function(){ +}; +cc.find(">div,>form>div").each(function(){ +_14(this); +}); +_16.onAdd=_17; +cc.append("
          "); +cc.bind("_resize",function(e,_18){ +if($(this).hasClass("easyui-fluid")||_18){ +_2(_13); +} +return false; +}); +}; +function _19(_1a,_1b,el){ +_1b.region=_1b.region||"center"; +var _1c=$.data(_1a,"layout").panels; +var cc=$(_1a); +var dir=_1b.region; +if(_1c[dir].length){ +return; +} +var pp=$(el); +if(!pp.length){ +pp=$("
          ").appendTo(cc); +} +var _1d=$.extend({},$.fn.layout.paneldefaults,{width:(pp.length?parseInt(pp[0].style.width)||pp.outerWidth():"auto"),height:(pp.length?parseInt(pp[0].style.height)||pp.outerHeight():"auto"),doSize:false,collapsible:true,onOpen:function(){ +var _1e=$(this).panel("header").children("div.panel-tool"); +_1e.children("a.panel-tool-collapse").hide(); +var _1f={north:"up",south:"down",east:"right",west:"left"}; +if(!_1f[dir]){ +return; +} +var _20="layout-button-"+_1f[dir]; +var t=_1e.children("a."+_20); +if(!t.length){ +t=$("").addClass(_20).appendTo(_1e); +t.bind("click",{dir:dir},function(e){ +_39(_1a,e.data.dir); +return false; +}); +} +$(this).panel("options").collapsible?t.show():t.hide(); +}},_1b,{cls:((_1b.cls||"")+" layout-panel layout-panel-"+dir),bodyCls:((_1b.bodyCls||"")+" layout-body")}); +pp.panel(_1d); +_1c[dir]=pp; +var _21={north:"s",south:"n",east:"w",west:"e"}; +var _22=pp.panel("panel"); +if(pp.panel("options").split){ +_22.addClass("layout-split-"+dir); +} +_22.resizable($.extend({},{handles:(_21[dir]||""),disabled:(!pp.panel("options").split),onStartResize:function(e){ +_1=true; +if(dir=="north"||dir=="south"){ +var _23=$(">div.layout-split-proxy-v",_1a); +}else{ +var _23=$(">div.layout-split-proxy-h",_1a); +} +var top=0,_24=0,_25=0,_26=0; +var pos={display:"block"}; +if(dir=="north"){ +pos.top=parseInt(_22.css("top"))+_22.outerHeight()-_23.height(); +pos.left=parseInt(_22.css("left")); +pos.width=_22.outerWidth(); +pos.height=_23.height(); +}else{ +if(dir=="south"){ +pos.top=parseInt(_22.css("top")); +pos.left=parseInt(_22.css("left")); +pos.width=_22.outerWidth(); +pos.height=_23.height(); +}else{ +if(dir=="east"){ +pos.top=parseInt(_22.css("top"))||0; +pos.left=parseInt(_22.css("left"))||0; +pos.width=_23.width(); +pos.height=_22.outerHeight(); +}else{ +if(dir=="west"){ +pos.top=parseInt(_22.css("top"))||0; +pos.left=_22.outerWidth()-_23.width(); +pos.width=_23.width(); +pos.height=_22.outerHeight(); +} +} +} +} +_23.css(pos); +$("
          ").css({left:0,top:0,width:cc.width(),height:cc.height()}).appendTo(cc); +},onResize:function(e){ +if(dir=="north"||dir=="south"){ +var _27=_28(this); +$(this).resizable("options").maxHeight=_27; +var _29=$(">div.layout-split-proxy-v",_1a); +var top=dir=="north"?e.data.height-_29.height():$(_1a).height()-e.data.height; +_29.css("top",top); +}else{ +var _2a=_28(this); +$(this).resizable("options").maxWidth=_2a; +var _29=$(">div.layout-split-proxy-h",_1a); +var _2b=dir=="west"?e.data.width-_29.width():$(_1a).width()-e.data.width; +_29.css("left",_2b); +} +return false; +},onStopResize:function(e){ +cc.children("div.layout-split-proxy-v,div.layout-split-proxy-h").hide(); +pp.panel("resize",e.data); +_2(_1a); +_1=false; +cc.find(">div.layout-mask").remove(); +}},_1b)); +cc.layout("options").onAdd.call(_1a,dir); +function _28(p){ +var _2c="expand"+dir.substring(0,1).toUpperCase()+dir.substring(1); +var _2d=_1c["center"]; +var _2e=(dir=="north"||dir=="south")?"minHeight":"minWidth"; +var _2f=(dir=="north"||dir=="south")?"maxHeight":"maxWidth"; +var _30=(dir=="north"||dir=="south")?"_outerHeight":"_outerWidth"; +var _31=$.parser.parseValue(_2f,_1c[dir].panel("options")[_2f],$(_1a)); +var _32=$.parser.parseValue(_2e,_2d.panel("options")[_2e],$(_1a)); +var _33=_2d.panel("panel")[_30]()-_32; +if(_a(_1c[_2c])){ +_33+=_1c[_2c][_30]()-1; +}else{ +_33+=$(p)[_30](); +} +if(_33>_31){ +_33=_31; +} +return _33; +}; +}; +function _34(_35,_36){ +var _37=$.data(_35,"layout").panels; +if(_37[_36].length){ +_37[_36].panel("destroy"); +_37[_36]=$(); +var _38="expand"+_36.substring(0,1).toUpperCase()+_36.substring(1); +if(_37[_38]){ +_37[_38].panel("destroy"); +_37[_38]=undefined; +} +$(_35).layout("options").onRemove.call(_35,_36); +} +}; +function _39(_3a,_3b,_3c){ +if(_3c==undefined){ +_3c="normal"; +} +var _3d=$.data(_3a,"layout").panels; +var p=_3d[_3b]; +var _3e=p.panel("options"); +if(_3e.onBeforeCollapse.call(p)==false){ +return; +} +var _3f="expand"+_3b.substring(0,1).toUpperCase()+_3b.substring(1); +if(!_3d[_3f]){ +_3d[_3f]=_40(_3b); +var ep=_3d[_3f].panel("panel"); +if(!_3e.expandMode){ +ep.css("cursor","default"); +}else{ +ep.bind("click",function(){ +if(_3e.expandMode=="dock"){ +_4f(_3a,_3b); +}else{ +p.panel("expand",false).panel("open"); +var _41=_42(); +p.panel("resize",_41.collapse); +p.panel("panel").animate(_41.expand,function(){ +$(this).unbind(".layout").bind("mouseleave.layout",{region:_3b},function(e){ +if(_1==true){ +return; +} +if($("body>div.combo-p>div.combo-panel:visible").length){ +return; +} +_39(_3a,e.data.region); +}); +$(_3a).layout("options").onExpand.call(_3a,_3b); +}); +} +return false; +}); +} +} +var _43=_42(); +if(!_a(_3d[_3f])){ +_3d.center.panel("resize",_43.resizeC); +} +p.panel("panel").animate(_43.collapse,_3c,function(){ +p.panel("collapse",false).panel("close"); +_3d[_3f].panel("open").panel("resize",_43.expandP); +$(this).unbind(".layout"); +$(_3a).layout("options").onCollapse.call(_3a,_3b); +}); +function _40(dir){ +var _44={"east":"left","west":"right","north":"down","south":"up"}; +var _45=(_3e.region=="north"||_3e.region=="south"); +var _46="layout-button-"+_44[dir]; +var p=$("
          ").appendTo(_3a); +p.panel($.extend({},$.fn.layout.paneldefaults,{cls:("layout-expand layout-expand-"+dir),title:" ",titleDirection:_3e.titleDirection,iconCls:(_3e.hideCollapsedContent?null:_3e.iconCls),closed:true,minWidth:0,minHeight:0,doSize:false,region:_3e.region,collapsedSize:_3e.collapsedSize,noheader:(!_45&&_3e.hideExpandTool),tools:((_45&&_3e.hideExpandTool)?null:[{iconCls:_46,handler:function(){ +_4f(_3a,_3b); +return false; +}}]),onResize:function(){ +var _47=$(this).children(".layout-expand-title"); +if(_47.length){ +_47._outerWidth($(this).height()); +var _48=($(this).width()-Math.min(_47._outerWidth(),_47._outerHeight()))/2; +var top=Math.max(_47._outerWidth(),_47._outerHeight()); +if(_47.hasClass("layout-expand-title-down")){ +_48+=Math.min(_47._outerWidth(),_47._outerHeight()); +top=0; +} +_47.css({left:(_48+"px"),top:(top+"px")}); +} +}})); +if(!_3e.hideCollapsedContent){ +var _49=typeof _3e.collapsedContent=="function"?_3e.collapsedContent.call(p[0],_3e.title):_3e.collapsedContent; +_45?p.panel("setTitle",_49):p.html(_49); +} +p.panel("panel").hover(function(){ +$(this).addClass("layout-expand-over"); +},function(){ +$(this).removeClass("layout-expand-over"); +}); +return p; +}; +function _42(){ +var cc=$(_3a); +var _4a=_3d.center.panel("options"); +var _4b=_3e.collapsedSize; +if(_3b=="east"){ +var _4c=p.panel("panel")._outerWidth(); +var _4d=_4a.width+_4c-_4b; +if(_3e.split||!_3e.border){ +_4d++; +} +return {resizeC:{width:_4d},expand:{left:cc.width()-_4c},expandP:{top:_4a.top,left:cc.width()-_4b,width:_4b,height:_4a.height},collapse:{left:cc.width(),top:_4a.top,height:_4a.height}}; +}else{ +if(_3b=="west"){ +var _4c=p.panel("panel")._outerWidth(); +var _4d=_4a.width+_4c-_4b; +if(_3e.split||!_3e.border){ +_4d++; +} +return {resizeC:{width:_4d,left:_4b-1},expand:{left:0},expandP:{left:0,top:_4a.top,width:_4b,height:_4a.height},collapse:{left:-_4c,top:_4a.top,height:_4a.height}}; +}else{ +if(_3b=="north"){ +var _4e=p.panel("panel")._outerHeight(); +var hh=_4a.height; +if(!_a(_3d.expandNorth)){ +hh+=_4e-_4b+((_3e.split||!_3e.border)?1:0); +} +_3d.east.add(_3d.west).add(_3d.expandEast).add(_3d.expandWest).panel("resize",{top:_4b-1,height:hh}); +return {resizeC:{top:_4b-1,height:hh},expand:{top:0},expandP:{top:0,left:0,width:cc.width(),height:_4b},collapse:{top:-_4e,width:cc.width()}}; +}else{ +if(_3b=="south"){ +var _4e=p.panel("panel")._outerHeight(); +var hh=_4a.height; +if(!_a(_3d.expandSouth)){ +hh+=_4e-_4b+((_3e.split||!_3e.border)?1:0); +} +_3d.east.add(_3d.west).add(_3d.expandEast).add(_3d.expandWest).panel("resize",{height:hh}); +return {resizeC:{height:hh},expand:{top:cc.height()-_4e},expandP:{top:cc.height()-_4b,left:0,width:cc.width(),height:_4b},collapse:{top:cc.height(),width:cc.width()}}; +} +} +} +} +}; +}; +function _4f(_50,_51){ +var _52=$.data(_50,"layout").panels; +var p=_52[_51]; +var _53=p.panel("options"); +if(_53.onBeforeExpand.call(p)==false){ +return; +} +var _54="expand"+_51.substring(0,1).toUpperCase()+_51.substring(1); +if(_52[_54]){ +_52[_54].panel("close"); +p.panel("panel").stop(true,true); +p.panel("expand",false).panel("open"); +var _55=_56(); +p.panel("resize",_55.collapse); +p.panel("panel").animate(_55.expand,function(){ +_2(_50); +$(_50).layout("options").onExpand.call(_50,_51); +}); +} +function _56(){ +var cc=$(_50); +var _57=_52.center.panel("options"); +if(_51=="east"&&_52.expandEast){ +return {collapse:{left:cc.width(),top:_57.top,height:_57.height},expand:{left:cc.width()-p.panel("panel")._outerWidth()}}; +}else{ +if(_51=="west"&&_52.expandWest){ +return {collapse:{left:-p.panel("panel")._outerWidth(),top:_57.top,height:_57.height},expand:{left:0}}; +}else{ +if(_51=="north"&&_52.expandNorth){ +return {collapse:{top:-p.panel("panel")._outerHeight(),width:cc.width()},expand:{top:0}}; +}else{ +if(_51=="south"&&_52.expandSouth){ +return {collapse:{top:cc.height(),width:cc.width()},expand:{top:cc.height()-p.panel("panel")._outerHeight()}}; +} +} +} +} +}; +}; +function _a(pp){ +if(!pp){ +return false; +} +if(pp.length){ +return pp.panel("panel").is(":visible"); +}else{ +return false; +} +}; +function _58(_59){ +var _5a=$.data(_59,"layout"); +var _5b=_5a.options; +var _5c=_5a.panels; +var _5d=_5b.onCollapse; +_5b.onCollapse=function(){ +}; +_5e("east"); +_5e("west"); +_5e("north"); +_5e("south"); +_5b.onCollapse=_5d; +function _5e(_5f){ +var p=_5c[_5f]; +if(p.length&&p.panel("options").collapsed){ +_39(_59,_5f,0); +} +}; +}; +function _60(_61,_62,_63){ +var p=$(_61).layout("panel",_62); +p.panel("options").split=_63; +var cls="layout-split-"+_62; +var _64=p.panel("panel").removeClass(cls); +if(_63){ +_64.addClass(cls); +} +_64.resizable({disabled:(!_63)}); +_2(_61); +}; +$.fn.layout=function(_65,_66){ +if(typeof _65=="string"){ +return $.fn.layout.methods[_65](this,_66); +} +_65=_65||{}; +return this.each(function(){ +var _67=$.data(this,"layout"); +if(_67){ +$.extend(_67.options,_65); +}else{ +var _68=$.extend({},$.fn.layout.defaults,$.fn.layout.parseOptions(this),_65); +$.data(this,"layout",{options:_68,panels:{center:$(),north:$(),south:$(),east:$(),west:$()}}); +_12(this); +} +_2(this); +_58(this); +}); +}; +$.fn.layout.methods={options:function(jq){ +return $.data(jq[0],"layout").options; +},resize:function(jq,_69){ +return jq.each(function(){ +_2(this,_69); +}); +},panel:function(jq,_6a){ +return $.data(jq[0],"layout").panels[_6a]; +},collapse:function(jq,_6b){ +return jq.each(function(){ +_39(this,_6b); +}); +},expand:function(jq,_6c){ +return jq.each(function(){ +_4f(this,_6c); +}); +},add:function(jq,_6d){ +return jq.each(function(){ +_19(this,_6d); +_2(this); +if($(this).layout("panel",_6d.region).panel("options").collapsed){ +_39(this,_6d.region,0); +} +}); +},remove:function(jq,_6e){ +return jq.each(function(){ +_34(this,_6e); +_2(this); +}); +},split:function(jq,_6f){ +return jq.each(function(){ +_60(this,_6f,true); +}); +},unsplit:function(jq,_70){ +return jq.each(function(){ +_60(this,_70,false); +}); +}}; +$.fn.layout.parseOptions=function(_71){ +return $.extend({},$.parser.parseOptions(_71,[{fit:"boolean"}])); +}; +$.fn.layout.defaults={fit:false,onExpand:function(_72){ +},onCollapse:function(_73){ +},onAdd:function(_74){ +},onRemove:function(_75){ +}}; +$.fn.layout.parsePanelOptions=function(_76){ +var t=$(_76); +return $.extend({},$.fn.panel.parseOptions(_76),$.parser.parseOptions(_76,["region",{split:"boolean",collpasedSize:"number",minWidth:"number",minHeight:"number",maxWidth:"number",maxHeight:"number"}])); +}; +$.fn.layout.paneldefaults=$.extend({},$.fn.panel.defaults,{region:null,split:false,collapsedSize:28,expandMode:"float",hideExpandTool:false,hideCollapsedContent:true,collapsedContent:function(_77){ +var p=$(this); +var _78=p.panel("options"); +if(_78.region=="north"||_78.region=="south"){ +return _77; +} +var cc=[]; +if(_78.iconCls){ +cc.push("
          "); +} +cc.push("
          "); +cc.push(_77); +cc.push("
          "); +return cc.join(""); +},minWidth:10,minHeight:10,maxWidth:10000,maxHeight:10000}); +})(jQuery); + diff --git a/src/main/webapp/js/plugins/jquery.linkbutton.js b/src/main/webapp/js/plugins/jquery.linkbutton.js new file mode 100644 index 0000000..97cfa5d --- /dev/null +++ b/src/main/webapp/js/plugins/jquery.linkbutton.js @@ -0,0 +1,184 @@ +/** + * jQuery EasyUI 1.5.2 + * + * Copyright (c) 2009-2017 www.jeasyui.com. All rights reserved. + * + * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php + * To use it on other terms please contact us: info@jeasyui.com + * + */ +(function($){ +function _1(_2,_3){ +var _4=$.data(_2,"linkbutton").options; +if(_3){ +$.extend(_4,_3); +} +if(_4.width||_4.height||_4.fit){ +var _5=$(_2); +var _6=_5.parent(); +var _7=_5.is(":visible"); +if(!_7){ +var _8=$("
          ").insertBefore(_2); +var _9={position:_5.css("position"),display:_5.css("display"),left:_5.css("left")}; +_5.appendTo("body"); +_5.css({position:"absolute",display:"inline-block",left:-20000}); +} +_5._size(_4,_6); +var _a=_5.find(".l-btn-left"); +_a.css("margin-top",0); +_a.css("margin-top",parseInt((_5.height()-_a.height())/2)+"px"); +if(!_7){ +_5.insertAfter(_8); +_5.css(_9); +_8.remove(); +} +} +}; +function _b(_c){ +var _d=$.data(_c,"linkbutton").options; +var t=$(_c).empty(); +t.addClass("l-btn").removeClass("l-btn-plain l-btn-selected l-btn-plain-selected l-btn-outline"); +t.removeClass("l-btn-small l-btn-medium l-btn-large").addClass("l-btn-"+_d.size); +if(_d.plain){ +t.addClass("l-btn-plain"); +} +if(_d.outline){ +t.addClass("l-btn-outline"); +} +if(_d.selected){ +t.addClass(_d.plain?"l-btn-selected l-btn-plain-selected":"l-btn-selected"); +} +t.attr("group",_d.group||""); +t.attr("id",_d.id||""); +var _e=$("").appendTo(t); +if(_d.text){ +$("").html(_d.text).appendTo(_e); +}else{ +$(" ").appendTo(_e); +} +if(_d.iconCls){ +$(" ").addClass(_d.iconCls).appendTo(_e); +_e.addClass("l-btn-icon-"+_d.iconAlign); +} +t.unbind(".linkbutton").bind("focus.linkbutton",function(){ +if(!_d.disabled){ +$(this).addClass("l-btn-focus"); +} +}).bind("blur.linkbutton",function(){ +$(this).removeClass("l-btn-focus"); +}).bind("click.linkbutton",function(){ +if(!_d.disabled){ +if(_d.toggle){ +if(_d.selected){ +$(this).linkbutton("unselect"); +}else{ +$(this).linkbutton("select"); +} +} +_d.onClick.call(this); +} +}); +_f(_c,_d.selected); +_10(_c,_d.disabled); +}; +function _f(_11,_12){ +var _13=$.data(_11,"linkbutton").options; +if(_12){ +if(_13.group){ +$("a.l-btn[group=\""+_13.group+"\"]").each(function(){ +var o=$(this).linkbutton("options"); +if(o.toggle){ +$(this).removeClass("l-btn-selected l-btn-plain-selected"); +o.selected=false; +} +}); +} +$(_11).addClass(_13.plain?"l-btn-selected l-btn-plain-selected":"l-btn-selected"); +_13.selected=true; +}else{ +if(!_13.group){ +$(_11).removeClass("l-btn-selected l-btn-plain-selected"); +_13.selected=false; +} +} +}; +function _10(_14,_15){ +var _16=$.data(_14,"linkbutton"); +var _17=_16.options; +$(_14).removeClass("l-btn-disabled l-btn-plain-disabled"); +if(_15){ +_17.disabled=true; +var _18=$(_14).attr("href"); +if(_18){ +_16.href=_18; +$(_14).attr("href","javascript:;"); +} +if(_14.onclick){ +_16.onclick=_14.onclick; +_14.onclick=null; +} +_17.plain?$(_14).addClass("l-btn-disabled l-btn-plain-disabled"):$(_14).addClass("l-btn-disabled"); +}else{ +_17.disabled=false; +if(_16.href){ +$(_14).attr("href",_16.href); +} +if(_16.onclick){ +_14.onclick=_16.onclick; +} +} +}; +$.fn.linkbutton=function(_19,_1a){ +if(typeof _19=="string"){ +return $.fn.linkbutton.methods[_19](this,_1a); +} +_19=_19||{}; +return this.each(function(){ +var _1b=$.data(this,"linkbutton"); +if(_1b){ +$.extend(_1b.options,_19); +}else{ +$.data(this,"linkbutton",{options:$.extend({},$.fn.linkbutton.defaults,$.fn.linkbutton.parseOptions(this),_19)}); +$(this).removeAttr("disabled"); +$(this).bind("_resize",function(e,_1c){ +if($(this).hasClass("easyui-fluid")||_1c){ +_1(this); +} +return false; +}); +} +_b(this); +_1(this); +}); +}; +$.fn.linkbutton.methods={options:function(jq){ +return $.data(jq[0],"linkbutton").options; +},resize:function(jq,_1d){ +return jq.each(function(){ +_1(this,_1d); +}); +},enable:function(jq){ +return jq.each(function(){ +_10(this,false); +}); +},disable:function(jq){ +return jq.each(function(){ +_10(this,true); +}); +},select:function(jq){ +return jq.each(function(){ +_f(this,true); +}); +},unselect:function(jq){ +return jq.each(function(){ +_f(this,false); +}); +}}; +$.fn.linkbutton.parseOptions=function(_1e){ +var t=$(_1e); +return $.extend({},$.parser.parseOptions(_1e,["id","iconCls","iconAlign","group","size","text",{plain:"boolean",toggle:"boolean",selected:"boolean",outline:"boolean"}]),{disabled:(t.attr("disabled")?true:undefined),text:($.trim(t.html())||undefined),iconCls:(t.attr("icon")||t.attr("iconCls"))}); +}; +$.fn.linkbutton.defaults={id:null,disabled:false,toggle:false,selected:false,outline:false,group:null,plain:false,text:"",iconCls:null,iconAlign:"left",size:"small",onClick:function(){ +}}; +})(jQuery); + diff --git a/src/main/webapp/js/plugins/jquery.menu.js b/src/main/webapp/js/plugins/jquery.menu.js new file mode 100644 index 0000000..2308fd7 --- /dev/null +++ b/src/main/webapp/js/plugins/jquery.menu.js @@ -0,0 +1,491 @@ +/** + * jQuery EasyUI 1.5.2 + * + * Copyright (c) 2009-2017 www.jeasyui.com. All rights reserved. + * + * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php + * To use it on other terms please contact us: info@jeasyui.com + * + */ +(function($){ +$(function(){ +$(document).unbind(".menu").bind("mousedown.menu",function(e){ +var m=$(e.target).closest("div.menu,div.combo-p"); +if(m.length){ +return; +} +$("body>div.menu-top:visible").not(".menu-inline").menu("hide"); +_1($("body>div.menu:visible").not(".menu-inline")); +}); +}); +function _2(_3){ +var _4=$.data(_3,"menu").options; +$(_3).addClass("menu-top"); +_4.inline?$(_3).addClass("menu-inline"):$(_3).appendTo("body"); +$(_3).bind("_resize",function(e,_5){ +if($(this).hasClass("easyui-fluid")||_5){ +$(_3).menu("resize",_3); +} +return false; +}); +var _6=_7($(_3)); +for(var i=0;i<_6.length;i++){ +_b(_3,_6[i]); +} +function _7(_8){ +var _9=[]; +_8.addClass("menu"); +_9.push(_8); +if(!_8.hasClass("menu-content")){ +_8.children("div").each(function(){ +var _a=$(this).children("div"); +if(_a.length){ +_a.appendTo("body"); +this.submenu=_a; +var mm=_7(_a); +_9=_9.concat(mm); +} +}); +} +return _9; +}; +}; +function _b(_c,_d){ +var _e=$(_d).addClass("menu"); +if(!_e.data("menu")){ +_e.data("menu",{options:$.parser.parseOptions(_e[0],["width","height"])}); +} +if(!_e.hasClass("menu-content")){ +_e.children("div").each(function(){ +_f(_c,this); +}); +$("
          ").prependTo(_e); +} +_10(_c,_e); +if(!_e.hasClass("menu-inline")){ +_e.hide(); +} +_11(_c,_e); +}; +function _f(_12,div,_13){ +var _14=$(div); +var _15=$.extend({},$.parser.parseOptions(_14[0],["id","name","iconCls","href",{separator:"boolean"}]),{disabled:(_14.attr("disabled")?true:undefined),text:$.trim(_14.html()),onclick:_14[0].onclick},_13||{}); +_15.onclick=_15.onclick||_15.handler||null; +_14.data("menuitem",{options:_15}); +if(_15.separator){ +_14.addClass("menu-sep"); +} +if(!_14.hasClass("menu-sep")){ +_14.addClass("menu-item"); +_14.empty().append($("
          ").html(_15.text)); +if(_15.iconCls){ +$("
          ").addClass(_15.iconCls).appendTo(_14); +} +if(_15.id){ +_14.attr("id",_15.id); +} +if(_15.onclick){ +if(typeof _15.onclick=="string"){ +_14.attr("onclick",_15.onclick); +}else{ +_14[0].onclick=eval(_15.onclick); +} +} +if(_15.disabled){ +_16(_12,_14[0],true); +} +if(_14[0].submenu){ +$("
          ").appendTo(_14); +} +} +}; +function _10(_17,_18){ +var _19=$.data(_17,"menu").options; +var _1a=_18.attr("style")||""; +var _1b=_18.is(":visible"); +_18.css({display:"block",left:-10000,height:"auto",overflow:"hidden"}); +_18.find(".menu-item").each(function(){ +$(this)._outerHeight(_19.itemHeight); +$(this).find(".menu-text").css({height:(_19.itemHeight-2)+"px",lineHeight:(_19.itemHeight-2)+"px"}); +}); +_18.removeClass("menu-noline").addClass(_19.noline?"menu-noline":""); +var _1c=_18.data("menu").options; +var _1d=_1c.width; +var _1e=_1c.height; +if(isNaN(parseInt(_1d))){ +_1d=0; +_18.find("div.menu-text").each(function(){ +if(_1d<$(this).outerWidth()){ +_1d=$(this).outerWidth(); +} +}); +_1d=_1d?_1d+40:""; +} +var _1f=_18.outerHeight(); +if(isNaN(parseInt(_1e))){ +_1e=_1f; +if(_18.hasClass("menu-top")&&_19.alignTo){ +var at=$(_19.alignTo); +var h1=at.offset().top-$(document).scrollTop(); +var h2=$(window)._outerHeight()+$(document).scrollTop()-at.offset().top-at._outerHeight(); +_1e=Math.min(_1e,Math.max(h1,h2)); +}else{ +if(_1e>$(window)._outerHeight()){ +_1e=$(window).height(); +} +} +} +_18.attr("style",_1a); +_18.show(); +_18._size($.extend({},_1c,{width:_1d,height:_1e,minWidth:_1c.minWidth||_19.minWidth,maxWidth:_1c.maxWidth||_19.maxWidth})); +_18.find(".easyui-fluid").triggerHandler("_resize",[true]); +_18.css("overflow",_18.outerHeight()<_1f?"auto":"hidden"); +_18.children("div.menu-line")._outerHeight(_1f-2); +if(!_1b){ +_18.hide(); +} +}; +function _11(_20,_21){ +var _22=$.data(_20,"menu"); +var _23=_22.options; +_21.unbind(".menu"); +for(var _24 in _23.events){ +_21.bind(_24+".menu",{target:_20},_23.events[_24]); +} +}; +function _25(e){ +var _26=e.data.target; +var _27=$.data(_26,"menu"); +if(_27.timer){ +clearTimeout(_27.timer); +_27.timer=null; +} +}; +function _28(e){ +var _29=e.data.target; +var _2a=$.data(_29,"menu"); +if(_2a.options.hideOnUnhover){ +_2a.timer=setTimeout(function(){ +_2b(_29,$(_29).hasClass("menu-inline")); +},_2a.options.duration); +} +}; +function _2c(e){ +var _2d=e.data.target; +var _2e=$(e.target).closest(".menu-item"); +if(_2e.length){ +_2e.siblings().each(function(){ +if(this.submenu){ +_1(this.submenu); +} +$(this).removeClass("menu-active"); +}); +_2e.addClass("menu-active"); +if(_2e.hasClass("menu-item-disabled")){ +_2e.addClass("menu-active-disabled"); +return; +} +var _2f=_2e[0].submenu; +if(_2f){ +$(_2d).menu("show",{menu:_2f,parent:_2e}); +} +} +}; +function _30(e){ +var _31=$(e.target).closest(".menu-item"); +if(_31.length){ +_31.removeClass("menu-active menu-active-disabled"); +var _32=_31[0].submenu; +if(_32){ +if(e.pageX>=parseInt(_32.css("left"))){ +_31.addClass("menu-active"); +}else{ +_1(_32); +} +}else{ +_31.removeClass("menu-active"); +} +} +}; +function _33(e){ +var _34=e.data.target; +var _35=$(e.target).closest(".menu-item"); +if(_35.length){ +var _36=$(_34).data("menu").options; +var _37=_35.data("menuitem").options; +if(_37.disabled){ +return; +} +if(!_35[0].submenu){ +_2b(_34,_36.inline); +if(_37.href){ +location.href=_37.href; +} +} +_35.trigger("mouseenter"); +_36.onClick.call(_34,$(_34).menu("getItem",_35[0])); +} +}; +function _2b(_38,_39){ +var _3a=$.data(_38,"menu"); +if(_3a){ +if($(_38).is(":visible")){ +_1($(_38)); +if(_39){ +$(_38).show(); +}else{ +_3a.options.onHide.call(_38); +} +} +} +return false; +}; +function _3b(_3c,_3d){ +_3d=_3d||{}; +var _3e,top; +var _3f=$.data(_3c,"menu").options; +var _40=$(_3d.menu||_3c); +$(_3c).menu("resize",_40[0]); +if(_40.hasClass("menu-top")){ +$.extend(_3f,_3d); +_3e=_3f.left; +top=_3f.top; +if(_3f.alignTo){ +var at=$(_3f.alignTo); +_3e=at.offset().left; +top=at.offset().top+at._outerHeight(); +if(_3f.align=="right"){ +_3e+=at.outerWidth()-_40.outerWidth(); +} +} +if(_3e+_40.outerWidth()>$(window)._outerWidth()+$(document)._scrollLeft()){ +_3e=$(window)._outerWidth()+$(document).scrollLeft()-_40.outerWidth()-5; +} +if(_3e<0){ +_3e=0; +} +top=_41(top,_3f.alignTo); +}else{ +var _42=_3d.parent; +_3e=_42.offset().left+_42.outerWidth()-2; +if(_3e+_40.outerWidth()+5>$(window)._outerWidth()+$(document).scrollLeft()){ +_3e=_42.offset().left-_40.outerWidth()+2; +} +top=_41(_42.offset().top-3); +} +function _41(top,_43){ +if(top+_40.outerHeight()>$(window)._outerHeight()+$(document).scrollTop()){ +if(_43){ +top=$(_43).offset().top-_40._outerHeight(); +}else{ +top=$(window)._outerHeight()+$(document).scrollTop()-_40.outerHeight(); +} +} +if(top<0){ +top=0; +} +return top; +}; +_40.css(_3f.position.call(_3c,_40[0],_3e,top)); +_40.show(0,function(){ +if(!_40[0].shadow){ +_40[0].shadow=$("
          ").insertAfter(_40); +} +_40[0].shadow.css({display:(_40.hasClass("menu-inline")?"none":"block"),zIndex:$.fn.menu.defaults.zIndex++,left:_40.css("left"),top:_40.css("top"),width:_40.outerWidth(),height:_40.outerHeight()}); +_40.css("z-index",$.fn.menu.defaults.zIndex++); +if(_40.hasClass("menu-top")){ +_3f.onShow.call(_3c); +} +}); +}; +function _1(_44){ +if(_44&&_44.length){ +_45(_44); +_44.find("div.menu-item").each(function(){ +if(this.submenu){ +_1(this.submenu); +} +$(this).removeClass("menu-active"); +}); +} +function _45(m){ +m.stop(true,true); +if(m[0].shadow){ +m[0].shadow.hide(); +} +m.hide(); +}; +}; +function _46(_47,_48){ +var _49=null; +var tmp=$("
          "); +function _4a(_4b){ +_4b.children("div.menu-item").each(function(){ +var _4c=$(_47).menu("getItem",this); +var s=tmp.empty().html(_4c.text).text(); +if(_48==$.trim(s)){ +_49=_4c; +}else{ +if(this.submenu&&!_49){ +_4a(this.submenu); +} +} +}); +}; +_4a($(_47)); +tmp.remove(); +return _49; +}; +function _16(_4d,_4e,_4f){ +var t=$(_4e); +if(t.hasClass("menu-item")){ +var _50=t.data("menuitem").options; +_50.disabled=_4f; +if(_4f){ +t.addClass("menu-item-disabled"); +t[0].onclick=null; +}else{ +t.removeClass("menu-item-disabled"); +t[0].onclick=_50.onclick; +} +} +}; +function _51(_52,_53){ +var _54=$.data(_52,"menu").options; +var _55=$(_52); +if(_53.parent){ +if(!_53.parent.submenu){ +var _56=$("
          ").appendTo("body"); +_53.parent.submenu=_56; +$("
          ").appendTo(_53.parent); +_b(_52,_56); +} +_55=_53.parent.submenu; +} +var div=$("
          ").appendTo(_55); +_f(_52,div,_53); +}; +function _57(_58,_59){ +function _5a(el){ +if(el.submenu){ +el.submenu.children("div.menu-item").each(function(){ +_5a(this); +}); +var _5b=el.submenu[0].shadow; +if(_5b){ +_5b.remove(); +} +el.submenu.remove(); +} +$(el).remove(); +}; +_5a(_59); +}; +function _5c(_5d,_5e,_5f){ +var _60=$(_5e).parent(); +if(_5f){ +$(_5e).show(); +}else{ +$(_5e).hide(); +} +_10(_5d,_60); +}; +function _61(_62){ +$(_62).children("div.menu-item").each(function(){ +_57(_62,this); +}); +if(_62.shadow){ +_62.shadow.remove(); +} +$(_62).remove(); +}; +$.fn.menu=function(_63,_64){ +if(typeof _63=="string"){ +return $.fn.menu.methods[_63](this,_64); +} +_63=_63||{}; +return this.each(function(){ +var _65=$.data(this,"menu"); +if(_65){ +$.extend(_65.options,_63); +}else{ +_65=$.data(this,"menu",{options:$.extend({},$.fn.menu.defaults,$.fn.menu.parseOptions(this),_63)}); +_2(this); +} +$(this).css({left:_65.options.left,top:_65.options.top}); +}); +}; +$.fn.menu.methods={options:function(jq){ +return $.data(jq[0],"menu").options; +},show:function(jq,pos){ +return jq.each(function(){ +_3b(this,pos); +}); +},hide:function(jq){ +return jq.each(function(){ +_2b(this); +}); +},destroy:function(jq){ +return jq.each(function(){ +_61(this); +}); +},setText:function(jq,_66){ +return jq.each(function(){ +var _67=$(_66.target).data("menuitem").options; +_67.text=_66.text; +$(_66.target).children("div.menu-text").html(_66.text); +}); +},setIcon:function(jq,_68){ +return jq.each(function(){ +var _69=$(_68.target).data("menuitem").options; +_69.iconCls=_68.iconCls; +$(_68.target).children("div.menu-icon").remove(); +if(_68.iconCls){ +$("
          ").addClass(_68.iconCls).appendTo(_68.target); +} +}); +},getItem:function(jq,_6a){ +var _6b=$(_6a).data("menuitem").options; +return $.extend({},_6b,{target:$(_6a)[0]}); +},findItem:function(jq,_6c){ +return _46(jq[0],_6c); +},appendItem:function(jq,_6d){ +return jq.each(function(){ +_51(this,_6d); +}); +},removeItem:function(jq,_6e){ +return jq.each(function(){ +_57(this,_6e); +}); +},enableItem:function(jq,_6f){ +return jq.each(function(){ +_16(this,_6f,false); +}); +},disableItem:function(jq,_70){ +return jq.each(function(){ +_16(this,_70,true); +}); +},showItem:function(jq,_71){ +return jq.each(function(){ +_5c(this,_71,true); +}); +},hideItem:function(jq,_72){ +return jq.each(function(){ +_5c(this,_72,false); +}); +},resize:function(jq,_73){ +return jq.each(function(){ +_10(this,_73?$(_73):$(this)); +}); +}}; +$.fn.menu.parseOptions=function(_74){ +return $.extend({},$.parser.parseOptions(_74,[{minWidth:"number",itemHeight:"number",duration:"number",hideOnUnhover:"boolean"},{fit:"boolean",inline:"boolean",noline:"boolean"}])); +}; +$.fn.menu.defaults={zIndex:110000,left:0,top:0,alignTo:null,align:"left",minWidth:120,itemHeight:22,duration:100,hideOnUnhover:true,inline:false,fit:false,noline:false,events:{mouseenter:_25,mouseleave:_28,mouseover:_2c,mouseout:_30,click:_33},position:function(_75,_76,top){ +return {left:_76,top:top}; +},onShow:function(){ +},onHide:function(){ +},onClick:function(_77){ +}}; +})(jQuery); + diff --git a/src/main/webapp/js/plugins/jquery.menubutton.js b/src/main/webapp/js/plugins/jquery.menubutton.js new file mode 100644 index 0000000..4438e0b --- /dev/null +++ b/src/main/webapp/js/plugins/jquery.menubutton.js @@ -0,0 +1,128 @@ +/** + * jQuery EasyUI 1.5.2 + * + * Copyright (c) 2009-2017 www.jeasyui.com. All rights reserved. + * + * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php + * To use it on other terms please contact us: info@jeasyui.com + * + */ +(function($){ +function _1(_2){ +var _3=$.data(_2,"menubutton").options; +var _4=$(_2); +_4.linkbutton(_3); +if(_3.hasDownArrow){ +_4.removeClass(_3.cls.btn1+" "+_3.cls.btn2).addClass("m-btn"); +_4.removeClass("m-btn-small m-btn-medium m-btn-large").addClass("m-btn-"+_3.size); +var _5=_4.find(".l-btn-left"); +$("").addClass(_3.cls.arrow).appendTo(_5); +$("").addClass("m-btn-line").appendTo(_5); +} +$(_2).menubutton("resize"); +if(_3.menu){ +$(_3.menu).menu({duration:_3.duration}); +var _6=$(_3.menu).menu("options"); +var _7=_6.onShow; +var _8=_6.onHide; +$.extend(_6,{onShow:function(){ +var _9=$(this).menu("options"); +var _a=$(_9.alignTo); +var _b=_a.menubutton("options"); +_a.addClass((_b.plain==true)?_b.cls.btn2:_b.cls.btn1); +_7.call(this); +},onHide:function(){ +var _c=$(this).menu("options"); +var _d=$(_c.alignTo); +var _e=_d.menubutton("options"); +_d.removeClass((_e.plain==true)?_e.cls.btn2:_e.cls.btn1); +_8.call(this); +}}); +} +}; +function _f(_10){ +var _11=$.data(_10,"menubutton").options; +var btn=$(_10); +var t=btn.find("."+_11.cls.trigger); +if(!t.length){ +t=btn; +} +t.unbind(".menubutton"); +var _12=null; +t.bind("click.menubutton",function(){ +if(!_13()){ +_14(_10); +return false; +} +}).bind("mouseenter.menubutton",function(){ +if(!_13()){ +_12=setTimeout(function(){ +_14(_10); +},_11.duration); +return false; +} +}).bind("mouseleave.menubutton",function(){ +if(_12){ +clearTimeout(_12); +} +$(_11.menu).triggerHandler("mouseleave"); +}); +function _13(){ +return $(_10).linkbutton("options").disabled; +}; +}; +function _14(_15){ +var _16=$(_15).menubutton("options"); +if(_16.disabled||!_16.menu){ +return; +} +$("body>div.menu-top").menu("hide"); +var btn=$(_15); +var mm=$(_16.menu); +if(mm.length){ +mm.menu("options").alignTo=btn; +mm.menu("show",{alignTo:btn,align:_16.menuAlign}); +} +btn.blur(); +}; +$.fn.menubutton=function(_17,_18){ +if(typeof _17=="string"){ +var _19=$.fn.menubutton.methods[_17]; +if(_19){ +return _19(this,_18); +}else{ +return this.linkbutton(_17,_18); +} +} +_17=_17||{}; +return this.each(function(){ +var _1a=$.data(this,"menubutton"); +if(_1a){ +$.extend(_1a.options,_17); +}else{ +$.data(this,"menubutton",{options:$.extend({},$.fn.menubutton.defaults,$.fn.menubutton.parseOptions(this),_17)}); +$(this).removeAttr("disabled"); +} +_1(this); +_f(this); +}); +}; +$.fn.menubutton.methods={options:function(jq){ +var _1b=jq.linkbutton("options"); +return $.extend($.data(jq[0],"menubutton").options,{toggle:_1b.toggle,selected:_1b.selected,disabled:_1b.disabled}); +},destroy:function(jq){ +return jq.each(function(){ +var _1c=$(this).menubutton("options"); +if(_1c.menu){ +$(_1c.menu).menu("destroy"); +} +$(this).remove(); +}); +}}; +$.fn.menubutton.parseOptions=function(_1d){ +var t=$(_1d); +return $.extend({},$.fn.linkbutton.parseOptions(_1d),$.parser.parseOptions(_1d,["menu",{plain:"boolean",hasDownArrow:"boolean",duration:"number"}])); +}; +$.fn.menubutton.defaults=$.extend({},$.fn.linkbutton.defaults,{plain:true,hasDownArrow:true,menu:null,menuAlign:"left",duration:100,cls:{btn1:"m-btn-active",btn2:"m-btn-plain-active",arrow:"m-btn-downarrow",trigger:"m-btn"}}); +})(jQuery); + diff --git a/src/main/webapp/js/plugins/jquery.messager.js b/src/main/webapp/js/plugins/jquery.messager.js new file mode 100644 index 0000000..76738b6 --- /dev/null +++ b/src/main/webapp/js/plugins/jquery.messager.js @@ -0,0 +1,187 @@ +/** + * jQuery EasyUI 1.5.2 + * + * Copyright (c) 2009-2017 www.jeasyui.com. All rights reserved. + * + * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php + * To use it on other terms please contact us: info@jeasyui.com + * + */ +(function($){ +function _1(){ +$(document).unbind(".messager").bind("keydown.messager",function(e){ +if(e.keyCode==27){ +$("body").children("div.messager-window").children("div.messager-body").each(function(){ +$(this).dialog("close"); +}); +}else{ +if(e.keyCode==9){ +var _2=$("body").children("div.messager-window"); +if(!_2.length){ +return; +} +var _3=_2.find(".messager-input,.messager-button .l-btn"); +for(var i=0;i<_3.length;i++){ +if($(_3[i]).is(":focus")){ +$(_3[i>=_3.length-1?0:i+1]).focus(); +return false; +} +} +}else{ +if(e.keyCode==13){ +var _4=$(e.target).closest("input.messager-input"); +if(_4.length){ +var _5=_4.closest(".messager-body"); +_6(_5,_4.val()); +} +} +} +} +}); +}; +function _7(){ +$(document).unbind(".messager"); +}; +function _8(_9){ +var _a=$.extend({},$.messager.defaults,{modal:false,shadow:false,draggable:false,resizable:false,closed:true,style:{left:"",top:"",right:0,zIndex:$.fn.window.defaults.zIndex++,bottom:-document.body.scrollTop-document.documentElement.scrollTop},title:"",width:250,height:100,minHeight:0,showType:"slide",showSpeed:600,content:_9.msg,timeout:4000},_9); +var _b=$("
          ").appendTo("body"); +_b.dialog($.extend({},_a,{noheader:(_a.title?false:true),openAnimation:(_a.showType),closeAnimation:(_a.showType=="show"?"hide":_a.showType),openDuration:_a.showSpeed,closeDuration:_a.showSpeed,onOpen:function(){ +_b.dialog("dialog").hover(function(){ +if(_a.timer){ +clearTimeout(_a.timer); +} +},function(){ +_c(); +}); +_c(); +function _c(){ +if(_a.timeout>0){ +_a.timer=setTimeout(function(){ +if(_b.length&&_b.data("dialog")){ +_b.dialog("close"); +} +},_a.timeout); +} +}; +if(_9.onOpen){ +_9.onOpen.call(this); +}else{ +_a.onOpen.call(this); +} +},onClose:function(){ +if(_a.timer){ +clearTimeout(_a.timer); +} +if(_9.onClose){ +_9.onClose.call(this); +}else{ +_a.onClose.call(this); +} +_b.dialog("destroy"); +}})); +_b.dialog("dialog").css(_a.style); +_b.dialog("open"); +return _b; +}; +function _d(_e){ +_1(); +var _f=$("
          ").appendTo("body"); +_f.dialog($.extend({},_e,{noheader:(_e.title?false:true),onClose:function(){ +_7(); +if(_e.onClose){ +_e.onClose.call(this); +} +setTimeout(function(){ +_f.dialog("destroy"); +},100); +}})); +var win=_f.dialog("dialog").addClass("messager-window"); +win.find(".dialog-button").addClass("messager-button").find("a:first").focus(); +return _f; +}; +function _6(dlg,_10){ +dlg.dialog("close"); +dlg.dialog("options").fn(_10); +}; +$.messager={show:function(_11){ +return _8(_11); +},alert:function(_12,msg,_13,fn){ +var _14=typeof _12=="object"?_12:{title:_12,msg:msg,icon:_13,fn:fn}; +var cls=_14.icon?"messager-icon messager-"+_14.icon:""; +_14=$.extend({},$.messager.defaults,{content:"
          "+"
          "+_14.msg+"
          "+"
          "},_14); +if(!_14.buttons){ +_14.buttons=[{text:_14.ok,onClick:function(){ +_6(dlg); +}}]; +} +var dlg=_d(_14); +return dlg; +},confirm:function(_15,msg,fn){ +var _16=typeof _15=="object"?_15:{title:_15,msg:msg,fn:fn}; +_16=$.extend({},$.messager.defaults,{content:"
          "+"
          "+_16.msg+"
          "+"
          "},_16); +if(!_16.buttons){ +_16.buttons=[{text:_16.ok,onClick:function(){ +_6(dlg,true); +}},{text:_16.cancel,onClick:function(){ +_6(dlg,false); +}}]; +} +var dlg=_d(_16); +return dlg; +},prompt:function(_17,msg,fn){ +var _18=typeof _17=="object"?_17:{title:_17,msg:msg,fn:fn}; +_18=$.extend({},$.messager.defaults,{content:"
          "+"
          "+_18.msg+"
          "+"
          "+"
          "+"
          "},_18); +if(!_18.buttons){ +_18.buttons=[{text:_18.ok,onClick:function(){ +_6(dlg,dlg.find(".messager-input").val()); +}},{text:_18.cancel,onClick:function(){ +_6(dlg); +}}]; +} +var dlg=_d(_18); +dlg.find(".messager-input").focus(); +return dlg; +},progress:function(_19){ +var _1a={bar:function(){ +return $("body>div.messager-window").find("div.messager-p-bar"); +},close:function(){ +var dlg=$("body>div.messager-window>div.messager-body:has(div.messager-progress)"); +if(dlg.length){ +dlg.dialog("close"); +} +}}; +if(typeof _19=="string"){ +var _1b=_1a[_19]; +return _1b(); +} +_19=_19||{}; +var _1c=$.extend({},{title:"",minHeight:0,content:undefined,msg:"",text:undefined,interval:300},_19); +var dlg=_d($.extend({},$.messager.defaults,{content:"
          "+_1c.msg+"
          ",closable:false,doSize:false},_1c,{onClose:function(){ +if(this.timer){ +clearInterval(this.timer); +} +if(_19.onClose){ +_19.onClose.call(this); +}else{ +$.messager.defaults.onClose.call(this); +} +}})); +var bar=dlg.find("div.messager-p-bar"); +bar.progressbar({text:_1c.text}); +dlg.dialog("resize"); +if(_1c.interval){ +dlg[0].timer=setInterval(function(){ +var v=bar.progressbar("getValue"); +v+=10; +if(v>100){ +v=0; +} +bar.progressbar("setValue",v); +},_1c.interval); +} +return dlg; +}}; +$.messager.defaults=$.extend({},$.fn.dialog.defaults,{ok:"Ok",cancel:"Cancel",width:300,height:"auto",minHeight:150,modal:true,collapsible:false,minimizable:false,maximizable:false,resizable:false,fn:function(){ +}}); +})(jQuery); + diff --git a/src/main/webapp/js/plugins/jquery.mobile.js b/src/main/webapp/js/plugins/jquery.mobile.js new file mode 100644 index 0000000..31f9702 --- /dev/null +++ b/src/main/webapp/js/plugins/jquery.mobile.js @@ -0,0 +1,141 @@ +/** + * jQuery EasyUI 1.5.2 + * + * Copyright (c) 2009-2017 www.jeasyui.com. All rights reserved. + * + * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php + * To use it on other terms please contact us: info@jeasyui.com + * + */ +(function($){ +$.fn.navpanel=function(_1,_2){ +if(typeof _1=="string"){ +var _3=$.fn.navpanel.methods[_1]; +return _3?_3(this,_2):this.panel(_1,_2); +}else{ +_1=_1||{}; +return this.each(function(){ +var _4=$.data(this,"navpanel"); +if(_4){ +$.extend(_4.options,_1); +}else{ +_4=$.data(this,"navpanel",{options:$.extend({},$.fn.navpanel.defaults,$.fn.navpanel.parseOptions(this),_1)}); +} +$(this).panel(_4.options); +}); +} +}; +$.fn.navpanel.methods={options:function(jq){ +return $.data(jq[0],"navpanel").options; +}}; +$.fn.navpanel.parseOptions=function(_5){ +return $.extend({},$.fn.panel.parseOptions(_5),$.parser.parseOptions(_5,[])); +}; +$.fn.navpanel.defaults=$.extend({},$.fn.panel.defaults,{fit:true,border:false,cls:"navpanel"}); +$.parser.plugins.push("navpanel"); +})(jQuery); +(function($){ +$(function(){ +$.mobile.init(); +}); +$.mobile={defaults:{animation:"slide",direction:"left",reverseDirections:{up:"down",down:"up",left:"right",right:"left"}},panels:[],init:function(_6){ +$.mobile.panels=[]; +var _7=$(_6||"body").children(".navpanel:visible"); +if(_7.length){ +_7.not(":first").children(".panel-body").navpanel("close"); +var p=_7.eq(0).children(".panel-body"); +$.mobile.panels.push({panel:p,animation:$.mobile.defaults.animation,direction:$.mobile.defaults.direction}); +} +$(document).unbind(".mobile").bind("click.mobile",function(e){ +var a=$(e.target).closest("a"); +if(a.length){ +var _8=$.parser.parseOptions(a[0],["animation","direction",{back:"boolean"}]); +if(_8.back){ +$.mobile.back(); +e.preventDefault(); +}else{ +var _9=$.trim(a.attr("href")); +if(/^#/.test(_9)){ +var to=$(_9); +if(to.length&&to.hasClass("panel-body")){ +$.mobile.go(to,_8.animation,_8.direction); +e.preventDefault(); +} +} +} +} +}); +$(window).unbind(".mobile").bind("hashchange.mobile",function(){ +var _a=$.mobile.panels.length; +if(_a>1){ +var _b=location.hash; +var p=$.mobile.panels[_a-2]; +if(!_b||_b=="#&"+p.panel.attr("id")){ +$.mobile._back(); +} +} +}); +},nav:function(_c,to,_d,_e){ +if(window.WebKitAnimationEvent){ +_d=_d!=undefined?_d:$.mobile.defaults.animation; +_e=_e!=undefined?_e:$.mobile.defaults.direction; +var _f="m-"+_d+(_e?"-"+_e:""); +var p1=$(_c).panel("open").panel("resize").panel("panel"); +var p2=$(to).panel("open").panel("resize").panel("panel"); +p1.add(p2).bind("webkitAnimationEnd",function(){ +$(this).unbind("webkitAnimationEnd"); +var p=$(this).children(".panel-body"); +if($(this).hasClass("m-in")){ +p.panel("open").panel("resize"); +}else{ +p.panel("close"); +} +$(this).removeClass(_f+" m-in m-out"); +}); +p2.addClass(_f+" m-in"); +p1.addClass(_f+" m-out"); +}else{ +$(to).panel("open").panel("resize"); +$(_c).panel("close"); +} +},_go:function(_10,_11,_12){ +_11=_11!=undefined?_11:$.mobile.defaults.animation; +_12=_12!=undefined?_12:$.mobile.defaults.direction; +var _13=$.mobile.panels[$.mobile.panels.length-1].panel; +var to=$(_10); +if(_13[0]!=to[0]){ +$.mobile.nav(_13,to,_11,_12); +$.mobile.panels.push({panel:to,animation:_11,direction:_12}); +} +},_back:function(){ +if($.mobile.panels.length<2){ +return; +} +var p1=$.mobile.panels.pop(); +var p2=$.mobile.panels[$.mobile.panels.length-1]; +var _14=p1.animation; +var _15=$.mobile.defaults.reverseDirections[p1.direction]||""; +$.mobile.nav(p1.panel,p2.panel,_14,_15); +},go:function(_16,_17,_18){ +_17=_17!=undefined?_17:$.mobile.defaults.animation; +_18=_18!=undefined?_18:$.mobile.defaults.direction; +location.hash="#&"+$(_16).attr("id"); +$.mobile._go(_16,_17,_18); +},back:function(){ +history.go(-1); +}}; +$.map(["validatebox","textbox","passwordbox","filebox","searchbox","combo","combobox","combogrid","combotree","combotreegrid","datebox","datetimebox","numberbox","spinner","numberspinner","timespinner","datetimespinner"],function(_19){ +if($.fn[_19]){ +$.extend($.fn[_19].defaults,{iconWidth:28,tipPosition:"bottom"}); +} +}); +$.map(["spinner","numberspinner","timespinner","datetimespinner"],function(_1a){ +if($.fn[_1a]){ +$.extend($.fn[_1a].defaults,{iconWidth:56,spinAlign:"horizontal"}); +} +}); +if($.fn.menu){ +$.extend($.fn.menu.defaults,{itemHeight:30,noline:true}); +} +})(jQuery); + diff --git a/src/main/webapp/js/plugins/jquery.numberbox.js b/src/main/webapp/js/plugins/jquery.numberbox.js new file mode 100644 index 0000000..2641cf8 --- /dev/null +++ b/src/main/webapp/js/plugins/jquery.numberbox.js @@ -0,0 +1,178 @@ +/** + * jQuery EasyUI 1.5.2 + * + * Copyright (c) 2009-2017 www.jeasyui.com. All rights reserved. + * + * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php + * To use it on other terms please contact us: info@jeasyui.com + * + */ +(function($){ +function _1(_2){ +var _3=$.data(_2,"numberbox"); +var _4=_3.options; +$(_2).addClass("numberbox-f").textbox(_4); +$(_2).textbox("textbox").css({imeMode:"disabled"}); +$(_2).attr("numberboxName",$(_2).attr("textboxName")); +_3.numberbox=$(_2).next(); +_3.numberbox.addClass("numberbox"); +var _5=_4.parser.call(_2,_4.value); +var _6=_4.formatter.call(_2,_5); +$(_2).numberbox("initValue",_5).numberbox("setText",_6); +}; +function _7(_8,_9){ +var _a=$.data(_8,"numberbox"); +var _b=_a.options; +_b.value=parseFloat(_9); +var _9=_b.parser.call(_8,_9); +var _c=_b.formatter.call(_8,_9); +_b.value=_9; +$(_8).textbox("setText",_c).textbox("setValue",_9); +_c=_b.formatter.call(_8,$(_8).textbox("getValue")); +$(_8).textbox("setText",_c); +}; +$.fn.numberbox=function(_d,_e){ +if(typeof _d=="string"){ +var _f=$.fn.numberbox.methods[_d]; +if(_f){ +return _f(this,_e); +}else{ +return this.textbox(_d,_e); +} +} +_d=_d||{}; +return this.each(function(){ +var _10=$.data(this,"numberbox"); +if(_10){ +$.extend(_10.options,_d); +}else{ +_10=$.data(this,"numberbox",{options:$.extend({},$.fn.numberbox.defaults,$.fn.numberbox.parseOptions(this),_d)}); +} +_1(this); +}); +}; +$.fn.numberbox.methods={options:function(jq){ +var _11=jq.data("textbox")?jq.textbox("options"):{}; +return $.extend($.data(jq[0],"numberbox").options,{width:_11.width,originalValue:_11.originalValue,disabled:_11.disabled,readonly:_11.readonly}); +},fix:function(jq){ +return jq.each(function(){ +var _12=$(this).numberbox("options"); +_12.value=null; +var _13=_12.parser.call(this,$(this).numberbox("getText")); +$(this).numberbox("setValue",_13); +}); +},setValue:function(jq,_14){ +return jq.each(function(){ +_7(this,_14); +}); +},clear:function(jq){ +return jq.each(function(){ +$(this).textbox("clear"); +$(this).numberbox("options").value=""; +}); +},reset:function(jq){ +return jq.each(function(){ +$(this).textbox("reset"); +$(this).numberbox("setValue",$(this).numberbox("getValue")); +}); +}}; +$.fn.numberbox.parseOptions=function(_15){ +var t=$(_15); +return $.extend({},$.fn.textbox.parseOptions(_15),$.parser.parseOptions(_15,["decimalSeparator","groupSeparator","suffix",{min:"number",max:"number",precision:"number"}]),{prefix:(t.attr("prefix")?t.attr("prefix"):undefined)}); +}; +$.fn.numberbox.defaults=$.extend({},$.fn.textbox.defaults,{inputEvents:{keypress:function(e){ +var _16=e.data.target; +var _17=$(_16).numberbox("options"); +return _17.filter.call(_16,e); +},blur:function(e){ +$(e.data.target).numberbox("fix"); +},keydown:function(e){ +if(e.keyCode==13){ +$(e.data.target).numberbox("fix"); +} +}},min:null,max:null,precision:0,decimalSeparator:".",groupSeparator:"",prefix:"",suffix:"",filter:function(e){ +var _18=$(this).numberbox("options"); +var s=$(this).numberbox("getText"); +if(e.metaKey||e.ctrlKey){ +return true; +} +if($.inArray(String(e.which),["46","8","13","0"])>=0){ +return true; +} +var tmp=$(""); +tmp.html(String.fromCharCode(e.which)); +var c=tmp.text(); +tmp.remove(); +if(!c){ +return true; +} +if(c=="-"||c==_18.decimalSeparator){ +return (s.indexOf(c)==-1)?true:false; +}else{ +if(c==_18.groupSeparator){ +return true; +}else{ +if("0123456789".indexOf(c)>=0){ +return true; +}else{ +return false; +} +} +} +},formatter:function(_19){ +if(!_19){ +return _19; +} +_19=_19+""; +var _1a=$(this).numberbox("options"); +var s1=_19,s2=""; +var _1b=_19.indexOf("."); +if(_1b>=0){ +s1=_19.substring(0,_1b); +s2=_19.substring(_1b+1,_19.length); +} +if(_1a.groupSeparator){ +var p=/(\d+)(\d{3})/; +while(p.test(s1)){ +s1=s1.replace(p,"$1"+_1a.groupSeparator+"$2"); +} +} +if(s2){ +return _1a.prefix+s1+_1a.decimalSeparator+s2+_1a.suffix; +}else{ +return _1a.prefix+s1+_1a.suffix; +} +},parser:function(s){ +s=s+""; +var _1c=$(this).numberbox("options"); +if(_1c.prefix){ +s=$.trim(s.replace(new RegExp("\\"+$.trim(_1c.prefix),"g"),"")); +} +if(_1c.suffix){ +s=$.trim(s.replace(new RegExp("\\"+$.trim(_1c.suffix),"g"),"")); +} +if(parseFloat(s)!=_1c.value){ +if(_1c.groupSeparator){ +s=$.trim(s.replace(new RegExp("\\"+_1c.groupSeparator,"g"),"")); +} +if(_1c.decimalSeparator){ +s=$.trim(s.replace(new RegExp("\\"+_1c.decimalSeparator,"g"),".")); +} +s=s.replace(/\s/g,""); +} +var val=parseFloat(s).toFixed(_1c.precision); +if(isNaN(val)){ +val=""; +}else{ +if(typeof (_1c.min)=="number"&&val<_1c.min){ +val=_1c.min.toFixed(_1c.precision); +}else{ +if(typeof (_1c.max)=="number"&&val>_1c.max){ +val=_1c.max.toFixed(_1c.precision); +} +} +} +return val; +}}); +})(jQuery); + diff --git a/src/main/webapp/js/plugins/jquery.numberspinner.js b/src/main/webapp/js/plugins/jquery.numberspinner.js new file mode 100644 index 0000000..81571bb --- /dev/null +++ b/src/main/webapp/js/plugins/jquery.numberspinner.js @@ -0,0 +1,58 @@ +/** + * jQuery EasyUI 1.5.2 + * + * Copyright (c) 2009-2017 www.jeasyui.com. All rights reserved. + * + * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php + * To use it on other terms please contact us: info@jeasyui.com + * + */ +(function($){ +function _1(_2){ +$(_2).addClass("numberspinner-f"); +var _3=$.data(_2,"numberspinner").options; +$(_2).numberbox($.extend({},_3,{doSize:false})).spinner(_3); +$(_2).numberbox("setValue",_3.value); +}; +function _4(_5,_6){ +var _7=$.data(_5,"numberspinner").options; +var v=parseFloat($(_5).numberbox("getValue")||_7.value)||0; +if(_6){ +v-=_7.increment; +}else{ +v+=_7.increment; +} +$(_5).numberbox("setValue",v); +}; +$.fn.numberspinner=function(_8,_9){ +if(typeof _8=="string"){ +var _a=$.fn.numberspinner.methods[_8]; +if(_a){ +return _a(this,_9); +}else{ +return this.numberbox(_8,_9); +} +} +_8=_8||{}; +return this.each(function(){ +var _b=$.data(this,"numberspinner"); +if(_b){ +$.extend(_b.options,_8); +}else{ +$.data(this,"numberspinner",{options:$.extend({},$.fn.numberspinner.defaults,$.fn.numberspinner.parseOptions(this),_8)}); +} +_1(this); +}); +}; +$.fn.numberspinner.methods={options:function(jq){ +var _c=jq.numberbox("options"); +return $.extend($.data(jq[0],"numberspinner").options,{width:_c.width,value:_c.value,originalValue:_c.originalValue,disabled:_c.disabled,readonly:_c.readonly}); +}}; +$.fn.numberspinner.parseOptions=function(_d){ +return $.extend({},$.fn.spinner.parseOptions(_d),$.fn.numberbox.parseOptions(_d),{}); +}; +$.fn.numberspinner.defaults=$.extend({},$.fn.spinner.defaults,$.fn.numberbox.defaults,{spin:function(_e){ +_4(this,_e); +}}); +})(jQuery); + diff --git a/src/main/webapp/js/plugins/jquery.pagination.js b/src/main/webapp/js/plugins/jquery.pagination.js new file mode 100644 index 0000000..8bcc4f7 --- /dev/null +++ b/src/main/webapp/js/plugins/jquery.pagination.js @@ -0,0 +1,296 @@ +/** + * jQuery EasyUI 1.5.2 + * + * Copyright (c) 2009-2017 www.jeasyui.com. All rights reserved. + * + * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php + * To use it on other terms please contact us: info@jeasyui.com + * + */ +(function($){ +function _1(_2){ +var _3=$.data(_2,"pagination"); +var _4=_3.options; +var bb=_3.bb={}; +var _5=$(_2).addClass("pagination").html("
          "); +var tr=_5.find("tr"); +var aa=$.extend([],_4.layout); +if(!_4.showPageList){ +_6(aa,"list"); +} +if(!_4.showPageInfo){ +_6(aa,"info"); +} +if(!_4.showRefresh){ +_6(aa,"refresh"); +} +if(aa[0]=="sep"){ +aa.shift(); +} +if(aa[aa.length-1]=="sep"){ +aa.pop(); +} +for(var _7=0;_7"); +ps.bind("change",function(){ +_4.pageSize=parseInt($(this).val()); +_4.onChangePageSize.call(_2,_4.pageSize); +_10(_2,_4.pageNumber); +}); +for(var i=0;i<_4.pageList.length;i++){ +$("").text(_4.pageList[i]).appendTo(ps); +} +$("").append(ps).appendTo(tr); +}else{ +if(_8=="sep"){ +$("
          ").appendTo(tr); +}else{ +if(_8=="first"){ +bb.first=_9("first"); +}else{ +if(_8=="prev"){ +bb.prev=_9("prev"); +}else{ +if(_8=="next"){ +bb.next=_9("next"); +}else{ +if(_8=="last"){ +bb.last=_9("last"); +}else{ +if(_8=="manual"){ +$("").html(_4.beforePageText).appendTo(tr).wrap(""); +bb.num=$("").appendTo(tr).wrap(""); +bb.num.unbind(".pagination").bind("keydown.pagination",function(e){ +if(e.keyCode==13){ +var _a=parseInt($(this).val())||1; +_10(_2,_a); +return false; +} +}); +bb.after=$("").appendTo(tr).wrap(""); +}else{ +if(_8=="refresh"){ +bb.refresh=_9("refresh"); +}else{ +if(_8=="links"){ +$("").appendTo(tr); +}else{ +if(_8=="info"){ +if(_7==aa.length-1){ +$("
          ").appendTo(_5); +$("
          ").appendTo(_5); +}else{ +$("
          ").appendTo(tr); +} +} +} +} +} +} +} +} +} +} +} +} +if(_4.buttons){ +$("
          ").appendTo(tr); +if($.isArray(_4.buttons)){ +for(var i=0;i<_4.buttons.length;i++){ +var _b=_4.buttons[i]; +if(_b=="-"){ +$("
          ").appendTo(tr); +}else{ +var td=$("").appendTo(tr); +var a=$("").appendTo(td); +a[0].onclick=eval(_b.handler||function(){ +}); +a.linkbutton($.extend({},_b,{plain:true})); +} +} +}else{ +var td=$("").appendTo(tr); +$(_4.buttons).appendTo(td).show(); +} +} +function _9(_c){ +var _d=_4.nav[_c]; +var a=$("").appendTo(tr); +a.wrap(""); +a.linkbutton({iconCls:_d.iconCls,plain:true}).unbind(".pagination").bind("click.pagination",function(){ +_d.handler.call(_2); +}); +return a; +}; +function _6(aa,_e){ +var _f=$.inArray(_e,aa); +if(_f>=0){ +aa.splice(_f,1); +} +return aa; +}; +}; +function _10(_11,_12){ +var _13=$.data(_11,"pagination").options; +_14(_11,{pageNumber:_12}); +_13.onSelectPage.call(_11,_13.pageNumber,_13.pageSize); +}; +function _14(_15,_16){ +var _17=$.data(_15,"pagination"); +var _18=_17.options; +var bb=_17.bb; +$.extend(_18,_16||{}); +var ps=$(_15).find("select.pagination-page-list"); +if(ps.length){ +ps.val(_18.pageSize+""); +_18.pageSize=parseInt(ps.val()); +} +var _19=Math.ceil(_18.total/_18.pageSize)||1; +if(_18.pageNumber<1){ +_18.pageNumber=1; +} +if(_18.pageNumber>_19){ +_18.pageNumber=_19; +} +if(_18.total==0){ +_18.pageNumber=0; +_19=0; +} +if(bb.num){ +bb.num.val(_18.pageNumber); +} +if(bb.after){ +bb.after.html(_18.afterPageText.replace(/{pages}/,_19)); +} +var td=$(_15).find("td.pagination-links"); +if(td.length){ +td.empty(); +var _1a=_18.pageNumber-Math.floor(_18.links/2); +if(_1a<1){ +_1a=1; +} +var _1b=_1a+_18.links-1; +if(_1b>_19){ +_1b=_19; +} +_1a=_1b-_18.links+1; +if(_1a<1){ +_1a=1; +} +for(var i=_1a;i<=_1b;i++){ +var a=$("").appendTo(td); +a.linkbutton({plain:true,text:i}); +if(i==_18.pageNumber){ +a.linkbutton("select"); +}else{ +a.unbind(".pagination").bind("click.pagination",{pageNumber:i},function(e){ +_10(_15,e.data.pageNumber); +}); +} +} +} +var _1c=_18.displayMsg; +_1c=_1c.replace(/{from}/,_18.total==0?0:_18.pageSize*(_18.pageNumber-1)+1); +_1c=_1c.replace(/{to}/,Math.min(_18.pageSize*(_18.pageNumber),_18.total)); +_1c=_1c.replace(/{total}/,_18.total); +$(_15).find("div.pagination-info").html(_1c); +if(bb.first){ +bb.first.linkbutton({disabled:((!_18.total)||_18.pageNumber==1)}); +} +if(bb.prev){ +bb.prev.linkbutton({disabled:((!_18.total)||_18.pageNumber==1)}); +} +if(bb.next){ +bb.next.linkbutton({disabled:(_18.pageNumber==_19)}); +} +if(bb.last){ +bb.last.linkbutton({disabled:(_18.pageNumber==_19)}); +} +_1d(_15,_18.loading); +}; +function _1d(_1e,_1f){ +var _20=$.data(_1e,"pagination"); +var _21=_20.options; +_21.loading=_1f; +if(_21.showRefresh&&_20.bb.refresh){ +_20.bb.refresh.linkbutton({iconCls:(_21.loading?"pagination-loading":"pagination-load")}); +} +}; +$.fn.pagination=function(_22,_23){ +if(typeof _22=="string"){ +return $.fn.pagination.methods[_22](this,_23); +} +_22=_22||{}; +return this.each(function(){ +var _24; +var _25=$.data(this,"pagination"); +if(_25){ +_24=$.extend(_25.options,_22); +}else{ +_24=$.extend({},$.fn.pagination.defaults,$.fn.pagination.parseOptions(this),_22); +$.data(this,"pagination",{options:_24}); +} +_1(this); +_14(this); +}); +}; +$.fn.pagination.methods={options:function(jq){ +return $.data(jq[0],"pagination").options; +},loading:function(jq){ +return jq.each(function(){ +_1d(this,true); +}); +},loaded:function(jq){ +return jq.each(function(){ +_1d(this,false); +}); +},refresh:function(jq,_26){ +return jq.each(function(){ +_14(this,_26); +}); +},select:function(jq,_27){ +return jq.each(function(){ +_10(this,_27); +}); +}}; +$.fn.pagination.parseOptions=function(_28){ +var t=$(_28); +return $.extend({},$.parser.parseOptions(_28,[{total:"number",pageSize:"number",pageNumber:"number",links:"number"},{loading:"boolean",showPageList:"boolean",showPageInfo:"boolean",showRefresh:"boolean"}]),{pageList:(t.attr("pageList")?eval(t.attr("pageList")):undefined)}); +}; +$.fn.pagination.defaults={total:1,pageSize:10,pageNumber:1,pageList:[10,20,30,50],loading:false,buttons:null,showPageList:true,showPageInfo:true,showRefresh:true,links:10,layout:["list","sep","first","prev","sep","manual","sep","next","last","sep","refresh","info"],onSelectPage:function(_29,_2a){ +},onBeforeRefresh:function(_2b,_2c){ +},onRefresh:function(_2d,_2e){ +},onChangePageSize:function(_2f){ +},beforePageText:"Page",afterPageText:"of {pages}",displayMsg:"Displaying {from} to {to} of {total} items",nav:{first:{iconCls:"pagination-first",handler:function(){ +var _30=$(this).pagination("options"); +if(_30.pageNumber>1){ +$(this).pagination("select",1); +} +}},prev:{iconCls:"pagination-prev",handler:function(){ +var _31=$(this).pagination("options"); +if(_31.pageNumber>1){ +$(this).pagination("select",_31.pageNumber-1); +} +}},next:{iconCls:"pagination-next",handler:function(){ +var _32=$(this).pagination("options"); +var _33=Math.ceil(_32.total/_32.pageSize); +if(_32.pageNumber<_33){ +$(this).pagination("select",_32.pageNumber+1); +} +}},last:{iconCls:"pagination-last",handler:function(){ +var _34=$(this).pagination("options"); +var _35=Math.ceil(_34.total/_34.pageSize); +if(_34.pageNumber<_35){ +$(this).pagination("select",_35); +} +}},refresh:{iconCls:"pagination-refresh",handler:function(){ +var _36=$(this).pagination("options"); +if(_36.onBeforeRefresh.call(this,_36.pageNumber,_36.pageSize)!=false){ +$(this).pagination("select",_36.pageNumber); +_36.onRefresh.call(this,_36.pageNumber,_36.pageSize); +} +}}}}; +})(jQuery); + diff --git a/src/main/webapp/js/plugins/jquery.panel.js b/src/main/webapp/js/plugins/jquery.panel.js new file mode 100644 index 0000000..da15ff4 --- /dev/null +++ b/src/main/webapp/js/plugins/jquery.panel.js @@ -0,0 +1,674 @@ +/** + * jQuery EasyUI 1.5.2 + * + * Copyright (c) 2009-2017 www.jeasyui.com. All rights reserved. + * + * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php + * To use it on other terms please contact us: info@jeasyui.com + * + */ +(function($){ +$.fn._remove=function(){ +return this.each(function(){ +$(this).remove(); +try{ +this.outerHTML=""; +} +catch(err){ +} +}); +}; +function _1(_2){ +_2._remove(); +}; +function _3(_4,_5){ +var _6=$.data(_4,"panel"); +var _7=_6.options; +var _8=_6.panel; +var _9=_8.children(".panel-header"); +var _a=_8.children(".panel-body"); +var _b=_8.children(".panel-footer"); +var _c=(_7.halign=="left"||_7.halign=="right"); +if(_5){ +$.extend(_7,{width:_5.width,height:_5.height,minWidth:_5.minWidth,maxWidth:_5.maxWidth,minHeight:_5.minHeight,maxHeight:_5.maxHeight,left:_5.left,top:_5.top}); +} +_8._size(_7); +if(!_c){ +_9._outerWidth(_8.width()); +} +_a._outerWidth(_8.width()); +if(!isNaN(parseInt(_7.height))){ +if(_c){ +if(_7.header){ +var _d=$(_7.header)._outerWidth(); +}else{ +_9.css("width",""); +var _d=_9._outerWidth(); +} +var _e=_9.find(".panel-title"); +_d+=Math.min(_e._outerWidth(),_e._outerHeight()); +var _f=_8.height(); +_9._outerWidth(_d)._outerHeight(_f); +_e._outerWidth(_9.height()); +_a._outerWidth(_8.width()-_d-_b._outerWidth())._outerHeight(_f); +_b._outerHeight(_f); +_a.css({left:"",right:""}).css(_7.halign,(_9.position()[_7.halign]+_d)+"px"); +_7.panelCssWidth=_8.css("width"); +if(_7.collapsed){ +_8._outerWidth(_d+_b._outerWidth()); +} +}else{ +_a._outerHeight(_8.height()-_9._outerHeight()-_b._outerHeight()); +} +}else{ +_a.css("height",""); +var min=$.parser.parseValue("minHeight",_7.minHeight,_8.parent()); +var max=$.parser.parseValue("maxHeight",_7.maxHeight,_8.parent()); +var _10=_9._outerHeight()+_b._outerHeight()+_8._outerHeight()-_8.height(); +_a._size("minHeight",min?(min-_10):""); +_a._size("maxHeight",max?(max-_10):""); +} +_8.css({height:(_c?undefined:""),minHeight:"",maxHeight:"",left:_7.left,top:_7.top}); +_7.onResize.apply(_4,[_7.width,_7.height]); +$(_4).panel("doLayout"); +}; +function _11(_12,_13){ +var _14=$.data(_12,"panel"); +var _15=_14.options; +var _16=_14.panel; +if(_13){ +if(_13.left!=null){ +_15.left=_13.left; +} +if(_13.top!=null){ +_15.top=_13.top; +} +} +_16.css({left:_15.left,top:_15.top}); +_16.find(".tooltip-f").each(function(){ +$(this).tooltip("reposition"); +}); +_15.onMove.apply(_12,[_15.left,_15.top]); +}; +function _17(_18){ +$(_18).addClass("panel-body")._size("clear"); +var _19=$("
          ").insertBefore(_18); +_19[0].appendChild(_18); +_19.bind("_resize",function(e,_1a){ +if($(this).hasClass("easyui-fluid")||_1a){ +_3(_18); +} +return false; +}); +return _19; +}; +function _1b(_1c){ +var _1d=$.data(_1c,"panel"); +var _1e=_1d.options; +var _1f=_1d.panel; +_1f.css(_1e.style); +_1f.addClass(_1e.cls); +_1f.removeClass("panel-hleft panel-hright").addClass("panel-h"+_1e.halign); +_20(); +_21(); +var _22=$(_1c).panel("header"); +var _23=$(_1c).panel("body"); +var _24=$(_1c).siblings(".panel-footer"); +if(_1e.border){ +_22.removeClass("panel-header-noborder"); +_23.removeClass("panel-body-noborder"); +_24.removeClass("panel-footer-noborder"); +}else{ +_22.addClass("panel-header-noborder"); +_23.addClass("panel-body-noborder"); +_24.addClass("panel-footer-noborder"); +} +_22.addClass(_1e.headerCls); +_23.addClass(_1e.bodyCls); +$(_1c).attr("id",_1e.id||""); +if(_1e.content){ +$(_1c).panel("clear"); +$(_1c).html(_1e.content); +$.parser.parse($(_1c)); +} +function _20(){ +if(_1e.noheader||(!_1e.title&&!_1e.header)){ +_1(_1f.children(".panel-header")); +_1f.children(".panel-body").addClass("panel-body-noheader"); +}else{ +if(_1e.header){ +$(_1e.header).addClass("panel-header").prependTo(_1f); +}else{ +var _25=_1f.children(".panel-header"); +if(!_25.length){ +_25=$("
          ").prependTo(_1f); +} +if(!$.isArray(_1e.tools)){ +_25.find("div.panel-tool .panel-tool-a").appendTo(_1e.tools); +} +_25.empty(); +var _26=$("
          ").html(_1e.title).appendTo(_25); +if(_1e.iconCls){ +_26.addClass("panel-with-icon"); +$("
          ").addClass(_1e.iconCls).appendTo(_25); +} +if(_1e.halign=="left"||_1e.halign=="right"){ +_26.addClass("panel-title-"+_1e.titleDirection); +} +var _27=$("
          ").appendTo(_25); +_27.bind("click",function(e){ +e.stopPropagation(); +}); +if(_1e.tools){ +if($.isArray(_1e.tools)){ +$.map(_1e.tools,function(t){ +_28(_27,t.iconCls,eval(t.handler)); +}); +}else{ +$(_1e.tools).children().each(function(){ +$(this).addClass($(this).attr("iconCls")).addClass("panel-tool-a").appendTo(_27); +}); +} +} +if(_1e.collapsible){ +_28(_27,"panel-tool-collapse",function(){ +if(_1e.collapsed==true){ +_52(_1c,true); +}else{ +_3e(_1c,true); +} +}); +} +if(_1e.minimizable){ +_28(_27,"panel-tool-min",function(){ +_5d(_1c); +}); +} +if(_1e.maximizable){ +_28(_27,"panel-tool-max",function(){ +if(_1e.maximized==true){ +_61(_1c); +}else{ +_3d(_1c); +} +}); +} +if(_1e.closable){ +_28(_27,"panel-tool-close",function(){ +_3f(_1c); +}); +} +} +_1f.children("div.panel-body").removeClass("panel-body-noheader"); +} +}; +function _28(c,_29,_2a){ +var a=$("").addClass(_29).appendTo(c); +a.bind("click",_2a); +}; +function _21(){ +if(_1e.footer){ +$(_1e.footer).addClass("panel-footer").appendTo(_1f); +$(_1c).addClass("panel-body-nobottom"); +}else{ +_1f.children(".panel-footer").remove(); +$(_1c).removeClass("panel-body-nobottom"); +} +}; +}; +function _2b(_2c,_2d){ +var _2e=$.data(_2c,"panel"); +var _2f=_2e.options; +if(_30){ +_2f.queryParams=_2d; +} +if(!_2f.href){ +return; +} +if(!_2e.isLoaded||!_2f.cache){ +var _30=$.extend({},_2f.queryParams); +if(_2f.onBeforeLoad.call(_2c,_30)==false){ +return; +} +_2e.isLoaded=false; +if(_2f.loadingMessage){ +$(_2c).panel("clear"); +$(_2c).html($("
          ").html(_2f.loadingMessage)); +} +_2f.loader.call(_2c,_30,function(_31){ +var _32=_2f.extractor.call(_2c,_31); +$(_2c).panel("clear"); +$(_2c).html(_32); +$.parser.parse($(_2c)); +_2f.onLoad.apply(_2c,arguments); +_2e.isLoaded=true; +},function(){ +_2f.onLoadError.apply(_2c,arguments); +}); +} +}; +function _33(_34){ +var t=$(_34); +t.find(".combo-f").each(function(){ +$(this).combo("destroy"); +}); +t.find(".m-btn").each(function(){ +$(this).menubutton("destroy"); +}); +t.find(".s-btn").each(function(){ +$(this).splitbutton("destroy"); +}); +t.find(".tooltip-f").each(function(){ +$(this).tooltip("destroy"); +}); +t.children("div").each(function(){ +$(this)._size("unfit"); +}); +t.empty(); +}; +function _35(_36){ +$(_36).panel("doLayout",true); +}; +function _37(_38,_39){ +var _3a=$.data(_38,"panel").options; +var _3b=$.data(_38,"panel").panel; +if(_39!=true){ +if(_3a.onBeforeOpen.call(_38)==false){ +return; +} +} +_3b.stop(true,true); +if($.isFunction(_3a.openAnimation)){ +_3a.openAnimation.call(_38,cb); +}else{ +switch(_3a.openAnimation){ +case "slide": +_3b.slideDown(_3a.openDuration,cb); +break; +case "fade": +_3b.fadeIn(_3a.openDuration,cb); +break; +case "show": +_3b.show(_3a.openDuration,cb); +break; +default: +_3b.show(); +cb(); +} +} +function cb(){ +_3a.closed=false; +_3a.minimized=false; +var _3c=_3b.children(".panel-header").find("a.panel-tool-restore"); +if(_3c.length){ +_3a.maximized=true; +} +_3a.onOpen.call(_38); +if(_3a.maximized==true){ +_3a.maximized=false; +_3d(_38); +} +if(_3a.collapsed==true){ +_3a.collapsed=false; +_3e(_38); +} +if(!_3a.collapsed){ +_2b(_38); +_35(_38); +} +}; +}; +function _3f(_40,_41){ +var _42=$.data(_40,"panel"); +var _43=_42.options; +var _44=_42.panel; +if(_41!=true){ +if(_43.onBeforeClose.call(_40)==false){ +return; +} +} +_44.find(".tooltip-f").each(function(){ +$(this).tooltip("hide"); +}); +_44.stop(true,true); +_44._size("unfit"); +if($.isFunction(_43.closeAnimation)){ +_43.closeAnimation.call(_40,cb); +}else{ +switch(_43.closeAnimation){ +case "slide": +_44.slideUp(_43.closeDuration,cb); +break; +case "fade": +_44.fadeOut(_43.closeDuration,cb); +break; +case "hide": +_44.hide(_43.closeDuration,cb); +break; +default: +_44.hide(); +cb(); +} +} +function cb(){ +_43.closed=true; +_43.onClose.call(_40); +}; +}; +function _45(_46,_47){ +var _48=$.data(_46,"panel"); +var _49=_48.options; +var _4a=_48.panel; +if(_47!=true){ +if(_49.onBeforeDestroy.call(_46)==false){ +return; +} +} +$(_46).panel("clear").panel("clear","footer"); +_1(_4a); +_49.onDestroy.call(_46); +}; +function _3e(_4b,_4c){ +var _4d=$.data(_4b,"panel").options; +var _4e=$.data(_4b,"panel").panel; +var _4f=_4e.children(".panel-body"); +var _50=_4e.children(".panel-header"); +var _51=_50.find("a.panel-tool-collapse"); +if(_4d.collapsed==true){ +return; +} +_4f.stop(true,true); +if(_4d.onBeforeCollapse.call(_4b)==false){ +return; +} +_51.addClass("panel-tool-expand"); +if(_4c==true){ +if(_4d.halign=="left"||_4d.halign=="right"){ +_4e.animate({width:_50._outerWidth()+_4e.children(".panel-footer")._outerWidth()},function(){ +cb(); +}); +}else{ +_4f.slideUp("normal",function(){ +cb(); +}); +} +}else{ +if(_4d.halign=="left"||_4d.halign=="right"){ +_4e._outerWidth(_50._outerWidth()+_4e.children(".panel-footer")._outerWidth()); +} +cb(); +} +function cb(){ +_4f.hide(); +_4d.collapsed=true; +_4d.onCollapse.call(_4b); +}; +}; +function _52(_53,_54){ +var _55=$.data(_53,"panel").options; +var _56=$.data(_53,"panel").panel; +var _57=_56.children(".panel-body"); +var _58=_56.children(".panel-header").find("a.panel-tool-collapse"); +if(_55.collapsed==false){ +return; +} +_57.stop(true,true); +if(_55.onBeforeExpand.call(_53)==false){ +return; +} +_58.removeClass("panel-tool-expand"); +if(_54==true){ +if(_55.halign=="left"||_55.halign=="right"){ +_57.show(); +_56.animate({width:_55.panelCssWidth},function(){ +cb(); +}); +}else{ +_57.slideDown("normal",function(){ +cb(); +}); +} +}else{ +if(_55.halign=="left"||_55.halign=="right"){ +_56.css("width",_55.panelCssWidth); +} +cb(); +} +function cb(){ +_57.show(); +_55.collapsed=false; +_55.onExpand.call(_53); +_2b(_53); +_35(_53); +}; +}; +function _3d(_59){ +var _5a=$.data(_59,"panel").options; +var _5b=$.data(_59,"panel").panel; +var _5c=_5b.children(".panel-header").find("a.panel-tool-max"); +if(_5a.maximized==true){ +return; +} +_5c.addClass("panel-tool-restore"); +if(!$.data(_59,"panel").original){ +$.data(_59,"panel").original={width:_5a.width,height:_5a.height,left:_5a.left,top:_5a.top,fit:_5a.fit}; +} +_5a.left=0; +_5a.top=0; +_5a.fit=true; +_3(_59); +_5a.minimized=false; +_5a.maximized=true; +_5a.onMaximize.call(_59); +}; +function _5d(_5e){ +var _5f=$.data(_5e,"panel").options; +var _60=$.data(_5e,"panel").panel; +_60._size("unfit"); +_60.hide(); +_5f.minimized=true; +_5f.maximized=false; +_5f.onMinimize.call(_5e); +}; +function _61(_62){ +var _63=$.data(_62,"panel").options; +var _64=$.data(_62,"panel").panel; +var _65=_64.children(".panel-header").find("a.panel-tool-max"); +if(_63.maximized==false){ +return; +} +_64.show(); +_65.removeClass("panel-tool-restore"); +$.extend(_63,$.data(_62,"panel").original); +_3(_62); +_63.minimized=false; +_63.maximized=false; +$.data(_62,"panel").original=null; +_63.onRestore.call(_62); +}; +function _66(_67,_68){ +$.data(_67,"panel").options.title=_68; +$(_67).panel("header").find("div.panel-title").html(_68); +}; +var _69=null; +$(window).unbind(".panel").bind("resize.panel",function(){ +if(_69){ +clearTimeout(_69); +} +_69=setTimeout(function(){ +var _6a=$("body.layout"); +if(_6a.length){ +_6a.layout("resize"); +$("body").children(".easyui-fluid:visible").each(function(){ +$(this).triggerHandler("_resize"); +}); +}else{ +$("body").panel("doLayout"); +} +_69=null; +},100); +}); +$.fn.panel=function(_6b,_6c){ +if(typeof _6b=="string"){ +return $.fn.panel.methods[_6b](this,_6c); +} +_6b=_6b||{}; +return this.each(function(){ +var _6d=$.data(this,"panel"); +var _6e; +if(_6d){ +_6e=$.extend(_6d.options,_6b); +_6d.isLoaded=false; +}else{ +_6e=$.extend({},$.fn.panel.defaults,$.fn.panel.parseOptions(this),_6b); +$(this).attr("title",""); +_6d=$.data(this,"panel",{options:_6e,panel:_17(this),isLoaded:false}); +} +_1b(this); +$(this).show(); +if(_6e.doSize==true){ +_6d.panel.css("display","block"); +_3(this); +} +if(_6e.closed==true||_6e.minimized==true){ +_6d.panel.hide(); +}else{ +_37(this); +} +}); +}; +$.fn.panel.methods={options:function(jq){ +return $.data(jq[0],"panel").options; +},panel:function(jq){ +return $.data(jq[0],"panel").panel; +},header:function(jq){ +return $.data(jq[0],"panel").panel.children(".panel-header"); +},footer:function(jq){ +return jq.panel("panel").children(".panel-footer"); +},body:function(jq){ +return $.data(jq[0],"panel").panel.children(".panel-body"); +},setTitle:function(jq,_6f){ +return jq.each(function(){ +_66(this,_6f); +}); +},open:function(jq,_70){ +return jq.each(function(){ +_37(this,_70); +}); +},close:function(jq,_71){ +return jq.each(function(){ +_3f(this,_71); +}); +},destroy:function(jq,_72){ +return jq.each(function(){ +_45(this,_72); +}); +},clear:function(jq,_73){ +return jq.each(function(){ +_33(_73=="footer"?$(this).panel("footer"):this); +}); +},refresh:function(jq,_74){ +return jq.each(function(){ +var _75=$.data(this,"panel"); +_75.isLoaded=false; +if(_74){ +if(typeof _74=="string"){ +_75.options.href=_74; +}else{ +_75.options.queryParams=_74; +} +} +_2b(this); +}); +},resize:function(jq,_76){ +return jq.each(function(){ +_3(this,_76); +}); +},doLayout:function(jq,all){ +return jq.each(function(){ +_77(this,"body"); +_77($(this).siblings(".panel-footer")[0],"footer"); +function _77(_78,_79){ +if(!_78){ +return; +} +var _7a=_78==$("body")[0]; +var s=$(_78).find("div.panel:visible,div.accordion:visible,div.tabs-container:visible,div.layout:visible,.easyui-fluid:visible").filter(function(_7b,el){ +var p=$(el).parents(".panel-"+_79+":first"); +return _7a?p.length==0:p[0]==_78; +}); +s.each(function(){ +$(this).triggerHandler("_resize",[all||false]); +}); +}; +}); +},move:function(jq,_7c){ +return jq.each(function(){ +_11(this,_7c); +}); +},maximize:function(jq){ +return jq.each(function(){ +_3d(this); +}); +},minimize:function(jq){ +return jq.each(function(){ +_5d(this); +}); +},restore:function(jq){ +return jq.each(function(){ +_61(this); +}); +},collapse:function(jq,_7d){ +return jq.each(function(){ +_3e(this,_7d); +}); +},expand:function(jq,_7e){ +return jq.each(function(){ +_52(this,_7e); +}); +}}; +$.fn.panel.parseOptions=function(_7f){ +var t=$(_7f); +var hh=t.children(".panel-header,header"); +var ff=t.children(".panel-footer,footer"); +return $.extend({},$.parser.parseOptions(_7f,["id","width","height","left","top","title","iconCls","cls","headerCls","bodyCls","tools","href","method","header","footer","halign","titleDirection",{cache:"boolean",fit:"boolean",border:"boolean",noheader:"boolean"},{collapsible:"boolean",minimizable:"boolean",maximizable:"boolean"},{closable:"boolean",collapsed:"boolean",minimized:"boolean",maximized:"boolean",closed:"boolean"},"openAnimation","closeAnimation",{openDuration:"number",closeDuration:"number"},]),{loadingMessage:(t.attr("loadingMessage")!=undefined?t.attr("loadingMessage"):undefined),header:(hh.length?hh.removeClass("panel-header"):undefined),footer:(ff.length?ff.removeClass("panel-footer"):undefined)}); +}; +$.fn.panel.defaults={id:null,title:null,iconCls:null,width:"auto",height:"auto",left:null,top:null,cls:null,headerCls:null,bodyCls:null,style:{},href:null,cache:true,fit:false,border:true,doSize:true,noheader:false,content:null,halign:"top",titleDirection:"down",collapsible:false,minimizable:false,maximizable:false,closable:false,collapsed:false,minimized:false,maximized:false,closed:false,openAnimation:false,openDuration:400,closeAnimation:false,closeDuration:400,tools:null,footer:null,header:null,queryParams:{},method:"get",href:null,loadingMessage:"Loading...",loader:function(_80,_81,_82){ +var _83=$(this).panel("options"); +if(!_83.href){ +return false; +} +$.ajax({type:_83.method,url:_83.href,cache:false,data:_80,dataType:"html",success:function(_84){ +_81(_84); +},error:function(){ +_82.apply(this,arguments); +}}); +},extractor:function(_85){ +var _86=/]*>((.|[\n\r])*)<\/body>/im; +var _87=_86.exec(_85); +if(_87){ +return _87[1]; +}else{ +return _85; +} +},onBeforeLoad:function(_88){ +},onLoad:function(){ +},onLoadError:function(){ +},onBeforeOpen:function(){ +},onOpen:function(){ +},onBeforeClose:function(){ +},onClose:function(){ +},onBeforeDestroy:function(){ +},onDestroy:function(){ +},onResize:function(_89,_8a){ +},onMove:function(_8b,top){ +},onMaximize:function(){ +},onRestore:function(){ +},onMinimize:function(){ +},onBeforeCollapse:function(){ +},onBeforeExpand:function(){ +},onCollapse:function(){ +},onExpand:function(){ +}}; +})(jQuery); + diff --git a/src/main/webapp/js/plugins/jquery.parser.js b/src/main/webapp/js/plugins/jquery.parser.js new file mode 100644 index 0000000..79a83eb --- /dev/null +++ b/src/main/webapp/js/plugins/jquery.parser.js @@ -0,0 +1,386 @@ +/** + * jQuery EasyUI 1.5.2 + * + * Copyright (c) 2009-2017 www.jeasyui.com. All rights reserved. + * + * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php + * To use it on other terms please contact us: info@jeasyui.com + * + */ +(function($){ +$.easyui={indexOfArray:function(a,o,id){ +for(var i=0,_1=a.length;i<_1;i++){ +if(id==undefined){ +if(a[i]==o){ +return i; +} +}else{ +if(a[i][o]==id){ +return i; +} +} +} +return -1; +},removeArrayItem:function(a,o,id){ +if(typeof o=="string"){ +for(var i=0,_2=a.length;i<_2;i++){ +if(a[i][o]==id){ +a.splice(i,1); +return; +} +} +}else{ +var _3=this.indexOfArray(a,o); +if(_3!=-1){ +a.splice(_3,1); +} +} +},addArrayItem:function(a,o,r){ +var _4=this.indexOfArray(a,o,r?r[o]:undefined); +if(_4==-1){ +a.push(r?r:o); +}else{ +a[_4]=r?r:o; +} +},getArrayItem:function(a,o,id){ +var _5=this.indexOfArray(a,o,id); +return _5==-1?null:a[_5]; +},forEach:function(_6,_7,_8){ +var _9=[]; +for(var i=0;i<_6.length;i++){ +_9.push(_6[i]); +} +while(_9.length){ +var _a=_9.shift(); +if(_8(_a)==false){ +return; +} +if(_7&&_a.children){ +for(var i=_a.children.length-1;i>=0;i--){ +_9.unshift(_a.children[i]); +} +} +} +}}; +$.parser={auto:true,onComplete:function(_b){ +},plugins:["draggable","droppable","resizable","pagination","tooltip","linkbutton","menu","menubutton","splitbutton","switchbutton","progressbar","tree","textbox","passwordbox","filebox","combo","combobox","combotree","combogrid","combotreegrid","tagbox","numberbox","validatebox","searchbox","spinner","numberspinner","timespinner","datetimespinner","calendar","datebox","datetimebox","slider","layout","panel","datagrid","propertygrid","treegrid","datalist","tabs","accordion","window","dialog","form"],parse:function(_c){ +var aa=[]; +for(var i=0;i<$.parser.plugins.length;i++){ +var _d=$.parser.plugins[i]; +var r=$(".easyui-"+_d,_c); +if(r.length){ +if(r[_d]){ +r.each(function(){ +$(this)[_d]($.data(this,"options")||{}); +}); +}else{ +aa.push({name:_d,jq:r}); +} +} +} +if(aa.length&&window.easyloader){ +var _e=[]; +for(var i=0;i=0){ +v=Math.floor((_12.width()-_13)*v/100); +}else{ +v=Math.floor((_12.height()-_13)*v/100); +} +}else{ +v=parseInt(v)||undefined; +} +return v; +},parseOptions:function(_15,_16){ +var t=$(_15); +var _17={}; +var s=$.trim(t.attr("data-options")); +if(s){ +if(s.substring(0,1)!="{"){ +s="{"+s+"}"; +} +_17=(new Function("return "+s))(); +} +$.map(["width","height","left","top","minWidth","maxWidth","minHeight","maxHeight"],function(p){ +var pv=$.trim(_15.style[p]||""); +if(pv){ +if(pv.indexOf("%")==-1){ +pv=parseInt(pv); +if(isNaN(pv)){ +pv=undefined; +} +} +_17[p]=pv; +} +}); +if(_16){ +var _18={}; +for(var i=0;i<_16.length;i++){ +var pp=_16[i]; +if(typeof pp=="string"){ +_18[pp]=t.attr(pp); +}else{ +for(var _19 in pp){ +var _1a=pp[_19]; +if(_1a=="boolean"){ +_18[_19]=t.attr(_19)?(t.attr(_19)=="true"):undefined; +}else{ +if(_1a=="number"){ +_18[_19]=t.attr(_19)=="0"?0:parseFloat(t.attr(_19))||undefined; +} +} +} +} +} +$.extend(_17,_18); +} +return _17; +}}; +$(function(){ +var d=$("
          ").appendTo("body"); +$._boxModel=d.outerWidth()!=100; +d.remove(); +d=$("
          ").appendTo("body"); +$._positionFixed=(d.css("position")=="fixed"); +d.remove(); +if(!window.easyloader&&$.parser.auto){ +$.parser.parse(); +} +}); +$.fn._outerWidth=function(_1b){ +if(_1b==undefined){ +if(this[0]==window){ +return this.width()||document.body.clientWidth; +} +return this.outerWidth()||0; +} +return this._size("width",_1b); +}; +$.fn._outerHeight=function(_1c){ +if(_1c==undefined){ +if(this[0]==window){ +return this.height()||document.body.clientHeight; +} +return this.outerHeight()||0; +} +return this._size("height",_1c); +}; +$.fn._scrollLeft=function(_1d){ +if(_1d==undefined){ +return this.scrollLeft(); +}else{ +return this.each(function(){ +$(this).scrollLeft(_1d); +}); +} +}; +$.fn._propAttr=$.fn.prop||$.fn.attr; +$.fn._size=function(_1e,_1f){ +if(typeof _1e=="string"){ +if(_1e=="clear"){ +return this.each(function(){ +$(this).css({width:"",minWidth:"",maxWidth:"",height:"",minHeight:"",maxHeight:""}); +}); +}else{ +if(_1e=="fit"){ +return this.each(function(){ +_20(this,this.tagName=="BODY"?$("body"):$(this).parent(),true); +}); +}else{ +if(_1e=="unfit"){ +return this.each(function(){ +_20(this,$(this).parent(),false); +}); +}else{ +if(_1f==undefined){ +return _21(this[0],_1e); +}else{ +return this.each(function(){ +_21(this,_1e,_1f); +}); +} +} +} +} +}else{ +return this.each(function(){ +_1f=_1f||$(this).parent(); +$.extend(_1e,_20(this,_1f,_1e.fit)||{}); +var r1=_22(this,"width",_1f,_1e); +var r2=_22(this,"height",_1f,_1e); +if(r1||r2){ +$(this).addClass("easyui-fluid"); +}else{ +$(this).removeClass("easyui-fluid"); +} +}); +} +function _20(_23,_24,fit){ +if(!_24.length){ +return false; +} +var t=$(_23)[0]; +var p=_24[0]; +var _25=p.fcount||0; +if(fit){ +if(!t.fitted){ +t.fitted=true; +p.fcount=_25+1; +$(p).addClass("panel-noscroll"); +if(p.tagName=="BODY"){ +$("html").addClass("panel-fit"); +} +} +return {width:($(p).width()||1),height:($(p).height()||1)}; +}else{ +if(t.fitted){ +t.fitted=false; +p.fcount=_25-1; +if(p.fcount==0){ +$(p).removeClass("panel-noscroll"); +if(p.tagName=="BODY"){ +$("html").removeClass("panel-fit"); +} +} +} +return false; +} +}; +function _22(_26,_27,_28,_29){ +var t=$(_26); +var p=_27; +var p1=p.substr(0,1).toUpperCase()+p.substr(1); +var min=$.parser.parseValue("min"+p1,_29["min"+p1],_28); +var max=$.parser.parseValue("max"+p1,_29["max"+p1],_28); +var val=$.parser.parseValue(p,_29[p],_28); +var _2a=(String(_29[p]||"").indexOf("%")>=0?true:false); +if(!isNaN(val)){ +var v=Math.min(Math.max(val,min||0),max||99999); +if(!_2a){ +_29[p]=v; +} +t._size("min"+p1,""); +t._size("max"+p1,""); +t._size(p,v); +}else{ +t._size(p,""); +t._size("min"+p1,min); +t._size("max"+p1,max); +} +return _2a||_29.fit; +}; +function _21(_2b,_2c,_2d){ +var t=$(_2b); +if(_2d==undefined){ +_2d=parseInt(_2b.style[_2c]); +if(isNaN(_2d)){ +return undefined; +} +if($._boxModel){ +_2d+=_2e(); +} +return _2d; +}else{ +if(_2d===""){ +t.css(_2c,""); +}else{ +if($._boxModel){ +_2d-=_2e(); +if(_2d<0){ +_2d=0; +} +} +t.css(_2c,_2d+"px"); +} +} +function _2e(){ +if(_2c.toLowerCase().indexOf("width")>=0){ +return t.outerWidth()-t.width(); +}else{ +return t.outerHeight()-t.height(); +} +}; +}; +}; +})(jQuery); +(function($){ +var _2f=null; +var _30=null; +var _31=false; +function _32(e){ +if(e.touches.length!=1){ +return; +} +if(!_31){ +_31=true; +dblClickTimer=setTimeout(function(){ +_31=false; +},500); +}else{ +clearTimeout(dblClickTimer); +_31=false; +_33(e,"dblclick"); +} +_2f=setTimeout(function(){ +_33(e,"contextmenu",3); +},1000); +_33(e,"mousedown"); +if($.fn.draggable.isDragging||$.fn.resizable.isResizing){ +e.preventDefault(); +} +}; +function _34(e){ +if(e.touches.length!=1){ +return; +} +if(_2f){ +clearTimeout(_2f); +} +_33(e,"mousemove"); +if($.fn.draggable.isDragging||$.fn.resizable.isResizing){ +e.preventDefault(); +} +}; +function _35(e){ +if(_2f){ +clearTimeout(_2f); +} +_33(e,"mouseup"); +if($.fn.draggable.isDragging||$.fn.resizable.isResizing){ +e.preventDefault(); +} +}; +function _33(e,_36,_37){ +var _38=new $.Event(_36); +_38.pageX=e.changedTouches[0].pageX; +_38.pageY=e.changedTouches[0].pageY; +_38.which=_37||1; +$(e.target).trigger(_38); +}; +if(document.addEventListener){ +document.addEventListener("touchstart",_32,true); +document.addEventListener("touchmove",_34,true); +document.addEventListener("touchend",_35,true); +} +})(jQuery); + diff --git a/src/main/webapp/js/plugins/jquery.passwordbox.js b/src/main/webapp/js/plugins/jquery.passwordbox.js new file mode 100644 index 0000000..5f2b3ce --- /dev/null +++ b/src/main/webapp/js/plugins/jquery.passwordbox.js @@ -0,0 +1,156 @@ +/** + * jQuery EasyUI 1.5.2 + * + * Copyright (c) 2009-2017 www.jeasyui.com. All rights reserved. + * + * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php + * To use it on other terms please contact us: info@jeasyui.com + * + */ +(function($){ +function _1(_2){ +var _3=$.data(_2,"passwordbox"); +var _4=_3.options; +var _5=$.extend(true,[],_4.icons); +if(_4.showEye){ +_5.push({iconCls:"passwordbox-open",handler:function(e){ +_4.revealed=!_4.revealed; +_6(_2); +}}); +} +$(_2).addClass("passwordbox-f").textbox($.extend({},_4,{icons:_5})); +_6(_2); +}; +function _7(_8,_9,_a){ +var t=$(_8); +var _b=t.passwordbox("options"); +if(_b.revealed){ +t.textbox("setValue",_9); +return; +} +var _c=unescape(_b.passwordChar); +var cc=_9.split(""); +var vv=t.passwordbox("getValue").split(""); +for(var i=0;i
          "); +$(_2).bind("_resize",function(e,_3){ +if($(this).hasClass("easyui-fluid")||_3){ +_4(_2); +} +return false; +}); +return $(_2); +}; +function _4(_5,_6){ +var _7=$.data(_5,"progressbar").options; +var _8=$.data(_5,"progressbar").bar; +if(_6){ +_7.width=_6; +} +_8._size(_7); +_8.find("div.progressbar-text").css("width",_8.width()); +_8.find("div.progressbar-text,div.progressbar-value").css({height:_8.height()+"px",lineHeight:_8.height()+"px"}); +}; +$.fn.progressbar=function(_9,_a){ +if(typeof _9=="string"){ +var _b=$.fn.progressbar.methods[_9]; +if(_b){ +return _b(this,_a); +} +} +_9=_9||{}; +return this.each(function(){ +var _c=$.data(this,"progressbar"); +if(_c){ +$.extend(_c.options,_9); +}else{ +_c=$.data(this,"progressbar",{options:$.extend({},$.fn.progressbar.defaults,$.fn.progressbar.parseOptions(this),_9),bar:_1(this)}); +} +$(this).progressbar("setValue",_c.options.value); +_4(this); +}); +}; +$.fn.progressbar.methods={options:function(jq){ +return $.data(jq[0],"progressbar").options; +},resize:function(jq,_d){ +return jq.each(function(){ +_4(this,_d); +}); +},getValue:function(jq){ +return $.data(jq[0],"progressbar").options.value; +},setValue:function(jq,_e){ +if(_e<0){ +_e=0; +} +if(_e>100){ +_e=100; +} +return jq.each(function(){ +var _f=$.data(this,"progressbar").options; +var _10=_f.text.replace(/{value}/,_e); +var _11=_f.value; +_f.value=_e; +$(this).find("div.progressbar-value").width(_e+"%"); +$(this).find("div.progressbar-text").html(_10); +if(_11!=_e){ +_f.onChange.call(this,_e,_11); +} +}); +}}; +$.fn.progressbar.parseOptions=function(_12){ +return $.extend({},$.parser.parseOptions(_12,["width","height","text",{value:"number"}])); +}; +$.fn.progressbar.defaults={width:"auto",height:22,value:0,text:"{value}%",onChange:function(_13,_14){ +}}; +})(jQuery); + diff --git a/src/main/webapp/js/plugins/jquery.propertygrid.js b/src/main/webapp/js/plugins/jquery.propertygrid.js new file mode 100644 index 0000000..4dcfadb --- /dev/null +++ b/src/main/webapp/js/plugins/jquery.propertygrid.js @@ -0,0 +1,330 @@ +/** + * jQuery EasyUI 1.5.2 + * + * Copyright (c) 2009-2017 www.jeasyui.com. All rights reserved. + * + * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php + * To use it on other terms please contact us: info@jeasyui.com + * + */ +(function($){ +var _1; +$(document).unbind(".propertygrid").bind("mousedown.propertygrid",function(e){ +var p=$(e.target).closest("div.datagrid-view,div.combo-panel"); +if(p.length){ +return; +} +_2(_1); +_1=undefined; +}); +function _3(_4){ +var _5=$.data(_4,"propertygrid"); +var _6=$.data(_4,"propertygrid").options; +$(_4).datagrid($.extend({},_6,{cls:"propertygrid",view:(_6.showGroup?_6.groupView:_6.view),onBeforeEdit:function(_7,_8){ +if(_6.onBeforeEdit.call(_4,_7,_8)==false){ +return false; +} +var dg=$(this); +var _8=dg.datagrid("getRows")[_7]; +var _9=dg.datagrid("getColumnOption","value"); +_9.editor=_8.editor; +},onClickCell:function(_a,_b,_c){ +if(_1!=this){ +_2(_1); +_1=this; +} +if(_6.editIndex!=_a){ +_2(_1); +$(this).datagrid("beginEdit",_a); +var ed=$(this).datagrid("getEditor",{index:_a,field:_b}); +if(!ed){ +ed=$(this).datagrid("getEditor",{index:_a,field:"value"}); +} +if(ed){ +var t=$(ed.target); +var _d=t.data("textbox")?t.textbox("textbox"):t; +_d.focus(); +_6.editIndex=_a; +} +} +_6.onClickCell.call(_4,_a,_b,_c); +},loadFilter:function(_e){ +_2(this); +return _6.loadFilter.call(this,_e); +}})); +}; +function _2(_f){ +var t=$(_f); +if(!t.length){ +return; +} +var _10=$.data(_f,"propertygrid").options; +_10.finder.getTr(_f,null,"editing").each(function(){ +var _11=parseInt($(this).attr("datagrid-row-index")); +if(t.datagrid("validateRow",_11)){ +t.datagrid("endEdit",_11); +}else{ +t.datagrid("cancelEdit",_11); +} +}); +_10.editIndex=undefined; +}; +$.fn.propertygrid=function(_12,_13){ +if(typeof _12=="string"){ +var _14=$.fn.propertygrid.methods[_12]; +if(_14){ +return _14(this,_13); +}else{ +return this.datagrid(_12,_13); +} +} +_12=_12||{}; +return this.each(function(){ +var _15=$.data(this,"propertygrid"); +if(_15){ +$.extend(_15.options,_12); +}else{ +var _16=$.extend({},$.fn.propertygrid.defaults,$.fn.propertygrid.parseOptions(this),_12); +_16.frozenColumns=$.extend(true,[],_16.frozenColumns); +_16.columns=$.extend(true,[],_16.columns); +$.data(this,"propertygrid",{options:_16}); +} +_3(this); +}); +}; +$.fn.propertygrid.methods={options:function(jq){ +return $.data(jq[0],"propertygrid").options; +}}; +$.fn.propertygrid.parseOptions=function(_17){ +return $.extend({},$.fn.datagrid.parseOptions(_17),$.parser.parseOptions(_17,[{showGroup:"boolean"}])); +}; +var _18=$.extend({},$.fn.datagrid.defaults.view,{render:function(_19,_1a,_1b){ +var _1c=[]; +var _1d=this.groups; +for(var i=0;i<_1d.length;i++){ +_1c.push(this.renderGroup.call(this,_19,i,_1d[i],_1b)); +} +$(_1a).html(_1c.join("")); +},renderGroup:function(_1e,_1f,_20,_21){ +var _22=$.data(_1e,"datagrid"); +var _23=_22.options; +var _24=$(_1e).datagrid("getColumnFields",_21); +var _25=[]; +_25.push("
          "); +if((_21&&(_23.rownumbers||_23.frozenColumns.length))||(!_21&&!(_23.rownumbers||_23.frozenColumns.length))){ +_25.push(""); +_25.push(" "); +_25.push(""); +} +if(!_21){ +_25.push(""); +_25.push(_23.groupFormatter.call(_1e,_20.value,_20.rows)); +_25.push(""); +} +_25.push("
          "); +_25.push(""); +var _26=_20.startIndex; +for(var j=0;j<_20.rows.length;j++){ +var css=_23.rowStyler?_23.rowStyler.call(_1e,_26,_20.rows[j]):""; +var _27=""; +var _28=""; +if(typeof css=="string"){ +_28=css; +}else{ +if(css){ +_27=css["class"]||""; +_28=css["style"]||""; +} +} +var cls="class=\"datagrid-row "+(_26%2&&_23.striped?"datagrid-row-alt ":" ")+_27+"\""; +var _29=_28?"style=\""+_28+"\"":""; +var _2a=_22.rowIdPrefix+"-"+(_21?1:2)+"-"+_26; +_25.push(""); +_25.push(this.renderRow.call(this,_1e,_24,_21,_26,_20.rows[j])); +_25.push(""); +_26++; +} +_25.push("
          "); +return _25.join(""); +},bindEvents:function(_2b){ +var _2c=$.data(_2b,"datagrid"); +var dc=_2c.dc; +var _2d=dc.body1.add(dc.body2); +var _2e=($.data(_2d[0],"events")||$._data(_2d[0],"events")).click[0].handler; +_2d.unbind("click").bind("click",function(e){ +var tt=$(e.target); +var _2f=tt.closest("span.datagrid-row-expander"); +if(_2f.length){ +var _30=_2f.closest("div.datagrid-group").attr("group-index"); +if(_2f.hasClass("datagrid-row-collapse")){ +$(_2b).datagrid("collapseGroup",_30); +}else{ +$(_2b).datagrid("expandGroup",_30); +} +}else{ +_2e(e); +} +e.stopPropagation(); +}); +},onBeforeRender:function(_31,_32){ +var _33=$.data(_31,"datagrid"); +var _34=_33.options; +_35(); +var _36=[]; +for(var i=0;i<_32.length;i++){ +var row=_32[i]; +var _37=_38(row[_34.groupField]); +if(!_37){ +_37={value:row[_34.groupField],rows:[row]}; +_36.push(_37); +}else{ +_37.rows.push(row); +} +} +var _39=0; +var _3a=[]; +for(var i=0;i<_36.length;i++){ +var _37=_36[i]; +_37.startIndex=_39; +_39+=_37.rows.length; +_3a=_3a.concat(_37.rows); +} +_33.data.rows=_3a; +this.groups=_36; +var _3b=this; +setTimeout(function(){ +_3b.bindEvents(_31); +},0); +function _38(_3c){ +for(var i=0;i<_36.length;i++){ +var _3d=_36[i]; +if(_3d.value==_3c){ +return _3d; +} +} +return null; +}; +function _35(){ +if(!$("#datagrid-group-style").length){ +$("head").append(""); +} +}; +}}); +$.extend($.fn.datagrid.methods,{groups:function(jq){ +return jq.datagrid("options").view.groups; +},expandGroup:function(jq,_3e){ +return jq.each(function(){ +var _3f=$.data(this,"datagrid").dc.view; +var _40=_3f.find(_3e!=undefined?"div.datagrid-group[group-index=\""+_3e+"\"]":"div.datagrid-group"); +var _41=_40.find("span.datagrid-row-expander"); +if(_41.hasClass("datagrid-row-expand")){ +_41.removeClass("datagrid-row-expand").addClass("datagrid-row-collapse"); +_40.next("table").show(); +} +$(this).datagrid("fixRowHeight"); +}); +},collapseGroup:function(jq,_42){ +return jq.each(function(){ +var _43=$.data(this,"datagrid").dc.view; +var _44=_43.find(_42!=undefined?"div.datagrid-group[group-index=\""+_42+"\"]":"div.datagrid-group"); +var _45=_44.find("span.datagrid-row-expander"); +if(_45.hasClass("datagrid-row-collapse")){ +_45.removeClass("datagrid-row-collapse").addClass("datagrid-row-expand"); +_44.next("table").hide(); +} +$(this).datagrid("fixRowHeight"); +}); +}}); +$.extend(_18,{refreshGroupTitle:function(_46,_47){ +var _48=$.data(_46,"datagrid"); +var _49=_48.options; +var dc=_48.dc; +var _4a=this.groups[_47]; +var _4b=dc.body2.children("div.datagrid-group[group-index="+_47+"]").find("span.datagrid-group-title"); +_4b.html(_49.groupFormatter.call(_46,_4a.value,_4a.rows)); +},insertRow:function(_4c,_4d,row){ +var _4e=$.data(_4c,"datagrid"); +var _4f=_4e.options; +var dc=_4e.dc; +var _50=null; +var _51; +if(!_4e.data.rows.length){ +$(_4c).datagrid("loadData",[row]); +return; +} +for(var i=0;i_50.startIndex+_50.rows.length){ +_4d=_50.startIndex+_50.rows.length; +} +} +$.fn.datagrid.defaults.view.insertRow.call(this,_4c,_4d,row); +if(_4d>=_50.startIndex+_50.rows.length){ +_52(_4d,true); +_52(_4d,false); +} +_50.rows.splice(_4d-_50.startIndex,0,row); +}else{ +_50={value:row[_4f.groupField],rows:[row],startIndex:_4e.data.rows.length}; +_51=this.groups.length; +dc.body1.append(this.renderGroup.call(this,_4c,_51,_50,true)); +dc.body2.append(this.renderGroup.call(this,_4c,_51,_50,false)); +this.groups.push(_50); +_4e.data.rows.push(row); +} +this.refreshGroupTitle(_4c,_51); +function _52(_53,_54){ +var _55=_54?1:2; +var _56=_4f.finder.getTr(_4c,_53-1,"body",_55); +var tr=_4f.finder.getTr(_4c,_53,"body",_55); +tr.insertAfter(_56); +}; +},updateRow:function(_57,_58,row){ +var _59=$.data(_57,"datagrid").options; +$.fn.datagrid.defaults.view.updateRow.call(this,_57,_58,row); +var tb=_59.finder.getTr(_57,_58,"body",2).closest("table.datagrid-btable"); +var _5a=parseInt(tb.prev().attr("group-index")); +this.refreshGroupTitle(_57,_5a); +},deleteRow:function(_5b,_5c){ +var _5d=$.data(_5b,"datagrid"); +var _5e=_5d.options; +var dc=_5d.dc; +var _5f=dc.body1.add(dc.body2); +var tb=_5e.finder.getTr(_5b,_5c,"body",2).closest("table.datagrid-btable"); +var _60=parseInt(tb.prev().attr("group-index")); +$.fn.datagrid.defaults.view.deleteRow.call(this,_5b,_5c); +var _61=this.groups[_60]; +if(_61.rows.length>1){ +_61.rows.splice(_5c-_61.startIndex,1); +this.refreshGroupTitle(_5b,_60); +}else{ +_5f.children("div.datagrid-group[group-index="+_60+"]").remove(); +for(var i=_60+1;i_13.top&&e.pageY<_13.top+_16){ +dir+="n"; +}else{ +if(e.pageY<_13.top+_15&&e.pageY>_13.top+_15-_16){ +dir+="s"; +} +} +if(e.pageX>_13.left&&e.pageX<_13.left+_16){ +dir+="w"; +}else{ +if(e.pageX<_13.left+_14&&e.pageX>_13.left+_14-_16){ +dir+="e"; +} +} +var _17=_d.handles.split(","); +for(var i=0;i<_17.length;i++){ +var _18=_17[i].replace(/(^\s*)|(\s*$)/g,""); +if(_18=="all"||_18==dir){ +return dir; +} +} +return ""; +}; +}); +}; +$.fn.resizable.methods={options:function(jq){ +return $.data(jq[0],"resizable").options; +},enable:function(jq){ +return jq.each(function(){ +$(this).resizable({disabled:false}); +}); +},disable:function(jq){ +return jq.each(function(){ +$(this).resizable({disabled:true}); +}); +}}; +$.fn.resizable.parseOptions=function(_19){ +var t=$(_19); +return $.extend({},$.parser.parseOptions(_19,["handles",{minWidth:"number",minHeight:"number",maxWidth:"number",maxHeight:"number",edge:"number"}]),{disabled:(t.attr("disabled")?true:undefined)}); +}; +$.fn.resizable.defaults={disabled:false,handles:"n, e, s, w, ne, se, sw, nw, all",minWidth:10,minHeight:10,maxWidth:10000,maxHeight:10000,edge:5,onStartResize:function(e){ +},onResize:function(e){ +},onStopResize:function(e){ +}}; +$.fn.resizable.isResizing=false; +})(jQuery); + diff --git a/src/main/webapp/js/plugins/jquery.searchbox.js b/src/main/webapp/js/plugins/jquery.searchbox.js new file mode 100644 index 0000000..b9de557 --- /dev/null +++ b/src/main/webapp/js/plugins/jquery.searchbox.js @@ -0,0 +1,132 @@ +/** + * jQuery EasyUI 1.5.2 + * + * Copyright (c) 2009-2017 www.jeasyui.com. All rights reserved. + * + * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php + * To use it on other terms please contact us: info@jeasyui.com + * + */ +(function($){ +function _1(_2){ +var _3=$.data(_2,"searchbox"); +var _4=_3.options; +var _5=$.extend(true,[],_4.icons); +_5.push({iconCls:"searchbox-button",handler:function(e){ +var t=$(e.data.target); +var _6=t.searchbox("options"); +_6.searcher.call(e.data.target,t.searchbox("getValue"),t.searchbox("getName")); +}}); +_7(); +var _8=_9(); +$(_2).addClass("searchbox-f").textbox($.extend({},_4,{icons:_5,buttonText:(_8?_8.text:"")})); +$(_2).attr("searchboxName",$(_2).attr("textboxName")); +_3.searchbox=$(_2).next(); +_3.searchbox.addClass("searchbox"); +_a(_8); +function _7(){ +if(_4.menu){ +_3.menu=$(_4.menu).menu(); +var _b=_3.menu.menu("options"); +var _c=_b.onClick; +_b.onClick=function(_d){ +_a(_d); +_c.call(this,_d); +}; +}else{ +if(_3.menu){ +_3.menu.menu("destroy"); +} +_3.menu=null; +} +}; +function _9(){ +if(_3.menu){ +var _e=_3.menu.children("div.menu-item:first"); +_3.menu.children("div.menu-item").each(function(){ +var _f=$.extend({},$.parser.parseOptions(this),{selected:($(this).attr("selected")?true:undefined)}); +if(_f.selected){ +_e=$(this); +return false; +} +}); +return _3.menu.menu("getItem",_e[0]); +}else{ +return null; +} +}; +function _a(_10){ +if(!_10){ +return; +} +$(_2).textbox("button").menubutton({text:_10.text,iconCls:(_10.iconCls||null),menu:_3.menu,menuAlign:_4.buttonAlign,plain:false}); +_3.searchbox.find("input.textbox-value").attr("name",_10.name||_10.text); +$(_2).searchbox("resize"); +}; +}; +$.fn.searchbox=function(_11,_12){ +if(typeof _11=="string"){ +var _13=$.fn.searchbox.methods[_11]; +if(_13){ +return _13(this,_12); +}else{ +return this.textbox(_11,_12); +} +} +_11=_11||{}; +return this.each(function(){ +var _14=$.data(this,"searchbox"); +if(_14){ +$.extend(_14.options,_11); +}else{ +$.data(this,"searchbox",{options:$.extend({},$.fn.searchbox.defaults,$.fn.searchbox.parseOptions(this),_11)}); +} +_1(this); +}); +}; +$.fn.searchbox.methods={options:function(jq){ +var _15=jq.textbox("options"); +return $.extend($.data(jq[0],"searchbox").options,{width:_15.width,value:_15.value,originalValue:_15.originalValue,disabled:_15.disabled,readonly:_15.readonly}); +},menu:function(jq){ +return $.data(jq[0],"searchbox").menu; +},getName:function(jq){ +return $.data(jq[0],"searchbox").searchbox.find("input.textbox-value").attr("name"); +},selectName:function(jq,_16){ +return jq.each(function(){ +var _17=$.data(this,"searchbox").menu; +if(_17){ +_17.children("div.menu-item").each(function(){ +var _18=_17.menu("getItem",this); +if(_18.name==_16){ +$(this).triggerHandler("click"); +return false; +} +}); +} +}); +},destroy:function(jq){ +return jq.each(function(){ +var _19=$(this).searchbox("menu"); +if(_19){ +_19.menu("destroy"); +} +$(this).textbox("destroy"); +}); +}}; +$.fn.searchbox.parseOptions=function(_1a){ +var t=$(_1a); +return $.extend({},$.fn.textbox.parseOptions(_1a),$.parser.parseOptions(_1a,["menu"]),{searcher:(t.attr("searcher")?eval(t.attr("searcher")):undefined)}); +}; +$.fn.searchbox.defaults=$.extend({},$.fn.textbox.defaults,{inputEvents:$.extend({},$.fn.textbox.defaults.inputEvents,{keydown:function(e){ +if(e.keyCode==13){ +e.preventDefault(); +var t=$(e.data.target); +var _1b=t.searchbox("options"); +t.searchbox("setValue",$(this).val()); +_1b.searcher.call(e.data.target,t.searchbox("getValue"),t.searchbox("getName")); +return false; +} +}}),buttonAlign:"left",menu:null,searcher:function(_1c,_1d){ +}}); +})(jQuery); + diff --git a/src/main/webapp/js/plugins/jquery.slider.js b/src/main/webapp/js/plugins/jquery.slider.js new file mode 100644 index 0000000..59ef1a4 --- /dev/null +++ b/src/main/webapp/js/plugins/jquery.slider.js @@ -0,0 +1,339 @@ +/** + * jQuery EasyUI 1.5.2 + * + * Copyright (c) 2009-2017 www.jeasyui.com. All rights reserved. + * + * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php + * To use it on other terms please contact us: info@jeasyui.com + * + */ +(function($){ +function _1(_2){ +var _3=$("
          "+"
          "+""+""+"
          "+"
          "+"
          "+"
          "+""+"
          ").insertAfter(_2); +var t=$(_2); +t.addClass("slider-f").hide(); +var _4=t.attr("name"); +if(_4){ +_3.find("input.slider-value").attr("name",_4); +t.removeAttr("name").attr("sliderName",_4); +} +_3.bind("_resize",function(e,_5){ +if($(this).hasClass("easyui-fluid")||_5){ +_6(_2); +} +return false; +}); +return _3; +}; +function _6(_7,_8){ +var _9=$.data(_7,"slider"); +var _a=_9.options; +var _b=_9.slider; +if(_8){ +if(_8.width){ +_a.width=_8.width; +} +if(_8.height){ +_a.height=_8.height; +} +} +_b._size(_a); +if(_a.mode=="h"){ +_b.css("height",""); +_b.children("div").css("height",""); +}else{ +_b.css("width",""); +_b.children("div").css("width",""); +_b.children("div.slider-rule,div.slider-rulelabel,div.slider-inner")._outerHeight(_b._outerHeight()); +} +_c(_7); +}; +function _d(_e){ +var _f=$.data(_e,"slider"); +var _10=_f.options; +var _11=_f.slider; +var aa=_10.mode=="h"?_10.rule:_10.rule.slice(0).reverse(); +if(_10.reversed){ +aa=aa.slice(0).reverse(); +} +_12(aa); +function _12(aa){ +var _13=_11.find("div.slider-rule"); +var _14=_11.find("div.slider-rulelabel"); +_13.empty(); +_14.empty(); +for(var i=0;i").appendTo(_13); +_16.css((_10.mode=="h"?"left":"top"),_15); +if(aa[i]!="|"){ +_16=$("").appendTo(_14); +_16.html(aa[i]); +if(_10.mode=="h"){ +_16.css({left:_15,marginLeft:-Math.round(_16.outerWidth()/2)}); +}else{ +_16.css({top:_15,marginTop:-Math.round(_16.outerHeight()/2)}); +} +} +} +}; +}; +function _17(_18){ +var _19=$.data(_18,"slider"); +var _1a=_19.options; +var _1b=_19.slider; +_1b.removeClass("slider-h slider-v slider-disabled"); +_1b.addClass(_1a.mode=="h"?"slider-h":"slider-v"); +_1b.addClass(_1a.disabled?"slider-disabled":""); +var _1c=_1b.find(".slider-inner"); +_1c.html(""+""); +if(_1a.range){ +_1c.append(""+""); +} +_1b.find("a.slider-handle").draggable({axis:_1a.mode,cursor:"pointer",disabled:_1a.disabled,onDrag:function(e){ +var _1d=e.data.left; +var _1e=_1b.width(); +if(_1a.mode!="h"){ +_1d=e.data.top; +_1e=_1b.height(); +} +if(_1d<0||_1d>_1e){ +return false; +}else{ +_1f(_1d,this); +return false; +} +},onStartDrag:function(){ +_19.isDragging=true; +_1a.onSlideStart.call(_18,_1a.value); +},onStopDrag:function(e){ +_1f(_1a.mode=="h"?e.data.left:e.data.top,this); +_1a.onSlideEnd.call(_18,_1a.value); +_1a.onComplete.call(_18,_1a.value); +_19.isDragging=false; +}}); +_1b.find("div.slider-inner").unbind(".slider").bind("mousedown.slider",function(e){ +if(_19.isDragging||_1a.disabled){ +return; +} +var pos=$(this).offset(); +_1f(_1a.mode=="h"?(e.pageX-pos.left):(e.pageY-pos.top)); +_1a.onComplete.call(_18,_1a.value); +}); +function _1f(pos,_20){ +var _21=_22(_18,pos); +var s=Math.abs(_21%_1a.step); +if(s<_1a.step/2){ +_21-=s; +}else{ +_21=_21-s+_1a.step; +} +if(_1a.range){ +var v1=_1a.value[0]; +var v2=_1a.value[1]; +var m=parseFloat((v1+v2)/2); +if(_20){ +var _23=$(_20).nextAll(".slider-handle").length>0; +if(_21<=v2&&_23){ +v1=_21; +}else{ +if(_21>=v1&&(!_23)){ +v2=_21; +} +} +}else{ +if(_21v2){ +v2=_21; +}else{ +_21_28.max){ +_2d=_28.max; +} +var _2e=$("").appendTo(_29); +_2e.attr("name",_2c); +_2e.val(_2d); +_2b.push(_2d); +var _2f=_29.find(".slider-handle:eq("+i+")"); +var tip=_2f.next(); +var pos=_30(_25,_2d); +if(_28.showTip){ +tip.show(); +tip.html(_28.tipFormatter.call(_25,_2d)); +}else{ +tip.hide(); +} +if(_28.mode=="h"){ +var _31="left:"+pos+"px;"; +_2f.attr("style",_31); +tip.attr("style",_31+"margin-left:"+(-Math.round(tip.outerWidth()/2))+"px"); +}else{ +var _31="top:"+pos+"px;"; +_2f.attr("style",_31); +tip.attr("style",_31+"margin-left:"+(-Math.round(tip.outerWidth()))+"px"); +} +} +_28.value=_28.range?_2b:_2b[0]; +$(_25).val(_28.range?_2b.join(_28.separator):_2b[0]); +if(_2a.join(",")!=_2b.join(",")){ +_28.onChange.call(_25,_28.value,(_28.range?_2a:_2a[0])); +} +}; +function _c(_32){ +var _33=$.data(_32,"slider").options; +var fn=_33.onChange; +_33.onChange=function(){ +}; +_24(_32,_33.value); +_33.onChange=fn; +}; +function _30(_34,_35){ +var _36=$.data(_34,"slider"); +var _37=_36.options; +var _38=_36.slider; +var _39=_37.mode=="h"?_38.width():_38.height(); +var pos=_37.converter.toPosition.call(_34,_35,_39); +if(_37.mode=="v"){ +pos=_38.height()-pos; +} +if(_37.reversed){ +pos=_39-pos; +} +return pos.toFixed(0); +}; +function _22(_3a,pos){ +var _3b=$.data(_3a,"slider"); +var _3c=_3b.options; +var _3d=_3b.slider; +var _3e=_3c.mode=="h"?_3d.width():_3d.height(); +var pos=_3c.mode=="h"?(_3c.reversed?(_3e-pos):pos):(_3c.reversed?pos:(_3e-pos)); +var _3f=_3c.converter.toValue.call(_3a,pos,_3e); +return _3f.toFixed(0); +}; +$.fn.slider=function(_40,_41){ +if(typeof _40=="string"){ +return $.fn.slider.methods[_40](this,_41); +} +_40=_40||{}; +return this.each(function(){ +var _42=$.data(this,"slider"); +if(_42){ +$.extend(_42.options,_40); +}else{ +_42=$.data(this,"slider",{options:$.extend({},$.fn.slider.defaults,$.fn.slider.parseOptions(this),_40),slider:_1(this)}); +$(this).removeAttr("disabled"); +} +var _43=_42.options; +_43.min=parseFloat(_43.min); +_43.max=parseFloat(_43.max); +if(_43.range){ +if(!$.isArray(_43.value)){ +_43.value=$.map(String(_43.value).split(_43.separator),function(v){ +return parseFloat(v); +}); +} +if(_43.value.length<2){ +_43.value.push(_43.max); +} +}else{ +_43.value=parseFloat(_43.value); +} +_43.step=parseFloat(_43.step); +_43.originalValue=_43.value; +_17(this); +_d(this); +_6(this); +}); +}; +$.fn.slider.methods={options:function(jq){ +return $.data(jq[0],"slider").options; +},destroy:function(jq){ +return jq.each(function(){ +$.data(this,"slider").slider.remove(); +$(this).remove(); +}); +},resize:function(jq,_44){ +return jq.each(function(){ +_6(this,_44); +}); +},getValue:function(jq){ +return jq.slider("options").value; +},getValues:function(jq){ +return jq.slider("options").value; +},setValue:function(jq,_45){ +return jq.each(function(){ +_24(this,[_45]); +}); +},setValues:function(jq,_46){ +return jq.each(function(){ +_24(this,_46); +}); +},clear:function(jq){ +return jq.each(function(){ +var _47=$(this).slider("options"); +_24(this,_47.range?[_47.min,_47.max]:[_47.min]); +}); +},reset:function(jq){ +return jq.each(function(){ +var _48=$(this).slider("options"); +$(this).slider(_48.range?"setValues":"setValue",_48.originalValue); +}); +},enable:function(jq){ +return jq.each(function(){ +$.data(this,"slider").options.disabled=false; +_17(this); +}); +},disable:function(jq){ +return jq.each(function(){ +$.data(this,"slider").options.disabled=true; +_17(this); +}); +}}; +$.fn.slider.parseOptions=function(_49){ +var t=$(_49); +return $.extend({},$.parser.parseOptions(_49,["width","height","mode",{reversed:"boolean",showTip:"boolean",range:"boolean",min:"number",max:"number",step:"number"}]),{value:(t.val()||undefined),disabled:(t.attr("disabled")?true:undefined),rule:(t.attr("rule")?eval(t.attr("rule")):undefined)}); +}; +$.fn.slider.defaults={width:"auto",height:"auto",mode:"h",reversed:false,showTip:false,disabled:false,range:false,value:0,separator:",",min:0,max:100,step:1,rule:[],tipFormatter:function(_4a){ +return _4a; +},converter:{toPosition:function(_4b,_4c){ +var _4d=$(this).slider("options"); +return (_4b-_4d.min)/(_4d.max-_4d.min)*_4c; +},toValue:function(pos,_4e){ +var _4f=$(this).slider("options"); +return _4f.min+(_4f.max-_4f.min)*(pos/_4e); +}},onChange:function(_50,_51){ +},onSlideStart:function(_52){ +},onSlideEnd:function(_53){ +},onComplete:function(_54){ +}}; +})(jQuery); + diff --git a/src/main/webapp/js/plugins/jquery.spinner.js b/src/main/webapp/js/plugins/jquery.spinner.js new file mode 100644 index 0000000..fc9cfe7 --- /dev/null +++ b/src/main/webapp/js/plugins/jquery.spinner.js @@ -0,0 +1,129 @@ +/** + * jQuery EasyUI 1.5.2 + * + * Copyright (c) 2009-2017 www.jeasyui.com. All rights reserved. + * + * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php + * To use it on other terms please contact us: info@jeasyui.com + * + */ +(function($){ +function _1(_2){ +var _3=$.data(_2,"spinner"); +var _4=_3.options; +var _5=$.extend(true,[],_4.icons); +if(_4.spinAlign=="left"||_4.spinAlign=="right"){ +_4.spinArrow=true; +_4.iconAlign=_4.spinAlign; +var _6={iconCls:"spinner-arrow",handler:function(e){ +var _7=$(e.target).closest(".spinner-arrow-up,.spinner-arrow-down"); +_13(e.data.target,_7.hasClass("spinner-arrow-down")); +}}; +if(_4.spinAlign=="left"){ +_5.unshift(_6); +}else{ +_5.push(_6); +} +}else{ +_4.spinArrow=false; +if(_4.spinAlign=="vertical"){ +if(_4.buttonAlign!="top"){ +_4.buttonAlign="bottom"; +} +_4.clsLeft="textbox-button-bottom"; +_4.clsRight="textbox-button-top"; +}else{ +_4.clsLeft="textbox-button-left"; +_4.clsRight="textbox-button-right"; +} +} +$(_2).addClass("spinner-f").textbox($.extend({},_4,{icons:_5,doSize:false,onResize:function(_8,_9){ +if(!_4.spinArrow){ +var _a=$(this).next(); +var _b=_a.find(".textbox-button:not(.spinner-button)"); +if(_b.length){ +var _c=_b.outerWidth(); +var _d=_b.outerHeight(); +var _e=_a.find(".spinner-button."+_4.clsLeft); +var _f=_a.find(".spinner-button."+_4.clsRight); +if(_4.buttonAlign=="right"){ +_f.css("marginRight",_c+"px"); +}else{ +if(_4.buttonAlign=="left"){ +_e.css("marginLeft",_c+"px"); +}else{ +if(_4.buttonAlign=="top"){ +_f.css("marginTop",_d+"px"); +}else{ +_e.css("marginBottom",_d+"px"); +} +} +} +} +} +_4.onResize.call(this,_8,_9); +}})); +$(_2).attr("spinnerName",$(_2).attr("textboxName")); +_3.spinner=$(_2).next(); +_3.spinner.addClass("spinner"); +if(_4.spinArrow){ +var _10=_3.spinner.find(".spinner-arrow"); +_10.append(""); +_10.append(""); +}else{ +var _11=$("").addClass(_4.clsLeft).appendTo(_3.spinner); +var _12=$("").addClass(_4.clsRight).appendTo(_3.spinner); +_11.linkbutton({iconCls:_4.reversed?"spinner-button-up":"spinner-button-down",onClick:function(){ +_13(_2,!_4.reversed); +}}); +_12.linkbutton({iconCls:_4.reversed?"spinner-button-down":"spinner-button-up",onClick:function(){ +_13(_2,_4.reversed); +}}); +if(_4.disabled){ +$(_2).spinner("disable"); +} +if(_4.readonly){ +$(_2).spinner("readonly"); +} +} +$(_2).spinner("resize"); +}; +function _13(_14,_15){ +var _16=$(_14).spinner("options"); +_16.spin.call(_14,_15); +_16[_15?"onSpinDown":"onSpinUp"].call(_14); +$(_14).spinner("validate"); +}; +$.fn.spinner=function(_17,_18){ +if(typeof _17=="string"){ +var _19=$.fn.spinner.methods[_17]; +if(_19){ +return _19(this,_18); +}else{ +return this.textbox(_17,_18); +} +} +_17=_17||{}; +return this.each(function(){ +var _1a=$.data(this,"spinner"); +if(_1a){ +$.extend(_1a.options,_17); +}else{ +_1a=$.data(this,"spinner",{options:$.extend({},$.fn.spinner.defaults,$.fn.spinner.parseOptions(this),_17)}); +} +_1(this); +}); +}; +$.fn.spinner.methods={options:function(jq){ +var _1b=jq.textbox("options"); +return $.extend($.data(jq[0],"spinner").options,{width:_1b.width,value:_1b.value,originalValue:_1b.originalValue,disabled:_1b.disabled,readonly:_1b.readonly}); +}}; +$.fn.spinner.parseOptions=function(_1c){ +return $.extend({},$.fn.textbox.parseOptions(_1c),$.parser.parseOptions(_1c,["min","max","spinAlign",{increment:"number",reversed:"boolean"}])); +}; +$.fn.spinner.defaults=$.extend({},$.fn.textbox.defaults,{min:null,max:null,increment:1,spinAlign:"right",reversed:false,spin:function(_1d){ +},onSpinUp:function(){ +},onSpinDown:function(){ +}}); +})(jQuery); + diff --git a/src/main/webapp/js/plugins/jquery.splitbutton.js b/src/main/webapp/js/plugins/jquery.splitbutton.js new file mode 100644 index 0000000..8f503f4 --- /dev/null +++ b/src/main/webapp/js/plugins/jquery.splitbutton.js @@ -0,0 +1,49 @@ +/** + * jQuery EasyUI 1.5.2 + * + * Copyright (c) 2009-2017 www.jeasyui.com. All rights reserved. + * + * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php + * To use it on other terms please contact us: info@jeasyui.com + * + */ +(function($){ +function _1(_2){ +var _3=$.data(_2,"splitbutton").options; +$(_2).menubutton(_3); +$(_2).addClass("s-btn"); +}; +$.fn.splitbutton=function(_4,_5){ +if(typeof _4=="string"){ +var _6=$.fn.splitbutton.methods[_4]; +if(_6){ +return _6(this,_5); +}else{ +return this.menubutton(_4,_5); +} +} +_4=_4||{}; +return this.each(function(){ +var _7=$.data(this,"splitbutton"); +if(_7){ +$.extend(_7.options,_4); +}else{ +$.data(this,"splitbutton",{options:$.extend({},$.fn.splitbutton.defaults,$.fn.splitbutton.parseOptions(this),_4)}); +$(this).removeAttr("disabled"); +} +_1(this); +}); +}; +$.fn.splitbutton.methods={options:function(jq){ +var _8=jq.menubutton("options"); +var _9=$.data(jq[0],"splitbutton").options; +$.extend(_9,{disabled:_8.disabled,toggle:_8.toggle,selected:_8.selected}); +return _9; +}}; +$.fn.splitbutton.parseOptions=function(_a){ +var t=$(_a); +return $.extend({},$.fn.linkbutton.parseOptions(_a),$.parser.parseOptions(_a,["menu",{plain:"boolean",duration:"number"}])); +}; +$.fn.splitbutton.defaults=$.extend({},$.fn.linkbutton.defaults,{plain:true,menu:null,duration:100,cls:{btn1:"m-btn-active s-btn-active",btn2:"m-btn-plain-active s-btn-plain-active",arrow:"m-btn-downarrow",trigger:"m-btn-line"}}); +})(jQuery); + diff --git a/src/main/webapp/js/plugins/jquery.switchbutton.js b/src/main/webapp/js/plugins/jquery.switchbutton.js new file mode 100644 index 0000000..670ffd9 --- /dev/null +++ b/src/main/webapp/js/plugins/jquery.switchbutton.js @@ -0,0 +1,193 @@ +/** + * jQuery EasyUI 1.5.2 + * + * Copyright (c) 2009-2017 www.jeasyui.com. All rights reserved. + * + * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php + * To use it on other terms please contact us: info@jeasyui.com + * + */ +(function($){ +function _1(_2){ +var _3=$(""+""+""+""+""+""+""+"").insertAfter(_2); +var t=$(_2); +t.addClass("switchbutton-f").hide(); +var _4=t.attr("name"); +if(_4){ +t.removeAttr("name").attr("switchbuttonName",_4); +_3.find(".switchbutton-value").attr("name",_4); +} +_3.bind("_resize",function(e,_5){ +if($(this).hasClass("easyui-fluid")||_5){ +_6(_2); +} +return false; +}); +return _3; +}; +function _6(_7,_8){ +var _9=$.data(_7,"switchbutton"); +var _a=_9.options; +var _b=_9.switchbutton; +if(_8){ +$.extend(_a,_8); +} +var _c=_b.is(":visible"); +if(!_c){ +_b.appendTo("body"); +} +_b._size(_a); +var w=_b.width(); +var h=_b.height(); +var w=_b.outerWidth(); +var h=_b.outerHeight(); +var _d=parseInt(_a.handleWidth)||_b.height(); +var _e=w*2-_d; +_b.find(".switchbutton-inner").css({width:_e+"px",height:h+"px",lineHeight:h+"px"}); +_b.find(".switchbutton-handle")._outerWidth(_d)._outerHeight(h).css({marginLeft:-_d/2+"px"}); +_b.find(".switchbutton-on").css({width:(w-_d/2)+"px",textIndent:(_a.reversed?"":"-")+_d/2+"px"}); +_b.find(".switchbutton-off").css({width:(w-_d/2)+"px",textIndent:(_a.reversed?"-":"")+_d/2+"px"}); +_a.marginWidth=w-_d; +_f(_7,_a.checked,false); +if(!_c){ +_b.insertAfter(_7); +} +}; +function _10(_11){ +var _12=$.data(_11,"switchbutton"); +var _13=_12.options; +var _14=_12.switchbutton; +var _15=_14.find(".switchbutton-inner"); +var on=_15.find(".switchbutton-on").html(_13.onText); +var off=_15.find(".switchbutton-off").html(_13.offText); +var _16=_15.find(".switchbutton-handle").html(_13.handleText); +if(_13.reversed){ +off.prependTo(_15); +on.insertAfter(_16); +}else{ +on.prependTo(_15); +off.insertAfter(_16); +} +_14.find(".switchbutton-value")._propAttr("checked",_13.checked); +_14.removeClass("switchbutton-disabled").addClass(_13.disabled?"switchbutton-disabled":""); +_14.removeClass("switchbutton-reversed").addClass(_13.reversed?"switchbutton-reversed":""); +_f(_11,_13.checked); +_17(_11,_13.readonly); +$(_11).switchbutton("setValue",_13.value); +}; +function _f(_18,_19,_1a){ +var _1b=$.data(_18,"switchbutton"); +var _1c=_1b.options; +_1c.checked=_19; +var _1d=_1b.switchbutton.find(".switchbutton-inner"); +var _1e=_1d.find(".switchbutton-on"); +var _1f=_1c.reversed?(_1c.checked?_1c.marginWidth:0):(_1c.checked?0:_1c.marginWidth); +var dir=_1e.css("float").toLowerCase(); +var css={}; +css["margin-"+dir]=-_1f+"px"; +_1a?_1d.animate(css,200):_1d.css(css); +var _20=_1d.find(".switchbutton-value"); +var ck=_20.is(":checked"); +$(_18).add(_20)._propAttr("checked",_1c.checked); +if(ck!=_1c.checked){ +_1c.onChange.call(_18,_1c.checked); +} +}; +function _21(_22,_23){ +var _24=$.data(_22,"switchbutton"); +var _25=_24.options; +var _26=_24.switchbutton; +var _27=_26.find(".switchbutton-value"); +if(_23){ +_25.disabled=true; +$(_22).add(_27).attr("disabled","disabled"); +_26.addClass("switchbutton-disabled"); +}else{ +_25.disabled=false; +$(_22).add(_27).removeAttr("disabled"); +_26.removeClass("switchbutton-disabled"); +} +}; +function _17(_28,_29){ +var _2a=$.data(_28,"switchbutton"); +var _2b=_2a.options; +_2b.readonly=_29==undefined?true:_29; +_2a.switchbutton.removeClass("switchbutton-readonly").addClass(_2b.readonly?"switchbutton-readonly":""); +}; +function _2c(_2d){ +var _2e=$.data(_2d,"switchbutton"); +var _2f=_2e.options; +_2e.switchbutton.unbind(".switchbutton").bind("click.switchbutton",function(){ +if(!_2f.disabled&&!_2f.readonly){ +_f(_2d,_2f.checked?false:true,true); +} +}); +}; +$.fn.switchbutton=function(_30,_31){ +if(typeof _30=="string"){ +return $.fn.switchbutton.methods[_30](this,_31); +} +_30=_30||{}; +return this.each(function(){ +var _32=$.data(this,"switchbutton"); +if(_32){ +$.extend(_32.options,_30); +}else{ +_32=$.data(this,"switchbutton",{options:$.extend({},$.fn.switchbutton.defaults,$.fn.switchbutton.parseOptions(this),_30),switchbutton:_1(this)}); +} +_32.options.originalChecked=_32.options.checked; +_10(this); +_6(this); +_2c(this); +}); +}; +$.fn.switchbutton.methods={options:function(jq){ +var _33=jq.data("switchbutton"); +return $.extend(_33.options,{value:_33.switchbutton.find(".switchbutton-value").val()}); +},resize:function(jq,_34){ +return jq.each(function(){ +_6(this,_34); +}); +},enable:function(jq){ +return jq.each(function(){ +_21(this,false); +}); +},disable:function(jq){ +return jq.each(function(){ +_21(this,true); +}); +},readonly:function(jq,_35){ +return jq.each(function(){ +_17(this,_35); +}); +},check:function(jq){ +return jq.each(function(){ +_f(this,true); +}); +},uncheck:function(jq){ +return jq.each(function(){ +_f(this,false); +}); +},clear:function(jq){ +return jq.each(function(){ +_f(this,false); +}); +},reset:function(jq){ +return jq.each(function(){ +var _36=$(this).switchbutton("options"); +_f(this,_36.originalChecked); +}); +},setValue:function(jq,_37){ +return jq.each(function(){ +$(this).val(_37); +$.data(this,"switchbutton").switchbutton.find(".switchbutton-value").val(_37); +}); +}}; +$.fn.switchbutton.parseOptions=function(_38){ +var t=$(_38); +return $.extend({},$.parser.parseOptions(_38,["onText","offText","handleText",{handleWidth:"number",reversed:"boolean"}]),{value:(t.val()||undefined),checked:(t.attr("checked")?true:undefined),disabled:(t.attr("disabled")?true:undefined),readonly:(t.attr("readonly")?true:undefined)}); +}; +$.fn.switchbutton.defaults={handleWidth:"auto",width:60,height:26,checked:false,disabled:false,readonly:false,reversed:false,onText:"ON",offText:"OFF",handleText:"",value:"on",onChange:function(_39){ +}}; +})(jQuery); + diff --git a/src/main/webapp/js/plugins/jquery.tabs.js b/src/main/webapp/js/plugins/jquery.tabs.js new file mode 100644 index 0000000..b5ace14 --- /dev/null +++ b/src/main/webapp/js/plugins/jquery.tabs.js @@ -0,0 +1,708 @@ +/** + * jQuery EasyUI 1.5.2 + * + * Copyright (c) 2009-2017 www.jeasyui.com. All rights reserved. + * + * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php + * To use it on other terms please contact us: info@jeasyui.com + * + */ +(function($){ +function _1(c){ +var w=0; +$(c).children().each(function(){ +w+=$(this).outerWidth(true); +}); +return w; +}; +function _2(_3){ +var _4=$.data(_3,"tabs").options; +if(_4.tabPosition=="left"||_4.tabPosition=="right"||!_4.showHeader){ +return; +} +var _5=$(_3).children("div.tabs-header"); +var _6=_5.children("div.tabs-tool:not(.tabs-tool-hidden)"); +var _7=_5.children("div.tabs-scroller-left"); +var _8=_5.children("div.tabs-scroller-right"); +var _9=_5.children("div.tabs-wrap"); +var _a=_5.outerHeight(); +if(_4.plain){ +_a-=_a-_5.height(); +} +_6._outerHeight(_a); +var _b=_1(_5.find("ul.tabs")); +var _c=_5.width()-_6._outerWidth(); +if(_b>_c){ +_7.add(_8).show()._outerHeight(_a); +if(_4.toolPosition=="left"){ +_6.css({left:_7.outerWidth(),right:""}); +_9.css({marginLeft:_7.outerWidth()+_6._outerWidth(),marginRight:_8._outerWidth(),width:_c-_7.outerWidth()-_8.outerWidth()}); +}else{ +_6.css({left:"",right:_8.outerWidth()}); +_9.css({marginLeft:_7.outerWidth(),marginRight:_8.outerWidth()+_6._outerWidth(),width:_c-_7.outerWidth()-_8.outerWidth()}); +} +}else{ +_7.add(_8).hide(); +if(_4.toolPosition=="left"){ +_6.css({left:0,right:""}); +_9.css({marginLeft:_6._outerWidth(),marginRight:0,width:_c}); +}else{ +_6.css({left:"",right:0}); +_9.css({marginLeft:0,marginRight:_6._outerWidth(),width:_c}); +} +} +}; +function _d(_e){ +var _f=$.data(_e,"tabs").options; +var _10=$(_e).children("div.tabs-header"); +if(_f.tools){ +if(typeof _f.tools=="string"){ +$(_f.tools).addClass("tabs-tool").appendTo(_10); +$(_f.tools).show(); +}else{ +_10.children("div.tabs-tool").remove(); +var _11=$("
          ").appendTo(_10); +var tr=_11.find("tr"); +for(var i=0;i<_f.tools.length;i++){ +var td=$("").appendTo(tr); +var _12=$("").appendTo(td); +_12[0].onclick=eval(_f.tools[i].handler||function(){ +}); +_12.linkbutton($.extend({},_f.tools[i],{plain:true})); +} +} +}else{ +_10.children("div.tabs-tool").remove(); +} +}; +function _13(_14,_15){ +var _16=$.data(_14,"tabs"); +var _17=_16.options; +var cc=$(_14); +if(!_17.doSize){ +return; +} +if(_15){ +$.extend(_17,{width:_15.width,height:_15.height}); +} +cc._size(_17); +var _18=cc.children("div.tabs-header"); +var _19=cc.children("div.tabs-panels"); +var _1a=_18.find("div.tabs-wrap"); +var ul=_1a.find(".tabs"); +ul.children("li").removeClass("tabs-first tabs-last"); +ul.children("li:first").addClass("tabs-first"); +ul.children("li:last").addClass("tabs-last"); +if(_17.tabPosition=="left"||_17.tabPosition=="right"){ +_18._outerWidth(_17.showHeader?_17.headerWidth:0); +_19._outerWidth(cc.width()-_18.outerWidth()); +_18.add(_19)._size("height",isNaN(parseInt(_17.height))?"":cc.height()); +_1a._outerWidth(_18.width()); +ul._outerWidth(_1a.width()).css("height",""); +}else{ +_18.children("div.tabs-scroller-left,div.tabs-scroller-right,div.tabs-tool:not(.tabs-tool-hidden)").css("display",_17.showHeader?"block":"none"); +_18._outerWidth(cc.width()).css("height",""); +if(_17.showHeader){ +_18.css("background-color",""); +_1a.css("height",""); +}else{ +_18.css("background-color","transparent"); +_18._outerHeight(0); +_1a._outerHeight(0); +} +ul._outerHeight(_17.tabHeight).css("width",""); +ul._outerHeight(ul.outerHeight()-ul.height()-1+_17.tabHeight).css("width",""); +_19._size("height",isNaN(parseInt(_17.height))?"":(cc.height()-_18.outerHeight())); +_19._size("width",cc.width()); +} +if(_16.tabs.length){ +var d1=ul.outerWidth(true)-ul.width(); +var li=ul.children("li:first"); +var d2=li.outerWidth(true)-li.width(); +var _1b=_18.width()-_18.children(".tabs-tool:not(.tabs-tool-hidden)")._outerWidth(); +var _1c=Math.floor((_1b-d1-d2*_16.tabs.length)/_16.tabs.length); +$.map(_16.tabs,function(p){ +_1d(p,(_17.justified&&$.inArray(_17.tabPosition,["top","bottom"])>=0)?_1c:undefined); +}); +if(_17.justified&&$.inArray(_17.tabPosition,["top","bottom"])>=0){ +var _1e=_1b-d1-_1(ul); +_1d(_16.tabs[_16.tabs.length-1],_1c+_1e); +} +} +_2(_14); +function _1d(p,_1f){ +var _20=p.panel("options"); +var p_t=_20.tab.find("a.tabs-inner"); +var _1f=_1f?_1f:(parseInt(_20.tabWidth||_17.tabWidth||undefined)); +if(_1f){ +p_t._outerWidth(_1f); +}else{ +p_t.css("width",""); +} +p_t._outerHeight(_17.tabHeight); +p_t.css("lineHeight",p_t.height()+"px"); +p_t.find(".easyui-fluid:visible").triggerHandler("_resize"); +}; +}; +function _21(_22){ +var _23=$.data(_22,"tabs").options; +var tab=_24(_22); +if(tab){ +var _25=$(_22).children("div.tabs-panels"); +var _26=_23.width=="auto"?"auto":_25.width(); +var _27=_23.height=="auto"?"auto":_25.height(); +tab.panel("resize",{width:_26,height:_27}); +} +}; +function _28(_29){ +var _2a=$.data(_29,"tabs").tabs; +var cc=$(_29).addClass("tabs-container"); +var _2b=$("
          ").insertBefore(cc); +cc.children("div").each(function(){ +_2b[0].appendChild(this); +}); +cc[0].appendChild(_2b[0]); +$("
          "+"
          "+"
          "+"
          "+"
            "+"
            "+"
            ").prependTo(_29); +cc.children("div.tabs-panels").children("div").each(function(i){ +var _2c=$.extend({},$.parser.parseOptions(this),{disabled:($(this).attr("disabled")?true:undefined),selected:($(this).attr("selected")?true:undefined)}); +_3c(_29,_2c,$(this)); +}); +cc.children("div.tabs-header").find(".tabs-scroller-left, .tabs-scroller-right").hover(function(){ +$(this).addClass("tabs-scroller-over"); +},function(){ +$(this).removeClass("tabs-scroller-over"); +}); +cc.bind("_resize",function(e,_2d){ +if($(this).hasClass("easyui-fluid")||_2d){ +_13(_29); +_21(_29); +} +return false; +}); +}; +function _2e(_2f){ +var _30=$.data(_2f,"tabs"); +var _31=_30.options; +$(_2f).children("div.tabs-header").unbind().bind("click",function(e){ +if($(e.target).hasClass("tabs-scroller-left")){ +$(_2f).tabs("scrollBy",-_31.scrollIncrement); +}else{ +if($(e.target).hasClass("tabs-scroller-right")){ +$(_2f).tabs("scrollBy",_31.scrollIncrement); +}else{ +var li=$(e.target).closest("li"); +if(li.hasClass("tabs-disabled")){ +return false; +} +var a=$(e.target).closest("a.tabs-close"); +if(a.length){ +_5a(_2f,_32(li)); +}else{ +if(li.length){ +var _33=_32(li); +var _34=_30.tabs[_33].panel("options"); +if(_34.collapsible){ +_34.closed?_50(_2f,_33):_75(_2f,_33); +}else{ +_50(_2f,_33); +} +} +} +return false; +} +} +}).bind("contextmenu",function(e){ +var li=$(e.target).closest("li"); +if(li.hasClass("tabs-disabled")){ +return; +} +if(li.length){ +_31.onContextMenu.call(_2f,e,li.find("span.tabs-title").html(),_32(li)); +} +}); +function _32(li){ +var _35=0; +li.parent().children("li").each(function(i){ +if(li[0]==this){ +_35=i; +return false; +} +}); +return _35; +}; +}; +function _36(_37){ +var _38=$.data(_37,"tabs").options; +var _39=$(_37).children("div.tabs-header"); +var _3a=$(_37).children("div.tabs-panels"); +_39.removeClass("tabs-header-top tabs-header-bottom tabs-header-left tabs-header-right"); +_3a.removeClass("tabs-panels-top tabs-panels-bottom tabs-panels-left tabs-panels-right"); +if(_38.tabPosition=="top"){ +_39.insertBefore(_3a); +}else{ +if(_38.tabPosition=="bottom"){ +_39.insertAfter(_3a); +_39.addClass("tabs-header-bottom"); +_3a.addClass("tabs-panels-top"); +}else{ +if(_38.tabPosition=="left"){ +_39.addClass("tabs-header-left"); +_3a.addClass("tabs-panels-right"); +}else{ +if(_38.tabPosition=="right"){ +_39.addClass("tabs-header-right"); +_3a.addClass("tabs-panels-left"); +} +} +} +} +if(_38.plain==true){ +_39.addClass("tabs-header-plain"); +}else{ +_39.removeClass("tabs-header-plain"); +} +_39.removeClass("tabs-header-narrow").addClass(_38.narrow?"tabs-header-narrow":""); +var _3b=_39.find(".tabs"); +_3b.removeClass("tabs-pill").addClass(_38.pill?"tabs-pill":""); +_3b.removeClass("tabs-narrow").addClass(_38.narrow?"tabs-narrow":""); +_3b.removeClass("tabs-justified").addClass(_38.justified?"tabs-justified":""); +if(_38.border==true){ +_39.removeClass("tabs-header-noborder"); +_3a.removeClass("tabs-panels-noborder"); +}else{ +_39.addClass("tabs-header-noborder"); +_3a.addClass("tabs-panels-noborder"); +} +_38.doSize=true; +}; +function _3c(_3d,_3e,pp){ +_3e=_3e||{}; +var _3f=$.data(_3d,"tabs"); +var _40=_3f.tabs; +if(_3e.index==undefined||_3e.index>_40.length){ +_3e.index=_40.length; +} +if(_3e.index<0){ +_3e.index=0; +} +var ul=$(_3d).children("div.tabs-header").find("ul.tabs"); +var _41=$(_3d).children("div.tabs-panels"); +var tab=$("
          • "+""+""+""+""+"
          • "); +if(!pp){ +pp=$("
            "); +} +if(_3e.index>=_40.length){ +tab.appendTo(ul); +pp.appendTo(_41); +_40.push(pp); +}else{ +tab.insertBefore(ul.children("li:eq("+_3e.index+")")); +pp.insertBefore(_41.children("div.panel:eq("+_3e.index+")")); +_40.splice(_3e.index,0,pp); +} +pp.panel($.extend({},_3e,{tab:tab,border:false,noheader:true,closed:true,doSize:false,iconCls:(_3e.icon?_3e.icon:undefined),onLoad:function(){ +if(_3e.onLoad){ +_3e.onLoad.call(this,arguments); +} +_3f.options.onLoad.call(_3d,$(this)); +},onBeforeOpen:function(){ +if(_3e.onBeforeOpen){ +if(_3e.onBeforeOpen.call(this)==false){ +return false; +} +} +var p=$(_3d).tabs("getSelected"); +if(p){ +if(p[0]!=this){ +$(_3d).tabs("unselect",_4a(_3d,p)); +p=$(_3d).tabs("getSelected"); +if(p){ +return false; +} +}else{ +_21(_3d); +return false; +} +} +var _42=$(this).panel("options"); +_42.tab.addClass("tabs-selected"); +var _43=$(_3d).find(">div.tabs-header>div.tabs-wrap"); +var _44=_42.tab.position().left; +var _45=_44+_42.tab.outerWidth(); +if(_44<0||_45>_43.width()){ +var _46=_44-(_43.width()-_42.tab.width())/2; +$(_3d).tabs("scrollBy",_46); +}else{ +$(_3d).tabs("scrollBy",0); +} +var _47=$(this).panel("panel"); +_47.css("display","block"); +_21(_3d); +_47.css("display","none"); +},onOpen:function(){ +if(_3e.onOpen){ +_3e.onOpen.call(this); +} +var _48=$(this).panel("options"); +_3f.selectHis.push(_48.title); +_3f.options.onSelect.call(_3d,_48.title,_4a(_3d,this)); +},onBeforeClose:function(){ +if(_3e.onBeforeClose){ +if(_3e.onBeforeClose.call(this)==false){ +return false; +} +} +$(this).panel("options").tab.removeClass("tabs-selected"); +},onClose:function(){ +if(_3e.onClose){ +_3e.onClose.call(this); +} +var _49=$(this).panel("options"); +_3f.options.onUnselect.call(_3d,_49.title,_4a(_3d,this)); +}})); +$(_3d).tabs("update",{tab:pp,options:pp.panel("options"),type:"header"}); +}; +function _4b(_4c,_4d){ +var _4e=$.data(_4c,"tabs"); +var _4f=_4e.options; +if(_4d.selected==undefined){ +_4d.selected=true; +} +_3c(_4c,_4d); +_4f.onAdd.call(_4c,_4d.title,_4d.index); +if(_4d.selected){ +_50(_4c,_4d.index); +} +}; +function _51(_52,_53){ +_53.type=_53.type||"all"; +var _54=$.data(_52,"tabs").selectHis; +var pp=_53.tab; +var _55=pp.panel("options"); +var _56=_55.title; +$.extend(_55,_53.options,{iconCls:(_53.options.icon?_53.options.icon:undefined)}); +if(_53.type=="all"||_53.type=="body"){ +pp.panel(); +} +if(_53.type=="all"||_53.type=="header"){ +var tab=_55.tab; +if(_55.header){ +tab.find(".tabs-inner").html($(_55.header)); +}else{ +var _57=tab.find("span.tabs-title"); +var _58=tab.find("span.tabs-icon"); +_57.html(_55.title); +_58.attr("class","tabs-icon"); +tab.find("a.tabs-close").remove(); +if(_55.closable){ +_57.addClass("tabs-closable"); +$("").appendTo(tab); +}else{ +_57.removeClass("tabs-closable"); +} +if(_55.iconCls){ +_57.addClass("tabs-with-icon"); +_58.addClass(_55.iconCls); +}else{ +_57.removeClass("tabs-with-icon"); +} +if(_55.tools){ +var _59=tab.find("span.tabs-p-tool"); +if(!_59.length){ +var _59=$("").insertAfter(tab.find("a.tabs-inner")); +} +if($.isArray(_55.tools)){ +_59.empty(); +for(var i=0;i<_55.tools.length;i++){ +var t=$("").appendTo(_59); +t.addClass(_55.tools[i].iconCls); +if(_55.tools[i].handler){ +t.bind("click",{handler:_55.tools[i].handler},function(e){ +if($(this).parents("li").hasClass("tabs-disabled")){ +return; +} +e.data.handler.call(this); +}); +} +} +}else{ +$(_55.tools).children().appendTo(_59); +} +var pr=_59.children().length*12; +if(_55.closable){ +pr+=8; +_59.css("right",""); +}else{ +pr-=3; +_59.css("right","5px"); +} +_57.css("padding-right",pr+"px"); +}else{ +tab.find("span.tabs-p-tool").remove(); +_57.css("padding-right",""); +} +} +if(_56!=_55.title){ +for(var i=0;i<_54.length;i++){ +if(_54[i]==_56){ +_54[i]=_55.title; +} +} +} +} +if(_55.disabled){ +_55.tab.addClass("tabs-disabled"); +}else{ +_55.tab.removeClass("tabs-disabled"); +} +_13(_52); +$.data(_52,"tabs").options.onUpdate.call(_52,_55.title,_4a(_52,pp)); +}; +function _5a(_5b,_5c){ +var _5d=$.data(_5b,"tabs").options; +var _5e=$.data(_5b,"tabs").tabs; +var _5f=$.data(_5b,"tabs").selectHis; +if(!_60(_5b,_5c)){ +return; +} +var tab=_61(_5b,_5c); +var _62=tab.panel("options").title; +var _63=_4a(_5b,tab); +if(_5d.onBeforeClose.call(_5b,_62,_63)==false){ +return; +} +var tab=_61(_5b,_5c,true); +tab.panel("options").tab.remove(); +tab.panel("destroy"); +_5d.onClose.call(_5b,_62,_63); +_13(_5b); +for(var i=0;i<_5f.length;i++){ +if(_5f[i]==_62){ +_5f.splice(i,1); +i--; +} +} +var _64=_5f.pop(); +if(_64){ +_50(_5b,_64); +}else{ +if(_5e.length){ +_50(_5b,0); +} +} +}; +function _61(_65,_66,_67){ +var _68=$.data(_65,"tabs").tabs; +var tab=null; +if(typeof _66=="number"){ +if(_66>=0&&_66<_68.length){ +tab=_68[_66]; +if(_67){ +_68.splice(_66,1); +} +} +}else{ +var tmp=$(""); +for(var i=0;i<_68.length;i++){ +var p=_68[i]; +tmp.html(p.panel("options").title); +if(tmp.text()==_66){ +tab=p; +if(_67){ +_68.splice(i,1); +} +break; +} +} +tmp.remove(); +} +return tab; +}; +function _4a(_69,tab){ +var _6a=$.data(_69,"tabs").tabs; +for(var i=0;i<_6a.length;i++){ +if(_6a[i][0]==$(tab)[0]){ +return i; +} +} +return -1; +}; +function _24(_6b){ +var _6c=$.data(_6b,"tabs").tabs; +for(var i=0;i<_6c.length;i++){ +var tab=_6c[i]; +if(tab.panel("options").tab.hasClass("tabs-selected")){ +return tab; +} +} +return null; +}; +function _6d(_6e){ +var _6f=$.data(_6e,"tabs"); +var _70=_6f.tabs; +for(var i=0;i<_70.length;i++){ +var _71=_70[i].panel("options"); +if(_71.selected&&!_71.disabled){ +_50(_6e,i); +return; +} +} +_50(_6e,_6f.options.selected); +}; +function _50(_72,_73){ +var p=_61(_72,_73); +if(p&&!p.is(":visible")){ +_74(_72); +if(!p.panel("options").disabled){ +p.panel("open"); +} +} +}; +function _75(_76,_77){ +var p=_61(_76,_77); +if(p&&p.is(":visible")){ +_74(_76); +p.panel("close"); +} +}; +function _74(_78){ +$(_78).children("div.tabs-panels").each(function(){ +$(this).stop(true,true); +}); +}; +function _60(_79,_7a){ +return _61(_79,_7a)!=null; +}; +function _7b(_7c,_7d){ +var _7e=$.data(_7c,"tabs").options; +_7e.showHeader=_7d; +$(_7c).tabs("resize"); +}; +function _7f(_80,_81){ +var _82=$(_80).find(">.tabs-header>.tabs-tool"); +if(_81){ +_82.removeClass("tabs-tool-hidden").show(); +}else{ +_82.addClass("tabs-tool-hidden").hide(); +} +$(_80).tabs("resize").tabs("scrollBy",0); +}; +$.fn.tabs=function(_83,_84){ +if(typeof _83=="string"){ +return $.fn.tabs.methods[_83](this,_84); +} +_83=_83||{}; +return this.each(function(){ +var _85=$.data(this,"tabs"); +if(_85){ +$.extend(_85.options,_83); +}else{ +$.data(this,"tabs",{options:$.extend({},$.fn.tabs.defaults,$.fn.tabs.parseOptions(this),_83),tabs:[],selectHis:[]}); +_28(this); +} +_d(this); +_36(this); +_13(this); +_2e(this); +_6d(this); +}); +}; +$.fn.tabs.methods={options:function(jq){ +var cc=jq[0]; +var _86=$.data(cc,"tabs").options; +var s=_24(cc); +_86.selected=s?_4a(cc,s):-1; +return _86; +},tabs:function(jq){ +return $.data(jq[0],"tabs").tabs; +},resize:function(jq,_87){ +return jq.each(function(){ +_13(this,_87); +_21(this); +}); +},add:function(jq,_88){ +return jq.each(function(){ +_4b(this,_88); +}); +},close:function(jq,_89){ +return jq.each(function(){ +_5a(this,_89); +}); +},getTab:function(jq,_8a){ +return _61(jq[0],_8a); +},getTabIndex:function(jq,tab){ +return _4a(jq[0],tab); +},getSelected:function(jq){ +return _24(jq[0]); +},select:function(jq,_8b){ +return jq.each(function(){ +_50(this,_8b); +}); +},unselect:function(jq,_8c){ +return jq.each(function(){ +_75(this,_8c); +}); +},exists:function(jq,_8d){ +return _60(jq[0],_8d); +},update:function(jq,_8e){ +return jq.each(function(){ +_51(this,_8e); +}); +},enableTab:function(jq,_8f){ +return jq.each(function(){ +var _90=$(this).tabs("getTab",_8f).panel("options"); +_90.tab.removeClass("tabs-disabled"); +_90.disabled=false; +}); +},disableTab:function(jq,_91){ +return jq.each(function(){ +var _92=$(this).tabs("getTab",_91).panel("options"); +_92.tab.addClass("tabs-disabled"); +_92.disabled=true; +}); +},showHeader:function(jq){ +return jq.each(function(){ +_7b(this,true); +}); +},hideHeader:function(jq){ +return jq.each(function(){ +_7b(this,false); +}); +},showTool:function(jq){ +return jq.each(function(){ +_7f(this,true); +}); +},hideTool:function(jq){ +return jq.each(function(){ +_7f(this,false); +}); +},scrollBy:function(jq,_93){ +return jq.each(function(){ +var _94=$(this).tabs("options"); +var _95=$(this).find(">div.tabs-header>div.tabs-wrap"); +var pos=Math.min(_95._scrollLeft()+_93,_96()); +_95.animate({scrollLeft:pos},_94.scrollDuration); +function _96(){ +var w=0; +var ul=_95.children("ul"); +ul.children("li").each(function(){ +w+=$(this).outerWidth(true); +}); +return w-_95.width()+(ul.outerWidth()-ul.width()); +}; +}); +}}; +$.fn.tabs.parseOptions=function(_97){ +return $.extend({},$.parser.parseOptions(_97,["tools","toolPosition","tabPosition",{fit:"boolean",border:"boolean",plain:"boolean"},{headerWidth:"number",tabWidth:"number",tabHeight:"number",selected:"number"},{showHeader:"boolean",justified:"boolean",narrow:"boolean",pill:"boolean"}])); +}; +$.fn.tabs.defaults={width:"auto",height:"auto",headerWidth:150,tabWidth:"auto",tabHeight:27,selected:0,showHeader:true,plain:false,fit:false,border:true,justified:false,narrow:false,pill:false,tools:null,toolPosition:"right",tabPosition:"top",scrollIncrement:100,scrollDuration:400,onLoad:function(_98){ +},onSelect:function(_99,_9a){ +},onUnselect:function(_9b,_9c){ +},onBeforeClose:function(_9d,_9e){ +},onClose:function(_9f,_a0){ +},onAdd:function(_a1,_a2){ +},onUpdate:function(_a3,_a4){ +},onContextMenu:function(e,_a5,_a6){ +}}; +})(jQuery); + diff --git a/src/main/webapp/js/plugins/jquery.tagbox.js b/src/main/webapp/js/plugins/jquery.tagbox.js new file mode 100644 index 0000000..273eb86 --- /dev/null +++ b/src/main/webapp/js/plugins/jquery.tagbox.js @@ -0,0 +1,218 @@ +/** + * jQuery EasyUI 1.5.2 + * + * Copyright (c) 2009-2017 www.jeasyui.com. All rights reserved. + * + * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php + * To use it on other terms please contact us: info@jeasyui.com + * + */ +(function($){ +function _1(_2){ +var _3=$.data(_2,"tagbox"); +var _4=_3.options; +$(_2).addClass("tagbox-f").combobox($.extend({},_4,{cls:"tagbox",reversed:true,onChange:function(_5,_6){ +_7(); +$(this).combobox("hidePanel"); +_4.onChange.call(_2,_5,_6); +},onResizing:function(_8,_9){ +var _a=$(this).combobox("textbox"); +var tb=$(this).data("textbox").textbox; +tb.css({height:"",paddingLeft:_a.css("marginLeft"),paddingRight:_a.css("marginRight")}); +_a.css("margin",0); +tb._size({width:_4.width},$(this).parent()); +_23(_2); +_12(this); +_4.onResizing.call(_2,_8,_9); +},onLoadSuccess:function(_b){ +_7(); +_4.onLoadSuccess.call(_2,_b); +}})); +_7(); +_23(_2); +function _7(){ +$(_2).next().find(".tagbox-label").remove(); +var _c=$(_2).tagbox("textbox"); +var ss=[]; +$.map($(_2).tagbox("getValues"),function(_d,_e){ +var _f=_4.finder.getRow(_2,_d); +var _10=_4.tagFormatter.call(_2,_d,_f); +var cs={}; +var css=_4.tagStyler.call(_2,_d,_f)||""; +if(typeof css=="string"){ +cs={s:css}; +}else{ +cs={c:css["class"]||"",s:css["style"]||""}; +} +var _11=$("").insertBefore(_c).html(_10); +_11.attr("tagbox-index",_e); +_11.attr("style",cs.s).addClass(cs.c); +$("").appendTo(_11); +}); +_12(_2); +$(_2).combobox("setText",""); +}; +}; +function _12(_13,_14){ +var _15=$(_13).next(); +var _16=_14?$(_14):_15.find(".tagbox-label"); +if(_16.length){ +var _17=$(_13).tagbox("textbox"); +var _18=$(_16[0]); +var _19=_18.outerHeight(true)-_18.outerHeight(); +var _1a=_17.outerHeight()-_19*2; +_16.css({height:_1a+"px",lineHeight:_1a+"px"}); +var _1b=_15.find(".textbox-addon").css("height","100%"); +_1b.find(".textbox-icon").css("height","100%"); +_15.find(".textbox-button").linkbutton("resize",{height:"100%"}); +} +}; +function _1c(_1d){ +var _1e=$(_1d).next(); +_1e.unbind(".tagbox").bind("click.tagbox",function(e){ +var _1f=$(_1d).tagbox("options"); +if(_1f.disabled||_1f.readonly){ +return; +} +if($(e.target).hasClass("tagbox-remove")){ +var _20=parseInt($(e.target).parent().attr("tagbox-index")); +var _21=$(_1d).tagbox("getValues"); +if(_1f.onBeforeRemoveTag.call(_1d,_21[_20])==false){ +return; +} +_1f.onRemoveTag.call(_1d,_21[_20]); +_21.splice(_20,1); +$(_1d).tagbox("setValues",_21); +}else{ +var _22=$(e.target).closest(".tagbox-label"); +if(_22.length){ +var _20=parseInt(_22.attr("tagbox-index")); +var _21=$(_1d).tagbox("getValues"); +_1f.onClickTag.call(_1d,_21[_20]); +} +} +$(this).find(".textbox-text").focus(); +}).bind("keyup.tagbox",function(e){ +_23(_1d); +}).bind("mouseover.tagbox",function(e){ +if($(e.target).closest(".textbox-button,.textbox-addon,.tagbox-label").length){ +$(this).triggerHandler("mouseleave"); +}else{ +$(this).find(".textbox-text").triggerHandler("mouseenter"); +} +}).bind("mouseleave.tagbox",function(e){ +$(this).find(".textbox-text").triggerHandler("mouseleave"); +}); +}; +function _23(_24){ +var _25=$(_24).tagbox("options"); +var _26=$(_24).tagbox("textbox"); +var _27=$(_24).next(); +var tmp=$("").appendTo("body"); +tmp.attr("style",_26.attr("style")); +tmp.css({position:"absolute",top:-9999,left:-9999,width:"auto",fontFamily:_26.css("fontFamily"),fontSize:_26.css("fontSize"),fontWeight:_26.css("fontWeight"),whiteSpace:"nowrap"}); +var _28=_29(_26.val()); +var _2a=_29(_25.prompt||""); +tmp.remove(); +var _2b=Math.min(Math.max(_28,_2a)+20,_27.width()); +_26._outerWidth(_2b); +_27.find(".textbox-button").linkbutton("resize",{height:"100%"}); +function _29(val){ +var s=val.replace(/&/g,"&").replace(/\s/g," ").replace(//g,">"); +tmp.html(s); +return tmp.outerWidth(); +}; +}; +function _2c(_2d){ +var t=$(_2d); +var _2e=t.tagbox("options"); +if(_2e.limitToList){ +var _2f=t.tagbox("panel"); +var _30=_2f.children("div.combobox-item-hover"); +if(_30.length){ +_30.removeClass("combobox-item-hover"); +var row=_2e.finder.getRow(_2d,_30); +var _31=row[_2e.valueField]; +$(_2d).tagbox(_30.hasClass("combobox-item-selected")?"unselect":"select",_31); +} +$(_2d).tagbox("hidePanel"); +}else{ +var v=$.trim($(_2d).tagbox("getText")); +if(v!==""){ +var _32=$(_2d).tagbox("getValues"); +_32.push(v); +$(_2d).tagbox("setValues",_32); +} +} +}; +function _33(_34,_35){ +$(_34).combobox("setText",""); +_23(_34); +$(_34).combobox("setValues",_35); +$(_34).combobox("setText",""); +$(_34).tagbox("validate"); +}; +$.fn.tagbox=function(_36,_37){ +if(typeof _36=="string"){ +var _38=$.fn.tagbox.methods[_36]; +if(_38){ +return _38(this,_37); +}else{ +return this.combobox(_36,_37); +} +} +_36=_36||{}; +return this.each(function(){ +var _39=$.data(this,"tagbox"); +if(_39){ +$.extend(_39.options,_36); +}else{ +$.data(this,"tagbox",{options:$.extend({},$.fn.tagbox.defaults,$.fn.tagbox.parseOptions(this),_36)}); +} +_1(this); +_1c(this); +}); +}; +$.fn.tagbox.methods={options:function(jq){ +var _3a=jq.combobox("options"); +return $.extend($.data(jq[0],"tagbox").options,{width:_3a.width,height:_3a.height,originalValue:_3a.originalValue,disabled:_3a.disabled,readonly:_3a.readonly}); +},setValues:function(jq,_3b){ +return jq.each(function(){ +_33(this,_3b); +}); +}}; +$.fn.tagbox.parseOptions=function(_3c){ +return $.extend({},$.fn.combobox.parseOptions(_3c),$.parser.parseOptions(_3c,[])); +}; +$.fn.tagbox.defaults=$.extend({},$.fn.combobox.defaults,{hasDownArrow:false,multiple:true,reversed:true,selectOnNavigation:false,tipOptions:$.extend({},$.fn.textbox.defaults.tipOptions,{showDelay:200}),val:function(_3d){ +var vv=$(_3d).parent().prev().tagbox("getValues"); +if($(_3d).is(":focus")){ +vv.push($(_3d).val()); +} +return vv.join(","); +},inputEvents:$.extend({},$.fn.combo.defaults.inputEvents,{blur:function(e){ +var _3e=e.data.target; +var _3f=$(_3e).tagbox("options"); +if(_3f.limitToList){ +_2c(_3e); +} +}}),keyHandler:$.extend({},$.fn.combobox.defaults.keyHandler,{enter:function(e){ +_2c(this); +},query:function(q,e){ +var _40=$(this).tagbox("options"); +if(_40.limitToList){ +$.fn.combobox.defaults.keyHandler.query.call(this,q,e); +}else{ +$(this).combobox("hidePanel"); +} +}}),tagFormatter:function(_41,row){ +var _42=$(this).tagbox("options"); +return row?row[_42.textField]:_41; +},tagStyler:function(_43,row){ +return ""; +},onClickTag:function(_44){ +},onBeforeRemoveTag:function(_45){ +},onRemoveTag:function(_46){ +}}); +})(jQuery); + diff --git a/src/main/webapp/js/plugins/jquery.textbox.js b/src/main/webapp/js/plugins/jquery.textbox.js new file mode 100644 index 0000000..08be422 --- /dev/null +++ b/src/main/webapp/js/plugins/jquery.textbox.js @@ -0,0 +1,559 @@ +/** + * jQuery EasyUI 1.5.2 + * + * Copyright (c) 2009-2017 www.jeasyui.com. All rights reserved. + * + * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php + * To use it on other terms please contact us: info@jeasyui.com + * + */ +(function($){ +var _1=0; +function _2(_3){ +$(_3).addClass("textbox-f").hide(); +var _4=$(""+""+""+"").insertAfter(_3); +var _5=$(_3).attr("name"); +if(_5){ +_4.find("input.textbox-value").attr("name",_5); +$(_3).removeAttr("name").attr("textboxName",_5); +} +return _4; +}; +function _6(_7){ +var _8=$.data(_7,"textbox"); +var _9=_8.options; +var tb=_8.textbox; +var _a="_easyui_textbox_input"+(++_1); +tb.addClass(_9.cls); +tb.find(".textbox-text").remove(); +if(_9.multiline){ +$("").prependTo(tb); +}else{ +$("").prependTo(tb); +} +$("#"+_a).attr("tabindex",$(_7).attr("tabindex")||"").css("text-align",_7.style.textAlign||""); +tb.find(".textbox-addon").remove(); +var bb=_9.icons?$.extend(true,[],_9.icons):[]; +if(_9.iconCls){ +bb.push({iconCls:_9.iconCls,disabled:true}); +} +if(bb.length){ +var bc=$("").prependTo(tb); +bc.addClass("textbox-addon-"+_9.iconAlign); +for(var i=0;i"); +} +} +tb.find(".textbox-button").remove(); +if(_9.buttonText||_9.buttonIcon){ +var _b=$("").prependTo(tb); +_b.addClass("textbox-button-"+_9.buttonAlign).linkbutton({text:_9.buttonText,iconCls:_9.buttonIcon,onClick:function(){ +var t=$(this).parent().prev(); +t.textbox("options").onClickButton.call(t[0]); +}}); +} +if(_9.label){ +if(typeof _9.label=="object"){ +_8.label=$(_9.label); +_8.label.attr("for",_a); +}else{ +$(_8.label).remove(); +_8.label=$("").html(_9.label); +_8.label.css("textAlign",_9.labelAlign).attr("for",_a); +if(_9.labelPosition=="after"){ +_8.label.insertAfter(tb); +}else{ +_8.label.insertBefore(_7); +} +_8.label.removeClass("textbox-label-left textbox-label-right textbox-label-top"); +_8.label.addClass("textbox-label-"+_9.labelPosition); +} +}else{ +$(_8.label).remove(); +} +_c(_7); +_d(_7,_9.disabled); +_e(_7,_9.readonly); +}; +function _f(_10){ +var _11=$.data(_10,"textbox"); +var tb=_11.textbox; +tb.find(".textbox-text").validatebox("destroy"); +tb.remove(); +$(_11.label).remove(); +$(_10).remove(); +}; +function _12(_13,_14){ +var _15=$.data(_13,"textbox"); +var _16=_15.options; +var tb=_15.textbox; +var _17=tb.parent(); +if(_14){ +if(typeof _14=="object"){ +$.extend(_16,_14); +}else{ +_16.width=_14; +} +} +if(isNaN(parseInt(_16.width))){ +var c=$(_13).clone(); +c.css("visibility","hidden"); +c.insertAfter(_13); +_16.width=c.outerWidth(); +c.remove(); +} +var _18=tb.is(":visible"); +if(!_18){ +tb.appendTo("body"); +} +var _19=tb.find(".textbox-text"); +var btn=tb.find(".textbox-button"); +var _1a=tb.find(".textbox-addon"); +var _1b=_1a.find(".textbox-icon"); +if(_16.height=="auto"){ +_19.css({margin:"",paddingTop:"",paddingBottom:"",height:"",lineHeight:""}); +} +tb._size(_16,_17); +if(_16.label&&_16.labelPosition){ +if(_16.labelPosition=="top"){ +_15.label._size({width:_16.labelWidth=="auto"?tb.outerWidth():_16.labelWidth},tb); +if(_16.height!="auto"){ +tb._size("height",tb.outerHeight()-_15.label.outerHeight()); +} +}else{ +_15.label._size({width:_16.labelWidth,height:tb.outerHeight()},tb); +if(!_16.multiline){ +_15.label.css("lineHeight",_15.label.height()+"px"); +} +tb._size("width",tb.outerWidth()-_15.label.outerWidth()); +} +} +if(_16.buttonAlign=="left"||_16.buttonAlign=="right"){ +btn.linkbutton("resize",{height:tb.height()}); +}else{ +btn.linkbutton("resize",{width:"100%"}); +} +var _1c=tb.width()-_1b.length*_16.iconWidth-_1d("left")-_1d("right"); +var _1e=_16.height=="auto"?_19.outerHeight():(tb.height()-_1d("top")-_1d("bottom")); +_1a.css(_16.iconAlign,_1d(_16.iconAlign)+"px"); +_1a.css("top",_1d("top")+"px"); +_1b.css({width:_16.iconWidth+"px",height:_1e+"px"}); +_19.css({paddingLeft:(_13.style.paddingLeft||""),paddingRight:(_13.style.paddingRight||""),marginLeft:_1f("left"),marginRight:_1f("right"),marginTop:_1d("top"),marginBottom:_1d("bottom")}); +if(_16.multiline){ +_19.css({paddingTop:(_13.style.paddingTop||""),paddingBottom:(_13.style.paddingBottom||"")}); +_19._outerHeight(_1e); +}else{ +_19.css({paddingTop:0,paddingBottom:0,height:_1e+"px",lineHeight:_1e+"px"}); +} +_19._outerWidth(_1c); +_16.onResizing.call(_13,_16.width,_16.height); +if(!_18){ +tb.insertAfter(_13); +} +_16.onResize.call(_13,_16.width,_16.height); +function _1f(_20){ +return (_16.iconAlign==_20?_1a._outerWidth():0)+_1d(_20); +}; +function _1d(_21){ +var w=0; +btn.filter(".textbox-button-"+_21).each(function(){ +if(_21=="left"||_21=="right"){ +w+=$(this).outerWidth(); +}else{ +w+=$(this).outerHeight(); +} +}); +return w; +}; +}; +function _c(_22){ +var _23=$(_22).textbox("options"); +var _24=$(_22).textbox("textbox"); +_24.validatebox($.extend({},_23,{deltaX:function(_25){ +return $(_22).textbox("getTipX",_25); +},deltaY:function(_26){ +return $(_22).textbox("getTipY",_26); +},onBeforeValidate:function(){ +_23.onBeforeValidate.call(_22); +var box=$(this); +if(!box.is(":focus")){ +if(box.val()!==_23.value){ +_23.oldInputValue=box.val(); +box.val(_23.value); +} +} +},onValidate:function(_27){ +var box=$(this); +if(_23.oldInputValue!=undefined){ +box.val(_23.oldInputValue); +_23.oldInputValue=undefined; +} +var tb=box.parent(); +if(_27){ +tb.removeClass("textbox-invalid"); +}else{ +tb.addClass("textbox-invalid"); +} +_23.onValidate.call(_22,_27); +}})); +}; +function _28(_29){ +var _2a=$.data(_29,"textbox"); +var _2b=_2a.options; +var tb=_2a.textbox; +var _2c=tb.find(".textbox-text"); +_2c.attr("placeholder",_2b.prompt); +_2c.unbind(".textbox"); +$(_2a.label).unbind(".textbox"); +if(!_2b.disabled&&!_2b.readonly){ +if(_2a.label){ +$(_2a.label).bind("click.textbox",function(e){ +if(!_2b.hasFocusMe){ +_2c.focus(); +$(_29).textbox("setSelectionRange",{start:0,end:_2c.val().length}); +} +}); +} +_2c.bind("blur.textbox",function(e){ +if(!tb.hasClass("textbox-focused")){ +return; +} +_2b.value=$(this).val(); +if(_2b.value==""){ +$(this).val(_2b.prompt).addClass("textbox-prompt"); +}else{ +$(this).removeClass("textbox-prompt"); +} +tb.removeClass("textbox-focused"); +}).bind("focus.textbox",function(e){ +_2b.hasFocusMe=true; +if(tb.hasClass("textbox-focused")){ +return; +} +if($(this).val()!=_2b.value){ +$(this).val(_2b.value); +} +$(this).removeClass("textbox-prompt"); +tb.addClass("textbox-focused"); +}); +for(var _2d in _2b.inputEvents){ +_2c.bind(_2d+".textbox",{target:_29},_2b.inputEvents[_2d]); +} +} +var _2e=tb.find(".textbox-addon"); +_2e.unbind().bind("click",{target:_29},function(e){ +var _2f=$(e.target).closest("a.textbox-icon:not(.textbox-icon-disabled)"); +if(_2f.length){ +var _30=parseInt(_2f.attr("icon-index")); +var _31=_2b.icons[_30]; +if(_31&&_31.handler){ +_31.handler.call(_2f[0],e); +} +_2b.onClickIcon.call(_29,_30); +} +}); +_2e.find(".textbox-icon").each(function(_32){ +var _33=_2b.icons[_32]; +var _34=$(this); +if(!_33||_33.disabled||_2b.disabled||_2b.readonly){ +_34.addClass("textbox-icon-disabled"); +}else{ +_34.removeClass("textbox-icon-disabled"); +} +}); +var btn=tb.find(".textbox-button"); +btn.linkbutton((_2b.disabled||_2b.readonly)?"disable":"enable"); +tb.unbind(".textbox").bind("_resize.textbox",function(e,_35){ +if($(this).hasClass("easyui-fluid")||_35){ +_12(_29); +} +return false; +}); +}; +function _d(_36,_37){ +var _38=$.data(_36,"textbox"); +var _39=_38.options; +var tb=_38.textbox; +var _3a=tb.find(".textbox-text"); +var ss=$(_36).add(tb.find(".textbox-value")); +_39.disabled=_37; +if(_39.disabled){ +_3a.blur(); +_3a.validatebox("disable"); +tb.addClass("textbox-disabled"); +ss.attr("disabled","disabled"); +$(_38.label).addClass("textbox-label-disabled"); +}else{ +_3a.validatebox("enable"); +tb.removeClass("textbox-disabled"); +ss.removeAttr("disabled"); +$(_38.label).removeClass("textbox-label-disabled"); +} +}; +function _e(_3b,_3c){ +var _3d=$.data(_3b,"textbox"); +var _3e=_3d.options; +var tb=_3d.textbox; +var _3f=tb.find(".textbox-text"); +_3e.readonly=_3c==undefined?true:_3c; +if(_3e.readonly){ +_3f.triggerHandler("blur.textbox"); +} +_3f.validatebox("readonly",_3e.readonly); +tb.removeClass("textbox-readonly").addClass(_3e.readonly?"textbox-readonly":""); +}; +$.fn.textbox=function(_40,_41){ +if(typeof _40=="string"){ +var _42=$.fn.textbox.methods[_40]; +if(_42){ +return _42(this,_41); +}else{ +return this.each(function(){ +var _43=$(this).textbox("textbox"); +_43.validatebox(_40,_41); +}); +} +} +_40=_40||{}; +return this.each(function(){ +var _44=$.data(this,"textbox"); +if(_44){ +$.extend(_44.options,_40); +if(_40.value!=undefined){ +_44.options.originalValue=_40.value; +} +}else{ +_44=$.data(this,"textbox",{options:$.extend({},$.fn.textbox.defaults,$.fn.textbox.parseOptions(this),_40),textbox:_2(this)}); +_44.options.originalValue=_44.options.value; +} +_6(this); +_28(this); +if(_44.options.doSize){ +_12(this); +} +var _45=_44.options.value; +_44.options.value=""; +$(this).textbox("initValue",_45); +}); +}; +$.fn.textbox.methods={options:function(jq){ +return $.data(jq[0],"textbox").options; +},cloneFrom:function(jq,_46){ +return jq.each(function(){ +var t=$(this); +if(t.data("textbox")){ +return; +} +if(!$(_46).data("textbox")){ +$(_46).textbox(); +} +var _47=$.extend(true,{},$(_46).textbox("options")); +var _48=t.attr("name")||""; +t.addClass("textbox-f").hide(); +t.removeAttr("name").attr("textboxName",_48); +var _49=$(_46).next().clone().insertAfter(t); +var _4a="_easyui_textbox_input"+(++_1); +_49.find(".textbox-value").attr("name",_48); +_49.find(".textbox-text").attr("id",_4a); +var _4b=$($(_46).textbox("label")).clone(); +if(_4b.length){ +_4b.attr("for",_4a); +if(_47.labelPosition=="after"){ +_4b.insertAfter(t.next()); +}else{ +_4b.insertBefore(t); +} +} +$.data(this,"textbox",{options:_47,textbox:_49,label:(_4b.length?_4b:undefined)}); +var _4c=$(_46).textbox("button"); +if(_4c.length){ +t.textbox("button").linkbutton($.extend(true,{},_4c.linkbutton("options"))); +} +_28(this); +_c(this); +}); +},textbox:function(jq){ +return $.data(jq[0],"textbox").textbox.find(".textbox-text"); +},button:function(jq){ +return $.data(jq[0],"textbox").textbox.find(".textbox-button"); +},label:function(jq){ +return $.data(jq[0],"textbox").label; +},destroy:function(jq){ +return jq.each(function(){ +_f(this); +}); +},resize:function(jq,_4d){ +return jq.each(function(){ +_12(this,_4d); +}); +},disable:function(jq){ +return jq.each(function(){ +_d(this,true); +_28(this); +}); +},enable:function(jq){ +return jq.each(function(){ +_d(this,false); +_28(this); +}); +},readonly:function(jq,_4e){ +return jq.each(function(){ +_e(this,_4e); +_28(this); +}); +},isValid:function(jq){ +return jq.textbox("textbox").validatebox("isValid"); +},clear:function(jq){ +return jq.each(function(){ +$(this).textbox("setValue",""); +}); +},setText:function(jq,_4f){ +return jq.each(function(){ +var _50=$(this).textbox("options"); +var _51=$(this).textbox("textbox"); +_4f=_4f==undefined?"":String(_4f); +if($(this).textbox("getText")!=_4f){ +_51.val(_4f); +} +_50.value=_4f; +if(!_51.is(":focus")){ +if(_4f){ +_51.removeClass("textbox-prompt"); +}else{ +_51.val(_50.prompt).addClass("textbox-prompt"); +} +} +$(this).textbox("validate"); +}); +},initValue:function(jq,_52){ +return jq.each(function(){ +var _53=$.data(this,"textbox"); +$(this).textbox("setText",_52); +_53.textbox.find(".textbox-value").val(_52); +$(this).val(_52); +}); +},setValue:function(jq,_54){ +return jq.each(function(){ +var _55=$.data(this,"textbox").options; +var _56=$(this).textbox("getValue"); +$(this).textbox("initValue",_54); +if(_56!=_54){ +_55.onChange.call(this,_54,_56); +$(this).closest("form").trigger("_change",[this]); +} +}); +},getText:function(jq){ +var _57=jq.textbox("textbox"); +if(_57.is(":focus")){ +return _57.val(); +}else{ +return jq.textbox("options").value; +} +},getValue:function(jq){ +return jq.data("textbox").textbox.find(".textbox-value").val(); +},reset:function(jq){ +return jq.each(function(){ +var _58=$(this).textbox("options"); +$(this).textbox("textbox").val(_58.originalValue); +$(this).textbox("setValue",_58.originalValue); +}); +},getIcon:function(jq,_59){ +return jq.data("textbox").textbox.find(".textbox-icon:eq("+_59+")"); +},getTipX:function(jq,_5a){ +var _5b=jq.data("textbox"); +var _5c=_5b.options; +var tb=_5b.textbox; +var _5d=tb.find(".textbox-text"); +var _5a=_5a||_5c.tipPosition; +var p1=tb.offset(); +var p2=_5d.offset(); +var w1=tb.outerWidth(); +var w2=_5d.outerWidth(); +if(_5a=="right"){ +return w1-w2-p2.left+p1.left; +}else{ +if(_5a=="left"){ +return p1.left-p2.left; +}else{ +return (w1-w2-p2.left+p1.left)/2-(p2.left-p1.left)/2; +} +} +},getTipY:function(jq,_5e){ +var _5f=jq.data("textbox"); +var _60=_5f.options; +var tb=_5f.textbox; +var _61=tb.find(".textbox-text"); +var _5e=_5e||_60.tipPosition; +var p1=tb.offset(); +var p2=_61.offset(); +var h1=tb.outerHeight(); +var h2=_61.outerHeight(); +if(_5e=="left"||_5e=="right"){ +return (h1-h2-p2.top+p1.top)/2-(p2.top-p1.top)/2; +}else{ +if(_5e=="bottom"){ +return (h1-h2-p2.top+p1.top); +}else{ +return (p1.top-p2.top); +} +} +},getSelectionStart:function(jq){ +return jq.textbox("getSelectionRange").start; +},getSelectionRange:function(jq){ +var _62=jq.textbox("textbox")[0]; +var _63=0; +var end=0; +if(typeof _62.selectionStart=="number"){ +_63=_62.selectionStart; +end=_62.selectionEnd; +}else{ +if(_62.createTextRange){ +var s=document.selection.createRange(); +var _64=_62.createTextRange(); +_64.setEndPoint("EndToStart",s); +_63=_64.text.length; +end=_63+s.text.length; +} +} +return {start:_63,end:end}; +},setSelectionRange:function(jq,_65){ +return jq.each(function(){ +var _66=$(this).textbox("textbox")[0]; +var _67=_65.start; +var end=_65.end; +if(_66.setSelectionRange){ +_66.setSelectionRange(_67,end); +}else{ +if(_66.createTextRange){ +var _68=_66.createTextRange(); +_68.collapse(); +_68.moveEnd("character",end); +_68.moveStart("character",_67); +_68.select(); +} +} +}); +}}; +$.fn.textbox.parseOptions=function(_69){ +var t=$(_69); +return $.extend({},$.fn.validatebox.parseOptions(_69),$.parser.parseOptions(_69,["prompt","iconCls","iconAlign","buttonText","buttonIcon","buttonAlign","label","labelPosition","labelAlign",{multiline:"boolean",iconWidth:"number",labelWidth:"number"}]),{value:(t.val()||undefined),type:(t.attr("type")?t.attr("type"):undefined)}); +}; +$.fn.textbox.defaults=$.extend({},$.fn.validatebox.defaults,{doSize:true,width:"auto",height:"auto",cls:null,prompt:"",value:"",type:"text",multiline:false,icons:[],iconCls:null,iconAlign:"right",iconWidth:18,buttonText:"",buttonIcon:null,buttonAlign:"right",label:null,labelWidth:"auto",labelPosition:"before",labelAlign:"left",inputEvents:{blur:function(e){ +var t=$(e.data.target); +var _6a=t.textbox("options"); +if(t.textbox("getValue")!=_6a.value){ +t.textbox("setValue",_6a.value); +} +},keydown:function(e){ +if(e.keyCode==13){ +var t=$(e.data.target); +t.textbox("setValue",t.textbox("getText")); +} +}},onChange:function(_6b,_6c){ +},onResizing:function(_6d,_6e){ +},onResize:function(_6f,_70){ +},onClickButton:function(){ +},onClickIcon:function(_71){ +}}); +})(jQuery); + diff --git a/src/main/webapp/js/plugins/jquery.timespinner.js b/src/main/webapp/js/plugins/jquery.timespinner.js new file mode 100644 index 0000000..8fc7a5a --- /dev/null +++ b/src/main/webapp/js/plugins/jquery.timespinner.js @@ -0,0 +1,149 @@ +/** + * jQuery EasyUI 1.5.2 + * + * Copyright (c) 2009-2017 www.jeasyui.com. All rights reserved. + * + * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php + * To use it on other terms please contact us: info@jeasyui.com + * + */ +(function($){ +function _1(_2){ +var _3=$.data(_2,"timespinner").options; +$(_2).addClass("timespinner-f").spinner(_3); +var _4=_3.formatter.call(_2,_3.parser.call(_2,_3.value)); +$(_2).timespinner("initValue",_4); +}; +function _5(e){ +var _6=e.data.target; +var _7=$.data(_6,"timespinner").options; +var _8=$(_6).timespinner("getSelectionStart"); +for(var i=0;i<_7.selections.length;i++){ +var _9=_7.selections[i]; +if(_8>=_9[0]&&_8<=_9[1]){ +_a(_6,i); +return; +} +} +}; +function _a(_b,_c){ +var _d=$.data(_b,"timespinner").options; +if(_c!=undefined){ +_d.highlight=_c; +} +var _e=_d.selections[_d.highlight]; +if(_e){ +var tb=$(_b).timespinner("textbox"); +$(_b).timespinner("setSelectionRange",{start:_e[0],end:_e[1]}); +tb.focus(); +} +}; +function _f(_10,_11){ +var _12=$.data(_10,"timespinner").options; +var _11=_12.parser.call(_10,_11); +var _13=_12.formatter.call(_10,_11); +$(_10).spinner("setValue",_13); +}; +function _14(_15,_16){ +var _17=$.data(_15,"timespinner").options; +var s=$(_15).timespinner("getValue"); +var _18=_17.selections[_17.highlight]; +var s1=s.substring(0,_18[0]); +var s2=s.substring(_18[0],_18[1]); +var s3=s.substring(_18[1]); +var v=s1+((parseInt(s2,10)||0)+_17.increment*(_16?-1:1))+s3; +$(_15).timespinner("setValue",v); +_a(_15); +}; +$.fn.timespinner=function(_19,_1a){ +if(typeof _19=="string"){ +var _1b=$.fn.timespinner.methods[_19]; +if(_1b){ +return _1b(this,_1a); +}else{ +return this.spinner(_19,_1a); +} +} +_19=_19||{}; +return this.each(function(){ +var _1c=$.data(this,"timespinner"); +if(_1c){ +$.extend(_1c.options,_19); +}else{ +$.data(this,"timespinner",{options:$.extend({},$.fn.timespinner.defaults,$.fn.timespinner.parseOptions(this),_19)}); +} +_1(this); +}); +}; +$.fn.timespinner.methods={options:function(jq){ +var _1d=jq.data("spinner")?jq.spinner("options"):{}; +return $.extend($.data(jq[0],"timespinner").options,{width:_1d.width,value:_1d.value,originalValue:_1d.originalValue,disabled:_1d.disabled,readonly:_1d.readonly}); +},setValue:function(jq,_1e){ +return jq.each(function(){ +_f(this,_1e); +}); +},getHours:function(jq){ +var _1f=$.data(jq[0],"timespinner").options; +var vv=jq.timespinner("getValue").split(_1f.separator); +return parseInt(vv[0],10); +},getMinutes:function(jq){ +var _20=$.data(jq[0],"timespinner").options; +var vv=jq.timespinner("getValue").split(_20.separator); +return parseInt(vv[1],10); +},getSeconds:function(jq){ +var _21=$.data(jq[0],"timespinner").options; +var vv=jq.timespinner("getValue").split(_21.separator); +return parseInt(vv[2],10)||0; +}}; +$.fn.timespinner.parseOptions=function(_22){ +return $.extend({},$.fn.spinner.parseOptions(_22),$.parser.parseOptions(_22,["separator",{showSeconds:"boolean",highlight:"number"}])); +}; +$.fn.timespinner.defaults=$.extend({},$.fn.spinner.defaults,{inputEvents:$.extend({},$.fn.spinner.defaults.inputEvents,{click:function(e){ +_5.call(this,e); +},blur:function(e){ +var t=$(e.data.target); +t.timespinner("setValue",t.timespinner("getText")); +},keydown:function(e){ +if(e.keyCode==13){ +var t=$(e.data.target); +t.timespinner("setValue",t.timespinner("getText")); +} +}}),formatter:function(_23){ +if(!_23){ +return ""; +} +var _24=$(this).timespinner("options"); +var tt=[_25(_23.getHours()),_25(_23.getMinutes())]; +if(_24.showSeconds){ +tt.push(_25(_23.getSeconds())); +} +return tt.join(_24.separator); +function _25(_26){ +return (_26<10?"0":"")+_26; +}; +},parser:function(s){ +var _27=$(this).timespinner("options"); +var _28=_29(s); +if(_28){ +var min=_29(_27.min); +var max=_29(_27.max); +if(min&&min>_28){ +_28=min; +} +if(max&&max<_28){ +_28=max; +} +} +return _28; +function _29(s){ +if(!s){ +return null; +} +var tt=s.split(_27.separator); +return new Date(1900,0,0,parseInt(tt[0],10)||0,parseInt(tt[1],10)||0,parseInt(tt[2],10)||0); +}; +},selections:[[0,2],[3,5],[6,8]],separator:":",showSeconds:false,highlight:0,spin:function(_2a){ +_14(this,_2a); +}}); +})(jQuery); + diff --git a/src/main/webapp/js/plugins/jquery.tooltip.js b/src/main/webapp/js/plugins/jquery.tooltip.js new file mode 100644 index 0000000..259588a --- /dev/null +++ b/src/main/webapp/js/plugins/jquery.tooltip.js @@ -0,0 +1,234 @@ +/** + * jQuery EasyUI 1.5.2 + * + * Copyright (c) 2009-2017 www.jeasyui.com. All rights reserved. + * + * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php + * To use it on other terms please contact us: info@jeasyui.com + * + */ +(function($){ +function _1(_2){ +$(_2).addClass("tooltip-f"); +}; +function _3(_4){ +var _5=$.data(_4,"tooltip").options; +$(_4).unbind(".tooltip").bind(_5.showEvent+".tooltip",function(e){ +$(_4).tooltip("show",e); +}).bind(_5.hideEvent+".tooltip",function(e){ +$(_4).tooltip("hide",e); +}).bind("mousemove.tooltip",function(e){ +if(_5.trackMouse){ +_5.trackMouseX=e.pageX; +_5.trackMouseY=e.pageY; +$(_4).tooltip("reposition"); +} +}); +}; +function _6(_7){ +var _8=$.data(_7,"tooltip"); +if(_8.showTimer){ +clearTimeout(_8.showTimer); +_8.showTimer=null; +} +if(_8.hideTimer){ +clearTimeout(_8.hideTimer); +_8.hideTimer=null; +} +}; +function _9(_a){ +var _b=$.data(_a,"tooltip"); +if(!_b||!_b.tip){ +return; +} +var _c=_b.options; +var _d=_b.tip; +var _e={left:-100000,top:-100000}; +if($(_a).is(":visible")){ +_e=_f(_c.position); +if(_c.position=="top"&&_e.top<0){ +_e=_f("bottom"); +}else{ +if((_c.position=="bottom")&&(_e.top+_d._outerHeight()>$(window)._outerHeight()+$(document).scrollTop())){ +_e=_f("top"); +} +} +if(_e.left<0){ +if(_c.position=="left"){ +_e=_f("right"); +}else{ +$(_a).tooltip("arrow").css("left",_d._outerWidth()/2+_e.left); +_e.left=0; +} +}else{ +if(_e.left+_d._outerWidth()>$(window)._outerWidth()+$(document)._scrollLeft()){ +if(_c.position=="right"){ +_e=_f("left"); +}else{ +var _10=_e.left; +_e.left=$(window)._outerWidth()+$(document)._scrollLeft()-_d._outerWidth(); +$(_a).tooltip("arrow").css("left",_d._outerWidth()/2-(_e.left-_10)); +} +} +} +} +_d.css({left:_e.left,top:_e.top,zIndex:(_c.zIndex!=undefined?_c.zIndex:($.fn.window?$.fn.window.defaults.zIndex++:""))}); +_c.onPosition.call(_a,_e.left,_e.top); +function _f(_11){ +_c.position=_11||"bottom"; +_d.removeClass("tooltip-top tooltip-bottom tooltip-left tooltip-right").addClass("tooltip-"+_c.position); +var _12,top; +var _13=$.isFunction(_c.deltaX)?_c.deltaX.call(_a,_c.position):_c.deltaX; +var _14=$.isFunction(_c.deltaY)?_c.deltaY.call(_a,_c.position):_c.deltaY; +if(_c.trackMouse){ +t=$(); +_12=_c.trackMouseX+_13; +top=_c.trackMouseY+_14; +}else{ +var t=$(_a); +_12=t.offset().left+_13; +top=t.offset().top+_14; +} +switch(_c.position){ +case "right": +_12+=t._outerWidth()+12+(_c.trackMouse?12:0); +top-=(_d._outerHeight()-t._outerHeight())/2; +break; +case "left": +_12-=_d._outerWidth()+12+(_c.trackMouse?12:0); +top-=(_d._outerHeight()-t._outerHeight())/2; +break; +case "top": +_12-=(_d._outerWidth()-t._outerWidth())/2; +top-=_d._outerHeight()+12+(_c.trackMouse?12:0); +break; +case "bottom": +_12-=(_d._outerWidth()-t._outerWidth())/2; +top+=t._outerHeight()+12+(_c.trackMouse?12:0); +break; +} +return {left:_12,top:top}; +}; +}; +function _15(_16,e){ +var _17=$.data(_16,"tooltip"); +var _18=_17.options; +var tip=_17.tip; +if(!tip){ +tip=$("
            "+"
            "+"
            "+"
            "+"
            ").appendTo("body"); +_17.tip=tip; +_19(_16); +} +_6(_16); +_17.showTimer=setTimeout(function(){ +$(_16).tooltip("reposition"); +tip.show(); +_18.onShow.call(_16,e); +var _1a=tip.children(".tooltip-arrow-outer"); +var _1b=tip.children(".tooltip-arrow"); +var bc="border-"+_18.position+"-color"; +_1a.add(_1b).css({borderTopColor:"",borderBottomColor:"",borderLeftColor:"",borderRightColor:""}); +_1a.css(bc,tip.css(bc)); +_1b.css(bc,tip.css("backgroundColor")); +},_18.showDelay); +}; +function _1c(_1d,e){ +var _1e=$.data(_1d,"tooltip"); +if(_1e&&_1e.tip){ +_6(_1d); +_1e.hideTimer=setTimeout(function(){ +_1e.tip.hide(); +_1e.options.onHide.call(_1d,e); +},_1e.options.hideDelay); +} +}; +function _19(_1f,_20){ +var _21=$.data(_1f,"tooltip"); +var _22=_21.options; +if(_20){ +_22.content=_20; +} +if(!_21.tip){ +return; +} +var cc=typeof _22.content=="function"?_22.content.call(_1f):_22.content; +_21.tip.children(".tooltip-content").html(cc); +_22.onUpdate.call(_1f,cc); +}; +function _23(_24){ +var _25=$.data(_24,"tooltip"); +if(_25){ +_6(_24); +var _26=_25.options; +if(_25.tip){ +_25.tip.remove(); +} +if(_26._title){ +$(_24).attr("title",_26._title); +} +$.removeData(_24,"tooltip"); +$(_24).unbind(".tooltip").removeClass("tooltip-f"); +_26.onDestroy.call(_24); +} +}; +$.fn.tooltip=function(_27,_28){ +if(typeof _27=="string"){ +return $.fn.tooltip.methods[_27](this,_28); +} +_27=_27||{}; +return this.each(function(){ +var _29=$.data(this,"tooltip"); +if(_29){ +$.extend(_29.options,_27); +}else{ +$.data(this,"tooltip",{options:$.extend({},$.fn.tooltip.defaults,$.fn.tooltip.parseOptions(this),_27)}); +_1(this); +} +_3(this); +_19(this); +}); +}; +$.fn.tooltip.methods={options:function(jq){ +return $.data(jq[0],"tooltip").options; +},tip:function(jq){ +return $.data(jq[0],"tooltip").tip; +},arrow:function(jq){ +return jq.tooltip("tip").children(".tooltip-arrow-outer,.tooltip-arrow"); +},show:function(jq,e){ +return jq.each(function(){ +_15(this,e); +}); +},hide:function(jq,e){ +return jq.each(function(){ +_1c(this,e); +}); +},update:function(jq,_2a){ +return jq.each(function(){ +_19(this,_2a); +}); +},reposition:function(jq){ +return jq.each(function(){ +_9(this); +}); +},destroy:function(jq){ +return jq.each(function(){ +_23(this); +}); +}}; +$.fn.tooltip.parseOptions=function(_2b){ +var t=$(_2b); +var _2c=$.extend({},$.parser.parseOptions(_2b,["position","showEvent","hideEvent","content",{trackMouse:"boolean",deltaX:"number",deltaY:"number",showDelay:"number",hideDelay:"number"}]),{_title:t.attr("title")}); +t.attr("title",""); +if(!_2c.content){ +_2c.content=_2c._title; +} +return _2c; +}; +$.fn.tooltip.defaults={position:"bottom",content:null,trackMouse:false,deltaX:0,deltaY:0,showEvent:"mouseenter",hideEvent:"mouseleave",showDelay:200,hideDelay:100,onShow:function(e){ +},onHide:function(e){ +},onUpdate:function(_2d){ +},onPosition:function(_2e,top){ +},onDestroy:function(){ +}}; +})(jQuery); + diff --git a/src/main/webapp/js/plugins/jquery.tree.js b/src/main/webapp/js/plugins/jquery.tree.js new file mode 100644 index 0000000..81a39cf --- /dev/null +++ b/src/main/webapp/js/plugins/jquery.tree.js @@ -0,0 +1,1247 @@ +/** + * jQuery EasyUI 1.5.2 + * + * Copyright (c) 2009-2017 www.jeasyui.com. All rights reserved. + * + * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php + * To use it on other terms please contact us: info@jeasyui.com + * + */ +(function($){ +function _1(_2){ +var _3=$(_2); +_3.addClass("tree"); +return _3; +}; +function _4(_5){ +var _6=$.data(_5,"tree").options; +$(_5).unbind().bind("mouseover",function(e){ +var tt=$(e.target); +var _7=tt.closest("div.tree-node"); +if(!_7.length){ +return; +} +_7.addClass("tree-node-hover"); +if(tt.hasClass("tree-hit")){ +if(tt.hasClass("tree-expanded")){ +tt.addClass("tree-expanded-hover"); +}else{ +tt.addClass("tree-collapsed-hover"); +} +} +e.stopPropagation(); +}).bind("mouseout",function(e){ +var tt=$(e.target); +var _8=tt.closest("div.tree-node"); +if(!_8.length){ +return; +} +_8.removeClass("tree-node-hover"); +if(tt.hasClass("tree-hit")){ +if(tt.hasClass("tree-expanded")){ +tt.removeClass("tree-expanded-hover"); +}else{ +tt.removeClass("tree-collapsed-hover"); +} +} +e.stopPropagation(); +}).bind("click",function(e){ +var tt=$(e.target); +var _9=tt.closest("div.tree-node"); +if(!_9.length){ +return; +} +if(tt.hasClass("tree-hit")){ +_85(_5,_9[0]); +return false; +}else{ +if(tt.hasClass("tree-checkbox")){ +_34(_5,_9[0]); +return false; +}else{ +_d9(_5,_9[0]); +_6.onClick.call(_5,_c(_5,_9[0])); +} +} +e.stopPropagation(); +}).bind("dblclick",function(e){ +var _a=$(e.target).closest("div.tree-node"); +if(!_a.length){ +return; +} +_d9(_5,_a[0]); +_6.onDblClick.call(_5,_c(_5,_a[0])); +e.stopPropagation(); +}).bind("contextmenu",function(e){ +var _b=$(e.target).closest("div.tree-node"); +if(!_b.length){ +return; +} +_6.onContextMenu.call(_5,e,_c(_5,_b[0])); +e.stopPropagation(); +}); +}; +function _d(_e){ +var _f=$.data(_e,"tree").options; +_f.dnd=false; +var _10=$(_e).find("div.tree-node"); +_10.draggable("disable"); +_10.css("cursor","pointer"); +}; +function _11(_12){ +var _13=$.data(_12,"tree"); +var _14=_13.options; +var _15=_13.tree; +_13.disabledNodes=[]; +_14.dnd=true; +_15.find("div.tree-node").draggable({disabled:false,revert:true,cursor:"pointer",proxy:function(_16){ +var p=$("
            ").appendTo("body"); +p.html(" "+$(_16).find(".tree-title").html()); +p.hide(); +return p; +},deltaX:15,deltaY:15,onBeforeDrag:function(e){ +if(_14.onBeforeDrag.call(_12,_c(_12,this))==false){ +return false; +} +if($(e.target).hasClass("tree-hit")||$(e.target).hasClass("tree-checkbox")){ +return false; +} +if(e.which!=1){ +return false; +} +var _17=$(this).find("span.tree-indent"); +if(_17.length){ +e.data.offsetWidth-=_17.length*_17.width(); +} +},onStartDrag:function(e){ +$(this).next("ul").find("div.tree-node").each(function(){ +$(this).droppable("disable"); +_13.disabledNodes.push(this); +}); +$(this).draggable("proxy").css({left:-10000,top:-10000}); +_14.onStartDrag.call(_12,_c(_12,this)); +var _18=_c(_12,this); +if(_18.id==undefined){ +_18.id="easyui_tree_node_id_temp"; +_60(_12,_18); +} +_13.draggingNodeId=_18.id; +},onDrag:function(e){ +var x1=e.pageX,y1=e.pageY,x2=e.data.startX,y2=e.data.startY; +var d=Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); +if(d>3){ +$(this).draggable("proxy").show(); +} +this.pageY=e.pageY; +},onStopDrag:function(){ +for(var i=0;i<_13.disabledNodes.length;i++){ +$(_13.disabledNodes[i]).droppable("enable"); +} +_13.disabledNodes=[]; +var _19=_d0(_12,_13.draggingNodeId); +if(_19&&_19.id=="easyui_tree_node_id_temp"){ +_19.id=""; +_60(_12,_19); +} +_14.onStopDrag.call(_12,_19); +}}).droppable({accept:"div.tree-node",onDragEnter:function(e,_1a){ +if(_14.onDragEnter.call(_12,this,_1b(_1a))==false){ +_1c(_1a,false); +$(this).removeClass("tree-node-append tree-node-top tree-node-bottom"); +$(this).droppable("disable"); +_13.disabledNodes.push(this); +} +},onDragOver:function(e,_1d){ +if($(this).droppable("options").disabled){ +return; +} +var _1e=_1d.pageY; +var top=$(this).offset().top; +var _1f=top+$(this).outerHeight(); +_1c(_1d,true); +$(this).removeClass("tree-node-append tree-node-top tree-node-bottom"); +if(_1e>top+(_1f-top)/2){ +if(_1f-_1e<5){ +$(this).addClass("tree-node-bottom"); +}else{ +$(this).addClass("tree-node-append"); +} +}else{ +if(_1e-top<5){ +$(this).addClass("tree-node-top"); +}else{ +$(this).addClass("tree-node-append"); +} +} +if(_14.onDragOver.call(_12,this,_1b(_1d))==false){ +_1c(_1d,false); +$(this).removeClass("tree-node-append tree-node-top tree-node-bottom"); +$(this).droppable("disable"); +_13.disabledNodes.push(this); +} +},onDragLeave:function(e,_20){ +_1c(_20,false); +$(this).removeClass("tree-node-append tree-node-top tree-node-bottom"); +_14.onDragLeave.call(_12,this,_1b(_20)); +},onDrop:function(e,_21){ +var _22=this; +var _23,_24; +if($(this).hasClass("tree-node-append")){ +_23=_25; +_24="append"; +}else{ +_23=_26; +_24=$(this).hasClass("tree-node-top")?"top":"bottom"; +} +if(_14.onBeforeDrop.call(_12,_22,_1b(_21),_24)==false){ +$(this).removeClass("tree-node-append tree-node-top tree-node-bottom"); +return; +} +_23(_21,_22,_24); +$(this).removeClass("tree-node-append tree-node-top tree-node-bottom"); +}}); +function _1b(_27,pop){ +return $(_27).closest("ul.tree").tree(pop?"pop":"getData",_27); +}; +function _1c(_28,_29){ +var _2a=$(_28).draggable("proxy").find("span.tree-dnd-icon"); +_2a.removeClass("tree-dnd-yes tree-dnd-no").addClass(_29?"tree-dnd-yes":"tree-dnd-no"); +}; +function _25(_2b,_2c){ +if(_c(_12,_2c).state=="closed"){ +_79(_12,_2c,function(){ +_2d(); +}); +}else{ +_2d(); +} +function _2d(){ +var _2e=_1b(_2b,true); +$(_12).tree("append",{parent:_2c,data:[_2e]}); +_14.onDrop.call(_12,_2c,_2e,"append"); +}; +}; +function _26(_2f,_30,_31){ +var _32={}; +if(_31=="top"){ +_32.before=_30; +}else{ +_32.after=_30; +} +var _33=_1b(_2f,true); +_32.data=_33; +$(_12).tree("insert",_32); +_14.onDrop.call(_12,_30,_33,_31); +}; +}; +function _34(_35,_36,_37,_38){ +var _39=$.data(_35,"tree"); +var _3a=_39.options; +if(!_3a.checkbox){ +return; +} +var _3b=_c(_35,_36); +if(!_3b.checkState){ +return; +} +var ck=$(_36).find(".tree-checkbox"); +if(_37==undefined){ +if(ck.hasClass("tree-checkbox1")){ +_37=false; +}else{ +if(ck.hasClass("tree-checkbox0")){ +_37=true; +}else{ +if(_3b._checked==undefined){ +_3b._checked=$(_36).find(".tree-checkbox").hasClass("tree-checkbox1"); +} +_37=!_3b._checked; +} +} +} +_3b._checked=_37; +if(_37){ +if(ck.hasClass("tree-checkbox1")){ +return; +} +}else{ +if(ck.hasClass("tree-checkbox0")){ +return; +} +} +if(!_38){ +if(_3a.onBeforeCheck.call(_35,_3b,_37)==false){ +return; +} +} +if(_3a.cascadeCheck){ +_3c(_35,_3b,_37); +_3d(_35,_3b); +}else{ +_3e(_35,_3b,_37?"1":"0"); +} +if(!_38){ +_3a.onCheck.call(_35,_3b,_37); +} +}; +function _3c(_3f,_40,_41){ +var _42=$.data(_3f,"tree").options; +var _43=_41?1:0; +_3e(_3f,_40,_43); +if(_42.deepCheck){ +$.easyui.forEach(_40.children||[],true,function(n){ +_3e(_3f,n,_43); +}); +}else{ +var _44=[]; +if(_40.children&&_40.children.length){ +_44.push(_40); +} +$.easyui.forEach(_40.children||[],true,function(n){ +if(!n.hidden){ +_3e(_3f,n,_43); +if(n.children&&n.children.length){ +_44.push(n); +} +} +}); +for(var i=_44.length-1;i>=0;i--){ +var _45=_44[i]; +_3e(_3f,_45,_46(_45)); +} +} +}; +function _3e(_47,_48,_49){ +var _4a=$.data(_47,"tree").options; +if(!_48.checkState||_49==undefined){ +return; +} +if(_48.hidden&&!_4a.deepCheck){ +return; +} +var ck=$("#"+_48.domId).find(".tree-checkbox"); +_48.checkState=["unchecked","checked","indeterminate"][_49]; +_48.checked=(_48.checkState=="checked"); +ck.removeClass("tree-checkbox0 tree-checkbox1 tree-checkbox2"); +ck.addClass("tree-checkbox"+_49); +}; +function _3d(_4b,_4c){ +var pd=_4d(_4b,$("#"+_4c.domId)[0]); +if(pd){ +_3e(_4b,pd,_46(pd)); +_3d(_4b,pd); +} +}; +function _46(row){ +var c0=0; +var c1=0; +var len=0; +$.easyui.forEach(row.children||[],false,function(r){ +if(r.checkState){ +len++; +if(r.checkState=="checked"){ +c1++; +}else{ +if(r.checkState=="unchecked"){ +c0++; +} +} +} +}); +if(len==0){ +return undefined; +} +var _4e=0; +if(c0==len){ +_4e=0; +}else{ +if(c1==len){ +_4e=1; +}else{ +_4e=2; +} +} +return _4e; +}; +function _4f(_50,_51){ +var _52=$.data(_50,"tree").options; +if(!_52.checkbox){ +return; +} +var _53=$(_51); +var ck=_53.find(".tree-checkbox"); +var _54=_c(_50,_51); +if(_52.view.hasCheckbox(_50,_54)){ +if(!ck.length){ +_54.checkState=_54.checkState||"unchecked"; +$("").insertBefore(_53.find(".tree-title")); +} +if(_54.checkState=="checked"){ +_34(_50,_51,true,true); +}else{ +if(_54.checkState=="unchecked"){ +_34(_50,_51,false,true); +}else{ +var _55=_46(_54); +if(_55===0){ +_34(_50,_51,false,true); +}else{ +if(_55===1){ +_34(_50,_51,true,true); +} +} +} +} +}else{ +ck.remove(); +_54.checkState=undefined; +_54.checked=undefined; +_3d(_50,_54); +} +}; +function _56(_57,ul,_58,_59,_5a){ +var _5b=$.data(_57,"tree"); +var _5c=_5b.options; +var _5d=$(ul).prevAll("div.tree-node:first"); +_58=_5c.loadFilter.call(_57,_58,_5d[0]); +var _5e=_5f(_57,"domId",_5d.attr("id")); +if(!_59){ +_5e?_5e.children=_58:_5b.data=_58; +$(ul).empty(); +}else{ +if(_5e){ +_5e.children?_5e.children=_5e.children.concat(_58):_5e.children=_58; +}else{ +_5b.data=_5b.data.concat(_58); +} +} +_5c.view.render.call(_5c.view,_57,ul,_58); +if(_5c.dnd){ +_11(_57); +} +if(_5e){ +_60(_57,_5e); +} +for(var i=0;i<_5b.tmpIds.length;i++){ +_34(_57,$("#"+_5b.tmpIds[i])[0],true,true); +} +_5b.tmpIds=[]; +setTimeout(function(){ +_61(_57,_57); +},0); +if(!_5a){ +_5c.onLoadSuccess.call(_57,_5e,_58); +} +}; +function _61(_62,ul,_63){ +var _64=$.data(_62,"tree").options; +if(_64.lines){ +$(_62).addClass("tree-lines"); +}else{ +$(_62).removeClass("tree-lines"); +return; +} +if(!_63){ +_63=true; +$(_62).find("span.tree-indent").removeClass("tree-line tree-join tree-joinbottom"); +$(_62).find("div.tree-node").removeClass("tree-node-last tree-root-first tree-root-one"); +var _65=$(_62).tree("getRoots"); +if(_65.length>1){ +$(_65[0].target).addClass("tree-root-first"); +}else{ +if(_65.length==1){ +$(_65[0].target).addClass("tree-root-one"); +} +} +} +$(ul).children("li").each(function(){ +var _66=$(this).children("div.tree-node"); +var ul=_66.next("ul"); +if(ul.length){ +if($(this).next().length){ +_67(_66); +} +_61(_62,ul,_63); +}else{ +_68(_66); +} +}); +var _69=$(ul).children("li:last").children("div.tree-node").addClass("tree-node-last"); +_69.children("span.tree-join").removeClass("tree-join").addClass("tree-joinbottom"); +function _68(_6a,_6b){ +var _6c=_6a.find("span.tree-icon"); +_6c.prev("span.tree-indent").addClass("tree-join"); +}; +function _67(_6d){ +var _6e=_6d.find("span.tree-indent, span.tree-hit").length; +_6d.next().find("div.tree-node").each(function(){ +$(this).children("span:eq("+(_6e-1)+")").addClass("tree-line"); +}); +}; +}; +function _6f(_70,ul,_71,_72){ +var _73=$.data(_70,"tree").options; +_71=$.extend({},_73.queryParams,_71||{}); +var _74=null; +if(_70!=ul){ +var _75=$(ul).prev(); +_74=_c(_70,_75[0]); +} +if(_73.onBeforeLoad.call(_70,_74,_71)==false){ +return; +} +var _76=$(ul).prev().children("span.tree-folder"); +_76.addClass("tree-loading"); +var _77=_73.loader.call(_70,_71,function(_78){ +_76.removeClass("tree-loading"); +_56(_70,ul,_78); +if(_72){ +_72(); +} +},function(){ +_76.removeClass("tree-loading"); +_73.onLoadError.apply(_70,arguments); +if(_72){ +_72(); +} +}); +if(_77==false){ +_76.removeClass("tree-loading"); +} +}; +function _79(_7a,_7b,_7c){ +var _7d=$.data(_7a,"tree").options; +var hit=$(_7b).children("span.tree-hit"); +if(hit.length==0){ +return; +} +if(hit.hasClass("tree-expanded")){ +return; +} +var _7e=_c(_7a,_7b); +if(_7d.onBeforeExpand.call(_7a,_7e)==false){ +return; +} +hit.removeClass("tree-collapsed tree-collapsed-hover").addClass("tree-expanded"); +hit.next().addClass("tree-folder-open"); +var ul=$(_7b).next(); +if(ul.length){ +if(_7d.animate){ +ul.slideDown("normal",function(){ +_7e.state="open"; +_7d.onExpand.call(_7a,_7e); +if(_7c){ +_7c(); +} +}); +}else{ +ul.css("display","block"); +_7e.state="open"; +_7d.onExpand.call(_7a,_7e); +if(_7c){ +_7c(); +} +} +}else{ +var _7f=$("
              ").insertAfter(_7b); +_6f(_7a,_7f[0],{id:_7e.id},function(){ +if(_7f.is(":empty")){ +_7f.remove(); +} +if(_7d.animate){ +_7f.slideDown("normal",function(){ +_7e.state="open"; +_7d.onExpand.call(_7a,_7e); +if(_7c){ +_7c(); +} +}); +}else{ +_7f.css("display","block"); +_7e.state="open"; +_7d.onExpand.call(_7a,_7e); +if(_7c){ +_7c(); +} +} +}); +} +}; +function _80(_81,_82){ +var _83=$.data(_81,"tree").options; +var hit=$(_82).children("span.tree-hit"); +if(hit.length==0){ +return; +} +if(hit.hasClass("tree-collapsed")){ +return; +} +var _84=_c(_81,_82); +if(_83.onBeforeCollapse.call(_81,_84)==false){ +return; +} +hit.removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed"); +hit.next().removeClass("tree-folder-open"); +var ul=$(_82).next(); +if(_83.animate){ +ul.slideUp("normal",function(){ +_84.state="closed"; +_83.onCollapse.call(_81,_84); +}); +}else{ +ul.css("display","none"); +_84.state="closed"; +_83.onCollapse.call(_81,_84); +} +}; +function _85(_86,_87){ +var hit=$(_87).children("span.tree-hit"); +if(hit.length==0){ +return; +} +if(hit.hasClass("tree-expanded")){ +_80(_86,_87); +}else{ +_79(_86,_87); +} +}; +function _88(_89,_8a){ +var _8b=_8c(_89,_8a); +if(_8a){ +_8b.unshift(_c(_89,_8a)); +} +for(var i=0;i<_8b.length;i++){ +_79(_89,_8b[i].target); +} +}; +function _8d(_8e,_8f){ +var _90=[]; +var p=_4d(_8e,_8f); +while(p){ +_90.unshift(p); +p=_4d(_8e,p.target); +} +for(var i=0;i<_90.length;i++){ +_79(_8e,_90[i].target); +} +}; +function _91(_92,_93){ +var c=$(_92).parent(); +while(c[0].tagName!="BODY"&&c.css("overflow-y")!="auto"){ +c=c.parent(); +} +var n=$(_93); +var _94=n.offset().top; +if(c[0].tagName!="BODY"){ +var _95=c.offset().top; +if(_94<_95){ +c.scrollTop(c.scrollTop()+_94-_95); +}else{ +if(_94+n.outerHeight()>_95+c.outerHeight()-18){ +c.scrollTop(c.scrollTop()+_94+n.outerHeight()-_95-c.outerHeight()+18); +} +} +}else{ +c.scrollTop(_94); +} +}; +function _96(_97,_98){ +var _99=_8c(_97,_98); +if(_98){ +_99.unshift(_c(_97,_98)); +} +for(var i=0;i<_99.length;i++){ +_80(_97,_99[i].target); +} +}; +function _9a(_9b,_9c){ +var _9d=$(_9c.parent); +var _9e=_9c.data; +if(!_9e){ +return; +} +_9e=$.isArray(_9e)?_9e:[_9e]; +if(!_9e.length){ +return; +} +var ul; +if(_9d.length==0){ +ul=$(_9b); +}else{ +if(_9f(_9b,_9d[0])){ +var _a0=_9d.find("span.tree-icon"); +_a0.removeClass("tree-file").addClass("tree-folder tree-folder-open"); +var hit=$("").insertBefore(_a0); +if(hit.prev().length){ +hit.prev().remove(); +} +} +ul=_9d.next(); +if(!ul.length){ +ul=$("
                ").insertAfter(_9d); +} +} +_56(_9b,ul[0],_9e,true,true); +}; +function _a1(_a2,_a3){ +var ref=_a3.before||_a3.after; +var _a4=_4d(_a2,ref); +var _a5=_a3.data; +if(!_a5){ +return; +} +_a5=$.isArray(_a5)?_a5:[_a5]; +if(!_a5.length){ +return; +} +_9a(_a2,{parent:(_a4?_a4.target:null),data:_a5}); +var _a6=_a4?_a4.children:$(_a2).tree("getRoots"); +for(var i=0;i<_a6.length;i++){ +if(_a6[i].domId==$(ref).attr("id")){ +for(var j=_a5.length-1;j>=0;j--){ +_a6.splice((_a3.before?i:(i+1)),0,_a5[j]); +} +_a6.splice(_a6.length-_a5.length,_a5.length); +break; +} +} +var li=$(); +for(var i=0;i<_a5.length;i++){ +li=li.add($("#"+_a5[i].domId).parent()); +} +if(_a3.before){ +li.insertBefore($(ref).parent()); +}else{ +li.insertAfter($(ref).parent()); +} +}; +function _a7(_a8,_a9){ +var _aa=del(_a9); +$(_a9).parent().remove(); +if(_aa){ +if(!_aa.children||!_aa.children.length){ +var _ab=$(_aa.target); +_ab.find(".tree-icon").removeClass("tree-folder").addClass("tree-file"); +_ab.find(".tree-hit").remove(); +$("").prependTo(_ab); +_ab.next().remove(); +} +_60(_a8,_aa); +} +_61(_a8,_a8); +function del(_ac){ +var id=$(_ac).attr("id"); +var _ad=_4d(_a8,_ac); +var cc=_ad?_ad.children:$.data(_a8,"tree").data; +for(var i=0;i").appendTo(nt); +_e6.val(_e4.text).focus(); +_e6.width(_e5+20); +_e6._outerHeight(18); +_e6.bind("click",function(e){ +return false; +}).bind("mousedown",function(e){ +e.stopPropagation(); +}).bind("mousemove",function(e){ +e.stopPropagation(); +}).bind("keydown",function(e){ +if(e.keyCode==13){ +_e7(_e1,_e2); +return false; +}else{ +if(e.keyCode==27){ +_ed(_e1,_e2); +return false; +} +} +}).bind("blur",function(e){ +e.stopPropagation(); +_e7(_e1,_e2); +}); +}; +function _e7(_e8,_e9){ +var _ea=$.data(_e8,"tree").options; +$(_e9).css("position",""); +var _eb=$(_e9).find("input.tree-editor"); +var val=_eb.val(); +_eb.remove(); +var _ec=_c(_e8,_e9); +_ec.text=val; +_60(_e8,_ec); +_ea.onAfterEdit.call(_e8,_ec); +}; +function _ed(_ee,_ef){ +var _f0=$.data(_ee,"tree").options; +$(_ef).css("position",""); +$(_ef).find("input.tree-editor").remove(); +var _f1=_c(_ee,_ef); +_60(_ee,_f1); +_f0.onCancelEdit.call(_ee,_f1); +}; +function _f2(_f3,q){ +var _f4=$.data(_f3,"tree"); +var _f5=_f4.options; +var ids={}; +$.easyui.forEach(_f4.data,true,function(_f6){ +if(_f5.filter.call(_f3,q,_f6)){ +$("#"+_f6.domId).removeClass("tree-node-hidden"); +ids[_f6.domId]=1; +_f6.hidden=false; +}else{ +$("#"+_f6.domId).addClass("tree-node-hidden"); +_f6.hidden=true; +} +}); +for(var id in ids){ +_f7(id); +} +function _f7(_f8){ +var p=$(_f3).tree("getParent",$("#"+_f8)[0]); +while(p){ +$(p.target).removeClass("tree-node-hidden"); +p.hidden=false; +p=$(_f3).tree("getParent",p.target); +} +}; +}; +$.fn.tree=function(_f9,_fa){ +if(typeof _f9=="string"){ +return $.fn.tree.methods[_f9](this,_fa); +} +var _f9=_f9||{}; +return this.each(function(){ +var _fb=$.data(this,"tree"); +var _fc; +if(_fb){ +_fc=$.extend(_fb.options,_f9); +_fb.options=_fc; +}else{ +_fc=$.extend({},$.fn.tree.defaults,$.fn.tree.parseOptions(this),_f9); +$.data(this,"tree",{options:_fc,tree:_1(this),data:[],tmpIds:[]}); +var _fd=$.fn.tree.parseData(this); +if(_fd.length){ +_56(this,this,_fd); +} +} +_4(this); +if(_fc.data){ +_56(this,this,$.extend(true,[],_fc.data)); +} +_6f(this,this); +}); +}; +$.fn.tree.methods={options:function(jq){ +return $.data(jq[0],"tree").options; +},loadData:function(jq,_fe){ +return jq.each(function(){ +_56(this,this,_fe); +}); +},getNode:function(jq,_ff){ +return _c(jq[0],_ff); +},getData:function(jq,_100){ +return _c9(jq[0],_100); +},reload:function(jq,_101){ +return jq.each(function(){ +if(_101){ +var node=$(_101); +var hit=node.children("span.tree-hit"); +hit.removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed"); +node.next().remove(); +_79(this,_101); +}else{ +$(this).empty(); +_6f(this,this); +} +}); +},getRoot:function(jq,_102){ +return _b3(jq[0],_102); +},getRoots:function(jq){ +return _b7(jq[0]); +},getParent:function(jq,_103){ +return _4d(jq[0],_103); +},getChildren:function(jq,_104){ +return _8c(jq[0],_104); +},getChecked:function(jq,_105){ +return _c2(jq[0],_105); +},getSelected:function(jq){ +return _c6(jq[0]); +},isLeaf:function(jq,_106){ +return _9f(jq[0],_106); +},find:function(jq,id){ +return _d0(jq[0],id); +},select:function(jq,_107){ +return jq.each(function(){ +_d9(this,_107); +}); +},check:function(jq,_108){ +return jq.each(function(){ +_34(this,_108,true); +}); +},uncheck:function(jq,_109){ +return jq.each(function(){ +_34(this,_109,false); +}); +},collapse:function(jq,_10a){ +return jq.each(function(){ +_80(this,_10a); +}); +},expand:function(jq,_10b){ +return jq.each(function(){ +_79(this,_10b); +}); +},collapseAll:function(jq,_10c){ +return jq.each(function(){ +_96(this,_10c); +}); +},expandAll:function(jq,_10d){ +return jq.each(function(){ +_88(this,_10d); +}); +},expandTo:function(jq,_10e){ +return jq.each(function(){ +_8d(this,_10e); +}); +},scrollTo:function(jq,_10f){ +return jq.each(function(){ +_91(this,_10f); +}); +},toggle:function(jq,_110){ +return jq.each(function(){ +_85(this,_110); +}); +},append:function(jq,_111){ +return jq.each(function(){ +_9a(this,_111); +}); +},insert:function(jq,_112){ +return jq.each(function(){ +_a1(this,_112); +}); +},remove:function(jq,_113){ +return jq.each(function(){ +_a7(this,_113); +}); +},pop:function(jq,_114){ +var node=jq.tree("getData",_114); +jq.tree("remove",_114); +return node; +},update:function(jq,_115){ +return jq.each(function(){ +_60(this,$.extend({},_115,{checkState:_115.checked?"checked":(_115.checked===false?"unchecked":undefined)})); +}); +},enableDnd:function(jq){ +return jq.each(function(){ +_11(this); +}); +},disableDnd:function(jq){ +return jq.each(function(){ +_d(this); +}); +},beginEdit:function(jq,_116){ +return jq.each(function(){ +_e0(this,_116); +}); +},endEdit:function(jq,_117){ +return jq.each(function(){ +_e7(this,_117); +}); +},cancelEdit:function(jq,_118){ +return jq.each(function(){ +_ed(this,_118); +}); +},doFilter:function(jq,q){ +return jq.each(function(){ +_f2(this,q); +}); +}}; +$.fn.tree.parseOptions=function(_119){ +var t=$(_119); +return $.extend({},$.parser.parseOptions(_119,["url","method",{checkbox:"boolean",cascadeCheck:"boolean",onlyLeafCheck:"boolean"},{animate:"boolean",lines:"boolean",dnd:"boolean"}])); +}; +$.fn.tree.parseData=function(_11a){ +var data=[]; +_11b(data,$(_11a)); +return data; +function _11b(aa,tree){ +tree.children("li").each(function(){ +var node=$(this); +var item=$.extend({},$.parser.parseOptions(this,["id","iconCls","state"]),{checked:(node.attr("checked")?true:undefined)}); +item.text=node.children("span").html(); +if(!item.text){ +item.text=node.html(); +} +var _11c=node.children("ul"); +if(_11c.length){ +item.children=[]; +_11b(item.children,_11c); +} +aa.push(item); +}); +}; +}; +var _11d=1; +var _11e={render:function(_11f,ul,data){ +var _120=$.data(_11f,"tree"); +var opts=_120.options; +var _121=$(ul).prev(".tree-node"); +var _122=_121.length?$(_11f).tree("getNode",_121[0]):null; +var _123=_121.find("span.tree-indent, span.tree-hit").length; +var cc=_124.call(this,_123,data); +$(ul).append(cc.join("")); +function _124(_125,_126){ +var cc=[]; +for(var i=0;i<_126.length;i++){ +var item=_126[i]; +if(item.state!="open"&&item.state!="closed"){ +item.state="open"; +} +item.domId="_easyui_tree_"+_11d++; +cc.push("
              • "); +cc.push("
                "); +for(var j=0;j<_125;j++){ +cc.push(""); +} +if(item.state=="closed"){ +cc.push(""); +cc.push(""); +}else{ +if(item.children&&item.children.length){ +cc.push(""); +cc.push(""); +}else{ +cc.push(""); +cc.push(""); +} +} +if(this.hasCheckbox(_11f,item)){ +var flag=0; +if(_122&&_122.checkState=="checked"&&opts.cascadeCheck){ +flag=1; +item.checked=true; +}else{ +if(item.checked){ +$.easyui.addArrayItem(_120.tmpIds,item.domId); +} +} +item.checkState=flag?"checked":"unchecked"; +cc.push(""); +}else{ +item.checkState=undefined; +item.checked=undefined; +} +cc.push(""+opts.formatter.call(_11f,item)+""); +cc.push("
                "); +if(item.children&&item.children.length){ +var tmp=_124.call(this,_125+1,item.children); +cc.push("
                  "); +cc=cc.concat(tmp); +cc.push("
                "); +} +cc.push("
              • "); +} +return cc; +}; +},hasCheckbox:function(_127,item){ +var _128=$.data(_127,"tree"); +var opts=_128.options; +if(opts.checkbox){ +if($.isFunction(opts.checkbox)){ +if(opts.checkbox.call(_127,item)){ +return true; +}else{ +return false; +} +}else{ +if(opts.onlyLeafCheck){ +if(item.state=="open"&&!(item.children&&item.children.length)){ +return true; +} +}else{ +return true; +} +} +} +return false; +}}; +$.fn.tree.defaults={url:null,method:"post",animate:false,checkbox:false,cascadeCheck:true,onlyLeafCheck:false,lines:false,dnd:false,data:null,queryParams:{},formatter:function(node){ +return node.text; +},filter:function(q,node){ +var qq=[]; +$.map($.isArray(q)?q:[q],function(q){ +q=$.trim(q); +if(q){ +qq.push(q); +} +}); +for(var i=0;i=0){ +return true; +} +} +return !qq.length; +},loader:function(_12a,_12b,_12c){ +var opts=$(this).tree("options"); +if(!opts.url){ +return false; +} +$.ajax({type:opts.method,url:opts.url,data:_12a,dataType:"json",success:function(data){ +_12b(data); +},error:function(){ +_12c.apply(this,arguments); +}}); +},loadFilter:function(data,_12d){ +return data; +},view:_11e,onBeforeLoad:function(node,_12e){ +},onLoadSuccess:function(node,data){ +},onLoadError:function(){ +},onClick:function(node){ +},onDblClick:function(node){ +},onBeforeExpand:function(node){ +},onExpand:function(node){ +},onBeforeCollapse:function(node){ +},onCollapse:function(node){ +},onBeforeCheck:function(node,_12f){ +},onCheck:function(node,_130){ +},onBeforeSelect:function(node){ +},onSelect:function(node){ +},onContextMenu:function(e,node){ +},onBeforeDrag:function(node){ +},onStartDrag:function(node){ +},onStopDrag:function(node){ +},onDragEnter:function(_131,_132){ +},onDragOver:function(_133,_134){ +},onDragLeave:function(_135,_136){ +},onBeforeDrop:function(_137,_138,_139){ +},onDrop:function(_13a,_13b,_13c){ +},onBeforeEdit:function(node){ +},onAfterEdit:function(node){ +},onCancelEdit:function(node){ +}}; +})(jQuery); + diff --git a/src/main/webapp/js/plugins/jquery.treegrid.js b/src/main/webapp/js/plugins/jquery.treegrid.js new file mode 100644 index 0000000..c0125dc --- /dev/null +++ b/src/main/webapp/js/plugins/jquery.treegrid.js @@ -0,0 +1,1350 @@ +/** + * jQuery EasyUI 1.5.2 + * + * Copyright (c) 2009-2017 www.jeasyui.com. All rights reserved. + * + * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php + * To use it on other terms please contact us: info@jeasyui.com + * + */ +(function($){ +function _1(_2){ +var _3=$.data(_2,"treegrid"); +var _4=_3.options; +$(_2).datagrid($.extend({},_4,{url:null,data:null,loader:function(){ +return false; +},onBeforeLoad:function(){ +return false; +},onLoadSuccess:function(){ +},onResizeColumn:function(_5,_6){ +_16(_2); +_4.onResizeColumn.call(_2,_5,_6); +},onBeforeSortColumn:function(_7,_8){ +if(_4.onBeforeSortColumn.call(_2,_7,_8)==false){ +return false; +} +},onSortColumn:function(_9,_a){ +_4.sortName=_9; +_4.sortOrder=_a; +if(_4.remoteSort){ +_15(_2); +}else{ +var _b=$(_2).treegrid("getData"); +_56(_2,null,_b); +} +_4.onSortColumn.call(_2,_9,_a); +},onClickCell:function(_c,_d){ +_4.onClickCell.call(_2,_d,_37(_2,_c)); +},onDblClickCell:function(_e,_f){ +_4.onDblClickCell.call(_2,_f,_37(_2,_e)); +},onRowContextMenu:function(e,_10){ +_4.onContextMenu.call(_2,e,_37(_2,_10)); +}})); +var _11=$.data(_2,"datagrid").options; +_4.columns=_11.columns; +_4.frozenColumns=_11.frozenColumns; +_3.dc=$.data(_2,"datagrid").dc; +if(_4.pagination){ +var _12=$(_2).datagrid("getPager"); +_12.pagination({pageNumber:_4.pageNumber,pageSize:_4.pageSize,pageList:_4.pageList,onSelectPage:function(_13,_14){ +_4.pageNumber=_13; +_4.pageSize=_14; +_15(_2); +}}); +_4.pageSize=_12.pagination("options").pageSize; +} +}; +function _16(_17,_18){ +var _19=$.data(_17,"datagrid").options; +var dc=$.data(_17,"datagrid").dc; +if(!dc.body1.is(":empty")&&(!_19.nowrap||_19.autoRowHeight)){ +if(_18!=undefined){ +var _1a=_1b(_17,_18); +for(var i=0;i<_1a.length;i++){ +_1c(_1a[i][_19.idField]); +} +} +} +$(_17).datagrid("fixRowHeight",_18); +function _1c(_1d){ +var tr1=_19.finder.getTr(_17,_1d,"body",1); +var tr2=_19.finder.getTr(_17,_1d,"body",2); +tr1.css("height",""); +tr2.css("height",""); +var _1e=Math.max(tr1.height(),tr2.height()); +tr1.css("height",_1e); +tr2.css("height",_1e); +}; +}; +function _1f(_20){ +var dc=$.data(_20,"datagrid").dc; +var _21=$.data(_20,"treegrid").options; +if(!_21.rownumbers){ +return; +} +dc.body1.find("div.datagrid-cell-rownumber").each(function(i){ +$(this).html(i+1); +}); +}; +function _22(_23){ +return function(e){ +$.fn.datagrid.defaults.rowEvents[_23?"mouseover":"mouseout"](e); +var tt=$(e.target); +var fn=_23?"addClass":"removeClass"; +if(tt.hasClass("tree-hit")){ +tt.hasClass("tree-expanded")?tt[fn]("tree-expanded-hover"):tt[fn]("tree-collapsed-hover"); +} +}; +}; +function _24(e){ +var tt=$(e.target); +var tr=tt.closest("tr.datagrid-row"); +if(!tr.length||!tr.parent().length){ +return; +} +var _25=tr.attr("node-id"); +var _26=_27(tr); +if(tt.hasClass("tree-hit")){ +_28(_26,_25); +}else{ +if(tt.hasClass("tree-checkbox")){ +_29(_26,_25); +}else{ +var _2a=$(_26).datagrid("options"); +if(!tt.parent().hasClass("datagrid-cell-check")&&!_2a.singleSelect&&e.shiftKey){ +var _2b=$(_26).treegrid("getChildren"); +var _2c=$.easyui.indexOfArray(_2b,_2a.idField,_2a.lastSelectedIndex); +var _2d=$.easyui.indexOfArray(_2b,_2a.idField,_25); +var _2e=Math.min(Math.max(_2c,0),_2d); +var to=Math.max(_2c,_2d); +var row=_2b[_2d]; +var td=tt.closest("td[field]",tr); +if(td.length){ +var _2f=td.attr("field"); +_2a.onClickCell.call(_26,_25,_2f,row[_2f]); +} +$(_26).treegrid("clearSelections"); +for(var i=_2e;i<=to;i++){ +$(_26).treegrid("selectRow",_2b[i][_2a.idField]); +} +_2a.onClickRow.call(_26,row); +}else{ +$.fn.datagrid.defaults.rowEvents.click(e); +} +} +} +}; +function _27(t){ +return $(t).closest("div.datagrid-view").children(".datagrid-f")[0]; +}; +function _29(_30,_31,_32,_33){ +var _34=$.data(_30,"treegrid"); +var _35=_34.checkedRows; +var _36=_34.options; +if(!_36.checkbox){ +return; +} +var row=_37(_30,_31); +if(!row.checkState){ +return; +} +var tr=_36.finder.getTr(_30,_31); +var ck=tr.find(".tree-checkbox"); +if(_32==undefined){ +if(ck.hasClass("tree-checkbox1")){ +_32=false; +}else{ +if(ck.hasClass("tree-checkbox0")){ +_32=true; +}else{ +if(row._checked==undefined){ +row._checked=ck.hasClass("tree-checkbox1"); +} +_32=!row._checked; +} +} +} +row._checked=_32; +if(_32){ +if(ck.hasClass("tree-checkbox1")){ +return; +} +}else{ +if(ck.hasClass("tree-checkbox0")){ +return; +} +} +if(!_33){ +if(_36.onBeforeCheckNode.call(_30,row,_32)==false){ +return; +} +} +if(_36.cascadeCheck){ +_38(_30,row,_32); +_39(_30,row); +}else{ +_3a(_30,row,_32?"1":"0"); +} +if(!_33){ +_36.onCheckNode.call(_30,row,_32); +} +}; +function _3a(_3b,row,_3c){ +var _3d=$.data(_3b,"treegrid"); +var _3e=_3d.checkedRows; +var _3f=_3d.options; +if(!row.checkState||_3c==undefined){ +return; +} +var tr=_3f.finder.getTr(_3b,row[_3f.idField]); +var ck=tr.find(".tree-checkbox"); +if(!ck.length){ +return; +} +row.checkState=["unchecked","checked","indeterminate"][_3c]; +row.checked=(row.checkState=="checked"); +ck.removeClass("tree-checkbox0 tree-checkbox1 tree-checkbox2"); +ck.addClass("tree-checkbox"+_3c); +if(_3c==0){ +$.easyui.removeArrayItem(_3e,_3f.idField,row[_3f.idField]); +}else{ +$.easyui.addArrayItem(_3e,_3f.idField,row); +} +}; +function _38(_40,row,_41){ +var _42=_41?1:0; +_3a(_40,row,_42); +$.easyui.forEach(row.children||[],true,function(r){ +_3a(_40,r,_42); +}); +}; +function _39(_43,row){ +var _44=$.data(_43,"treegrid").options; +var _45=_46(_43,row[_44.idField]); +if(_45){ +_3a(_43,_45,_47(_45)); +_39(_43,_45); +} +}; +function _47(row){ +var len=0; +var c0=0; +var c1=0; +$.easyui.forEach(row.children||[],false,function(r){ +if(r.checkState){ +len++; +if(r.checkState=="checked"){ +c1++; +}else{ +if(r.checkState=="unchecked"){ +c0++; +} +} +} +}); +if(len==0){ +return undefined; +} +var _48=0; +if(c0==len){ +_48=0; +}else{ +if(c1==len){ +_48=1; +}else{ +_48=2; +} +} +return _48; +}; +function _49(_4a,_4b){ +var _4c=$.data(_4a,"treegrid").options; +if(!_4c.checkbox){ +return; +} +var row=_37(_4a,_4b); +var tr=_4c.finder.getTr(_4a,_4b); +var ck=tr.find(".tree-checkbox"); +if(_4c.view.hasCheckbox(_4a,row)){ +if(!ck.length){ +row.checkState=row.checkState||"unchecked"; +$("").insertBefore(tr.find(".tree-title")); +} +if(row.checkState=="checked"){ +_29(_4a,_4b,true,true); +}else{ +if(row.checkState=="unchecked"){ +_29(_4a,_4b,false,true); +}else{ +var _4d=_47(row); +if(_4d===0){ +_29(_4a,_4b,false,true); +}else{ +if(_4d===1){ +_29(_4a,_4b,true,true); +} +} +} +} +}else{ +ck.remove(); +row.checkState=undefined; +row.checked=undefined; +_39(_4a,row); +} +}; +function _4e(_4f,_50){ +var _51=$.data(_4f,"treegrid").options; +var tr1=_51.finder.getTr(_4f,_50,"body",1); +var tr2=_51.finder.getTr(_4f,_50,"body",2); +var _52=$(_4f).datagrid("getColumnFields",true).length+(_51.rownumbers?1:0); +var _53=$(_4f).datagrid("getColumnFields",false).length; +_54(tr1,_52); +_54(tr2,_53); +function _54(tr,_55){ +$(""+""+"
                "+""+"").insertAfter(tr); +}; +}; +function _56(_57,_58,_59,_5a,_5b){ +var _5c=$.data(_57,"treegrid"); +var _5d=_5c.options; +var dc=_5c.dc; +_59=_5d.loadFilter.call(_57,_59,_58); +var _5e=_37(_57,_58); +if(_5e){ +var _5f=_5d.finder.getTr(_57,_58,"body",1); +var _60=_5d.finder.getTr(_57,_58,"body",2); +var cc1=_5f.next("tr.treegrid-tr-tree").children("td").children("div"); +var cc2=_60.next("tr.treegrid-tr-tree").children("td").children("div"); +if(!_5a){ +_5e.children=[]; +} +}else{ +var cc1=dc.body1; +var cc2=dc.body2; +if(!_5a){ +_5c.data=[]; +} +} +if(!_5a){ +cc1.empty(); +cc2.empty(); +} +if(_5d.view.onBeforeRender){ +_5d.view.onBeforeRender.call(_5d.view,_57,_58,_59); +} +_5d.view.render.call(_5d.view,_57,cc1,true); +_5d.view.render.call(_5d.view,_57,cc2,false); +if(_5d.showFooter){ +_5d.view.renderFooter.call(_5d.view,_57,dc.footer1,true); +_5d.view.renderFooter.call(_5d.view,_57,dc.footer2,false); +} +if(_5d.view.onAfterRender){ +_5d.view.onAfterRender.call(_5d.view,_57); +} +if(!_58&&_5d.pagination){ +var _61=$.data(_57,"treegrid").total; +var _62=$(_57).datagrid("getPager"); +if(_62.pagination("options").total!=_61){ +_62.pagination({total:_61}); +} +} +_16(_57); +_1f(_57); +$(_57).treegrid("showLines"); +$(_57).treegrid("setSelectionState"); +$(_57).treegrid("autoSizeColumn"); +if(!_5b){ +_5d.onLoadSuccess.call(_57,_5e,_59); +} +}; +function _15(_63,_64,_65,_66,_67){ +var _68=$.data(_63,"treegrid").options; +var _69=$(_63).datagrid("getPanel").find("div.datagrid-body"); +if(_64==undefined&&_68.queryParams){ +_68.queryParams.id=undefined; +} +if(_65){ +_68.queryParams=_65; +} +var _6a=$.extend({},_68.queryParams); +if(_68.pagination){ +$.extend(_6a,{page:_68.pageNumber,rows:_68.pageSize}); +} +if(_68.sortName){ +$.extend(_6a,{sort:_68.sortName,order:_68.sortOrder}); +} +var row=_37(_63,_64); +if(_68.onBeforeLoad.call(_63,row,_6a)==false){ +return; +} +var _6b=_69.find("tr[node-id=\""+_64+"\"] span.tree-folder"); +_6b.addClass("tree-loading"); +$(_63).treegrid("loading"); +var _6c=_68.loader.call(_63,_6a,function(_6d){ +_6b.removeClass("tree-loading"); +$(_63).treegrid("loaded"); +_56(_63,_64,_6d,_66); +if(_67){ +_67(); +} +},function(){ +_6b.removeClass("tree-loading"); +$(_63).treegrid("loaded"); +_68.onLoadError.apply(_63,arguments); +if(_67){ +_67(); +} +}); +if(_6c==false){ +_6b.removeClass("tree-loading"); +$(_63).treegrid("loaded"); +} +}; +function _6e(_6f){ +var _70=_71(_6f); +return _70.length?_70[0]:null; +}; +function _71(_72){ +return $.data(_72,"treegrid").data; +}; +function _46(_73,_74){ +var row=_37(_73,_74); +if(row._parentId){ +return _37(_73,row._parentId); +}else{ +return null; +} +}; +function _1b(_75,_76){ +var _77=$.data(_75,"treegrid").data; +if(_76){ +var _78=_37(_75,_76); +_77=_78?(_78.children||[]):[]; +} +var _79=[]; +$.easyui.forEach(_77,true,function(_7a){ +_79.push(_7a); +}); +return _79; +}; +function _7b(_7c,_7d){ +var _7e=$.data(_7c,"treegrid").options; +var tr=_7e.finder.getTr(_7c,_7d); +var _7f=tr.children("td[field=\""+_7e.treeField+"\"]"); +return _7f.find("span.tree-indent,span.tree-hit").length; +}; +function _37(_80,_81){ +var _82=$.data(_80,"treegrid"); +var _83=_82.options; +var _84=null; +$.easyui.forEach(_82.data,true,function(_85){ +if(_85[_83.idField]==_81){ +_84=_85; +return false; +} +}); +return _84; +}; +function _86(_87,_88){ +var _89=$.data(_87,"treegrid").options; +var row=_37(_87,_88); +var tr=_89.finder.getTr(_87,_88); +var hit=tr.find("span.tree-hit"); +if(hit.length==0){ +return; +} +if(hit.hasClass("tree-collapsed")){ +return; +} +if(_89.onBeforeCollapse.call(_87,row)==false){ +return; +} +hit.removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed"); +hit.next().removeClass("tree-folder-open"); +row.state="closed"; +tr=tr.next("tr.treegrid-tr-tree"); +var cc=tr.children("td").children("div"); +if(_89.animate){ +cc.slideUp("normal",function(){ +$(_87).treegrid("autoSizeColumn"); +_16(_87,_88); +_89.onCollapse.call(_87,row); +}); +}else{ +cc.hide(); +$(_87).treegrid("autoSizeColumn"); +_16(_87,_88); +_89.onCollapse.call(_87,row); +} +}; +function _8a(_8b,_8c){ +var _8d=$.data(_8b,"treegrid").options; +var tr=_8d.finder.getTr(_8b,_8c); +var hit=tr.find("span.tree-hit"); +var row=_37(_8b,_8c); +if(hit.length==0){ +return; +} +if(hit.hasClass("tree-expanded")){ +return; +} +if(_8d.onBeforeExpand.call(_8b,row)==false){ +return; +} +hit.removeClass("tree-collapsed tree-collapsed-hover").addClass("tree-expanded"); +hit.next().addClass("tree-folder-open"); +var _8e=tr.next("tr.treegrid-tr-tree"); +if(_8e.length){ +var cc=_8e.children("td").children("div"); +_8f(cc); +}else{ +_4e(_8b,row[_8d.idField]); +var _8e=tr.next("tr.treegrid-tr-tree"); +var cc=_8e.children("td").children("div"); +cc.hide(); +var _90=$.extend({},_8d.queryParams||{}); +_90.id=row[_8d.idField]; +_15(_8b,row[_8d.idField],_90,true,function(){ +if(cc.is(":empty")){ +_8e.remove(); +}else{ +_8f(cc); +} +}); +} +function _8f(cc){ +row.state="open"; +if(_8d.animate){ +cc.slideDown("normal",function(){ +$(_8b).treegrid("autoSizeColumn"); +_16(_8b,_8c); +_8d.onExpand.call(_8b,row); +}); +}else{ +cc.show(); +$(_8b).treegrid("autoSizeColumn"); +_16(_8b,_8c); +_8d.onExpand.call(_8b,row); +} +}; +}; +function _28(_91,_92){ +var _93=$.data(_91,"treegrid").options; +var tr=_93.finder.getTr(_91,_92); +var hit=tr.find("span.tree-hit"); +if(hit.hasClass("tree-expanded")){ +_86(_91,_92); +}else{ +_8a(_91,_92); +} +}; +function _94(_95,_96){ +var _97=$.data(_95,"treegrid").options; +var _98=_1b(_95,_96); +if(_96){ +_98.unshift(_37(_95,_96)); +} +for(var i=0;i<_98.length;i++){ +_86(_95,_98[i][_97.idField]); +} +}; +function _99(_9a,_9b){ +var _9c=$.data(_9a,"treegrid").options; +var _9d=_1b(_9a,_9b); +if(_9b){ +_9d.unshift(_37(_9a,_9b)); +} +for(var i=0;i<_9d.length;i++){ +_8a(_9a,_9d[i][_9c.idField]); +} +}; +function _9e(_9f,_a0){ +var _a1=$.data(_9f,"treegrid").options; +var ids=[]; +var p=_46(_9f,_a0); +while(p){ +var id=p[_a1.idField]; +ids.unshift(id); +p=_46(_9f,id); +} +for(var i=0;i").insertBefore(_a8); +if(hit.prev().length){ +hit.prev().remove(); +} +} +} +_56(_a3,_a4.parent,_a4.data,_a5.data.length>0,true); +}; +function _a9(_aa,_ab){ +var ref=_ab.before||_ab.after; +var _ac=$.data(_aa,"treegrid").options; +var _ad=_46(_aa,ref); +_a2(_aa,{parent:(_ad?_ad[_ac.idField]:null),data:[_ab.data]}); +var _ae=_ad?_ad.children:$(_aa).treegrid("getRoots"); +for(var i=0;i<_ae.length;i++){ +if(_ae[i][_ac.idField]==ref){ +var _af=_ae[_ae.length-1]; +_ae.splice(_ab.before?i:(i+1),0,_af); +_ae.splice(_ae.length-1,1); +break; +} +} +_b0(true); +_b0(false); +_1f(_aa); +$(_aa).treegrid("showLines"); +function _b0(_b1){ +var _b2=_b1?1:2; +var tr=_ac.finder.getTr(_aa,_ab.data[_ac.idField],"body",_b2); +var _b3=tr.closest("table.datagrid-btable"); +tr=tr.parent().children(); +var _b4=_ac.finder.getTr(_aa,ref,"body",_b2); +if(_ab.before){ +tr.insertBefore(_b4); +}else{ +var sub=_b4.next("tr.treegrid-tr-tree"); +tr.insertAfter(sub.length?sub:_b4); +} +_b3.remove(); +}; +}; +function _b5(_b6,_b7){ +var _b8=$.data(_b6,"treegrid"); +var _b9=_b8.options; +var _ba=_46(_b6,_b7); +$(_b6).datagrid("deleteRow",_b7); +$.easyui.removeArrayItem(_b8.checkedRows,_b9.idField,_b7); +_1f(_b6); +if(_ba){ +_49(_b6,_ba[_b9.idField]); +} +_b8.total-=1; +$(_b6).datagrid("getPager").pagination("refresh",{total:_b8.total}); +$(_b6).treegrid("showLines"); +}; +function _bb(_bc){ +var t=$(_bc); +var _bd=t.treegrid("options"); +if(_bd.lines){ +t.treegrid("getPanel").addClass("tree-lines"); +}else{ +t.treegrid("getPanel").removeClass("tree-lines"); +return; +} +t.treegrid("getPanel").find("span.tree-indent").removeClass("tree-line tree-join tree-joinbottom"); +t.treegrid("getPanel").find("div.datagrid-cell").removeClass("tree-node-last tree-root-first tree-root-one"); +var _be=t.treegrid("getRoots"); +if(_be.length>1){ +_bf(_be[0]).addClass("tree-root-first"); +}else{ +if(_be.length==1){ +_bf(_be[0]).addClass("tree-root-one"); +} +} +_c0(_be); +_c1(_be); +function _c0(_c2){ +$.map(_c2,function(_c3){ +if(_c3.children&&_c3.children.length){ +_c0(_c3.children); +}else{ +var _c4=_bf(_c3); +_c4.find(".tree-icon").prev().addClass("tree-join"); +} +}); +if(_c2.length){ +var _c5=_bf(_c2[_c2.length-1]); +_c5.addClass("tree-node-last"); +_c5.find(".tree-join").removeClass("tree-join").addClass("tree-joinbottom"); +} +}; +function _c1(_c6){ +$.map(_c6,function(_c7){ +if(_c7.children&&_c7.children.length){ +_c1(_c7.children); +} +}); +for(var i=0;i<_c6.length-1;i++){ +var _c8=_c6[i]; +var _c9=t.treegrid("getLevel",_c8[_bd.idField]); +var tr=_bd.finder.getTr(_bc,_c8[_bd.idField]); +var cc=tr.next().find("tr.datagrid-row td[field=\""+_bd.treeField+"\"] div.datagrid-cell"); +cc.find("span:eq("+(_c9-1)+")").addClass("tree-line"); +} +}; +function _bf(_ca){ +var tr=_bd.finder.getTr(_bc,_ca[_bd.idField]); +var _cb=tr.find("td[field=\""+_bd.treeField+"\"] div.datagrid-cell"); +return _cb; +}; +}; +$.fn.treegrid=function(_cc,_cd){ +if(typeof _cc=="string"){ +var _ce=$.fn.treegrid.methods[_cc]; +if(_ce){ +return _ce(this,_cd); +}else{ +return this.datagrid(_cc,_cd); +} +} +_cc=_cc||{}; +return this.each(function(){ +var _cf=$.data(this,"treegrid"); +if(_cf){ +$.extend(_cf.options,_cc); +}else{ +_cf=$.data(this,"treegrid",{options:$.extend({},$.fn.treegrid.defaults,$.fn.treegrid.parseOptions(this),_cc),data:[],checkedRows:[],tmpIds:[]}); +} +_1(this); +if(_cf.options.data){ +$(this).treegrid("loadData",_cf.options.data); +} +_15(this); +}); +}; +$.fn.treegrid.methods={options:function(jq){ +return $.data(jq[0],"treegrid").options; +},resize:function(jq,_d0){ +return jq.each(function(){ +$(this).datagrid("resize",_d0); +}); +},fixRowHeight:function(jq,_d1){ +return jq.each(function(){ +_16(this,_d1); +}); +},loadData:function(jq,_d2){ +return jq.each(function(){ +_56(this,_d2.parent,_d2); +}); +},load:function(jq,_d3){ +return jq.each(function(){ +$(this).treegrid("options").pageNumber=1; +$(this).treegrid("getPager").pagination({pageNumber:1}); +$(this).treegrid("reload",_d3); +}); +},reload:function(jq,id){ +return jq.each(function(){ +var _d4=$(this).treegrid("options"); +var _d5={}; +if(typeof id=="object"){ +_d5=id; +}else{ +_d5=$.extend({},_d4.queryParams); +_d5.id=id; +} +if(_d5.id){ +var _d6=$(this).treegrid("find",_d5.id); +if(_d6.children){ +_d6.children.splice(0,_d6.children.length); +} +_d4.queryParams=_d5; +var tr=_d4.finder.getTr(this,_d5.id); +tr.next("tr.treegrid-tr-tree").remove(); +tr.find("span.tree-hit").removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed"); +_8a(this,_d5.id); +}else{ +_15(this,null,_d5); +} +}); +},reloadFooter:function(jq,_d7){ +return jq.each(function(){ +var _d8=$.data(this,"treegrid").options; +var dc=$.data(this,"datagrid").dc; +if(_d7){ +$.data(this,"treegrid").footer=_d7; +} +if(_d8.showFooter){ +_d8.view.renderFooter.call(_d8.view,this,dc.footer1,true); +_d8.view.renderFooter.call(_d8.view,this,dc.footer2,false); +if(_d8.view.onAfterRender){ +_d8.view.onAfterRender.call(_d8.view,this); +} +$(this).treegrid("fixRowHeight"); +} +}); +},getData:function(jq){ +return $.data(jq[0],"treegrid").data; +},getFooterRows:function(jq){ +return $.data(jq[0],"treegrid").footer; +},getRoot:function(jq){ +return _6e(jq[0]); +},getRoots:function(jq){ +return _71(jq[0]); +},getParent:function(jq,id){ +return _46(jq[0],id); +},getChildren:function(jq,id){ +return _1b(jq[0],id); +},getLevel:function(jq,id){ +return _7b(jq[0],id); +},find:function(jq,id){ +return _37(jq[0],id); +},isLeaf:function(jq,id){ +var _d9=$.data(jq[0],"treegrid").options; +var tr=_d9.finder.getTr(jq[0],id); +var hit=tr.find("span.tree-hit"); +return hit.length==0; +},select:function(jq,id){ +return jq.each(function(){ +$(this).datagrid("selectRow",id); +}); +},unselect:function(jq,id){ +return jq.each(function(){ +$(this).datagrid("unselectRow",id); +}); +},collapse:function(jq,id){ +return jq.each(function(){ +_86(this,id); +}); +},expand:function(jq,id){ +return jq.each(function(){ +_8a(this,id); +}); +},toggle:function(jq,id){ +return jq.each(function(){ +_28(this,id); +}); +},collapseAll:function(jq,id){ +return jq.each(function(){ +_94(this,id); +}); +},expandAll:function(jq,id){ +return jq.each(function(){ +_99(this,id); +}); +},expandTo:function(jq,id){ +return jq.each(function(){ +_9e(this,id); +}); +},append:function(jq,_da){ +return jq.each(function(){ +_a2(this,_da); +}); +},insert:function(jq,_db){ +return jq.each(function(){ +_a9(this,_db); +}); +},remove:function(jq,id){ +return jq.each(function(){ +_b5(this,id); +}); +},pop:function(jq,id){ +var row=jq.treegrid("find",id); +jq.treegrid("remove",id); +return row; +},refresh:function(jq,id){ +return jq.each(function(){ +var _dc=$.data(this,"treegrid").options; +_dc.view.refreshRow.call(_dc.view,this,id); +}); +},update:function(jq,_dd){ +return jq.each(function(){ +var _de=$.data(this,"treegrid").options; +var row=_dd.row; +_de.view.updateRow.call(_de.view,this,_dd.id,row); +if(row.checked!=undefined){ +row=_37(this,_dd.id); +$.extend(row,{checkState:row.checked?"checked":(row.checked===false?"unchecked":undefined)}); +_49(this,_dd.id); +} +}); +},beginEdit:function(jq,id){ +return jq.each(function(){ +$(this).datagrid("beginEdit",id); +$(this).treegrid("fixRowHeight",id); +}); +},endEdit:function(jq,id){ +return jq.each(function(){ +$(this).datagrid("endEdit",id); +}); +},cancelEdit:function(jq,id){ +return jq.each(function(){ +$(this).datagrid("cancelEdit",id); +}); +},showLines:function(jq){ +return jq.each(function(){ +_bb(this); +}); +},setSelectionState:function(jq){ +return jq.each(function(){ +$(this).datagrid("setSelectionState"); +var _df=$(this).data("treegrid"); +for(var i=0;i<_df.tmpIds.length;i++){ +_29(this,_df.tmpIds[i],true,true); +} +_df.tmpIds=[]; +}); +},getCheckedNodes:function(jq,_e0){ +_e0=_e0||"checked"; +var _e1=[]; +$.easyui.forEach(jq.data("treegrid").checkedRows,false,function(row){ +if(row.checkState==_e0){ +_e1.push(row); +} +}); +return _e1; +},checkNode:function(jq,id){ +return jq.each(function(){ +_29(this,id,true); +}); +},uncheckNode:function(jq,id){ +return jq.each(function(){ +_29(this,id,false); +}); +},clearChecked:function(jq){ +return jq.each(function(){ +var _e2=this; +var _e3=$(_e2).treegrid("options"); +$(_e2).datagrid("clearChecked"); +$.map($(_e2).treegrid("getCheckedNodes"),function(row){ +_29(_e2,row[_e3.idField],false,true); +}); +}); +}}; +$.fn.treegrid.parseOptions=function(_e4){ +return $.extend({},$.fn.datagrid.parseOptions(_e4),$.parser.parseOptions(_e4,["treeField",{checkbox:"boolean",cascadeCheck:"boolean",onlyLeafCheck:"boolean"},{animate:"boolean"}])); +}; +var _e5=$.extend({},$.fn.datagrid.defaults.view,{render:function(_e6,_e7,_e8){ +var _e9=$.data(_e6,"treegrid").options; +var _ea=$(_e6).datagrid("getColumnFields",_e8); +var _eb=$.data(_e6,"datagrid").rowIdPrefix; +if(_e8){ +if(!(_e9.rownumbers||(_e9.frozenColumns&&_e9.frozenColumns.length))){ +return; +} +} +var _ec=this; +if(this.treeNodes&&this.treeNodes.length){ +var _ed=_ee.call(this,_e8,this.treeLevel,this.treeNodes); +$(_e7).append(_ed.join("")); +} +function _ee(_ef,_f0,_f1){ +var _f2=$(_e6).treegrid("getParent",_f1[0][_e9.idField]); +var _f3=(_f2?_f2.children.length:$(_e6).treegrid("getRoots").length)-_f1.length; +var _f4=[""]; +for(var i=0;i<_f1.length;i++){ +var row=_f1[i]; +if(row.state!="open"&&row.state!="closed"){ +row.state="open"; +} +var css=_e9.rowStyler?_e9.rowStyler.call(_e6,row):""; +var cs=this.getStyleValue(css); +var cls="class=\"datagrid-row "+(_f3++%2&&_e9.striped?"datagrid-row-alt ":" ")+cs.c+"\""; +var _f5=cs.s?"style=\""+cs.s+"\"":""; +var _f6=_eb+"-"+(_ef?1:2)+"-"+row[_e9.idField]; +_f4.push(""); +_f4=_f4.concat(_ec.renderRow.call(_ec,_e6,_ea,_ef,_f0,row)); +_f4.push(""); +if(row.children&&row.children.length){ +var tt=_ee.call(this,_ef,_f0+1,row.children); +var v=row.state=="closed"?"none":"block"; +_f4.push(""); +} +} +_f4.push("
                "); +_f4=_f4.concat(tt); +_f4.push("
                "); +return _f4; +}; +},renderFooter:function(_f7,_f8,_f9){ +var _fa=$.data(_f7,"treegrid").options; +var _fb=$.data(_f7,"treegrid").footer||[]; +var _fc=$(_f7).datagrid("getColumnFields",_f9); +var _fd=[""]; +for(var i=0;i<_fb.length;i++){ +var row=_fb[i]; +row[_fa.idField]=row[_fa.idField]||("foot-row-id"+i); +_fd.push(""); +_fd.push(this.renderRow.call(this,_f7,_fc,_f9,0,row)); +_fd.push(""); +} +_fd.push("
                "); +$(_f8).html(_fd.join("")); +},renderRow:function(_fe,_ff,_100,_101,row){ +var _102=$.data(_fe,"treegrid"); +var opts=_102.options; +var cc=[]; +if(_100&&opts.rownumbers){ +cc.push("
                0
                "); +} +for(var i=0;i<_ff.length;i++){ +var _103=_ff[i]; +var col=$(_fe).datagrid("getColumnOption",_103); +if(col){ +var css=col.styler?(col.styler(row[_103],row)||""):""; +var cs=this.getStyleValue(css); +var cls=cs.c?"class=\""+cs.c+"\"":""; +var _104=col.hidden?"style=\"display:none;"+cs.s+"\"":(cs.s?"style=\""+cs.s+"\"":""); +cc.push(""); +var _104=""; +if(!col.checkbox){ +if(col.align){ +_104+="text-align:"+col.align+";"; +} +if(!opts.nowrap){ +_104+="white-space:normal;height:auto;"; +}else{ +if(opts.autoRowHeight){ +_104+="height:auto;"; +} +} +} +cc.push("
                "); +if(col.checkbox){ +if(row.checked){ +cc.push(""); +}else{ +var val=null; +if(col.formatter){ +val=col.formatter(row[_103],row); +}else{ +val=row[_103]; +} +if(_103==opts.treeField){ +for(var j=0;j<_101;j++){ +cc.push(""); +} +if(row.state=="closed"){ +cc.push(""); +cc.push(""); +}else{ +if(row.children&&row.children.length){ +cc.push(""); +cc.push(""); +}else{ +cc.push(""); +cc.push(""); +} +} +if(this.hasCheckbox(_fe,row)){ +var flag=0; +var crow=$.easyui.getArrayItem(_102.checkedRows,opts.idField,row[opts.idField]); +if(crow){ +flag=crow.checkState=="checked"?1:2; +row.checkState=crow.checkState; +row.checked=crow.checked; +$.easyui.addArrayItem(_102.checkedRows,opts.idField,row); +}else{ +var prow=$.easyui.getArrayItem(_102.checkedRows,opts.idField,row._parentId); +if(prow&&prow.checkState=="checked"&&opts.cascadeCheck){ +flag=1; +row.checked=true; +$.easyui.addArrayItem(_102.checkedRows,opts.idField,row); +}else{ +if(row.checked){ +$.easyui.addArrayItem(_102.tmpIds,row[opts.idField]); +} +} +row.checkState=flag?"checked":"unchecked"; +} +cc.push(""); +}else{ +row.checkState=undefined; +row.checked=undefined; +} +cc.push(""+val+""); +}else{ +cc.push(val); +} +} +cc.push("
                "); +cc.push(""); +} +} +return cc.join(""); +},hasCheckbox:function(_105,row){ +var opts=$.data(_105,"treegrid").options; +if(opts.checkbox){ +if($.isFunction(opts.checkbox)){ +if(opts.checkbox.call(_105,row)){ +return true; +}else{ +return false; +} +}else{ +if(opts.onlyLeafCheck){ +if(row.state=="open"&&!(row.children&&row.children.length)){ +return true; +} +}else{ +return true; +} +} +} +return false; +},refreshRow:function(_106,id){ +this.updateRow.call(this,_106,id,{}); +},updateRow:function(_107,id,row){ +var opts=$.data(_107,"treegrid").options; +var _108=$(_107).treegrid("find",id); +$.extend(_108,row); +var _109=$(_107).treegrid("getLevel",id)-1; +var _10a=opts.rowStyler?opts.rowStyler.call(_107,_108):""; +var _10b=$.data(_107,"datagrid").rowIdPrefix; +var _10c=_108[opts.idField]; +function _10d(_10e){ +var _10f=$(_107).treegrid("getColumnFields",_10e); +var tr=opts.finder.getTr(_107,id,"body",(_10e?1:2)); +var _110=tr.find("div.datagrid-cell-rownumber").html(); +var _111=tr.find("div.datagrid-cell-check input[type=checkbox]").is(":checked"); +tr.html(this.renderRow(_107,_10f,_10e,_109,_108)); +tr.attr("style",_10a||""); +tr.find("div.datagrid-cell-rownumber").html(_110); +if(_111){ +tr.find("div.datagrid-cell-check input[type=checkbox]")._propAttr("checked",true); +} +if(_10c!=id){ +tr.attr("id",_10b+"-"+(_10e?1:2)+"-"+_10c); +tr.attr("node-id",_10c); +} +}; +_10d.call(this,true); +_10d.call(this,false); +$(_107).treegrid("fixRowHeight",id); +},deleteRow:function(_112,id){ +var opts=$.data(_112,"treegrid").options; +var tr=opts.finder.getTr(_112,id); +tr.next("tr.treegrid-tr-tree").remove(); +tr.remove(); +var _113=del(id); +if(_113){ +if(_113.children.length==0){ +tr=opts.finder.getTr(_112,_113[opts.idField]); +tr.next("tr.treegrid-tr-tree").remove(); +var cell=tr.children("td[field=\""+opts.treeField+"\"]").children("div.datagrid-cell"); +cell.find(".tree-icon").removeClass("tree-folder").addClass("tree-file"); +cell.find(".tree-hit").remove(); +$("").prependTo(cell); +} +} +this.setEmptyMsg(_112); +function del(id){ +var cc; +var _114=$(_112).treegrid("getParent",id); +if(_114){ +cc=_114.children; +}else{ +cc=$(_112).treegrid("getData"); +} +for(var i=0;ib?1:-1); +}; +r=_11f(r1[sn],r2[sn])*(so=="asc"?1:-1); +if(r!=0){ +return r; +} +} +return r; +}); +for(var i=0;i=_45[0]&&len<=_45[1]; +},message:"Please enter a value between {0} and {1}."},remote:{validator:function(_46,_47){ +var _48={}; +_48[_47[1]]=_46; +var _49=$.ajax({url:_47[0],dataType:"json",data:_48,async:false,cache:false,type:"post"}).responseText; +return _49=="true"; +},message:"Please fix this field."}},onBeforeValidate:function(){ +},onValidate:function(_4a){ +}}; +})(jQuery); + diff --git a/src/main/webapp/js/plugins/jquery.window.js b/src/main/webapp/js/plugins/jquery.window.js new file mode 100644 index 0000000..77f7b4d --- /dev/null +++ b/src/main/webapp/js/plugins/jquery.window.js @@ -0,0 +1,311 @@ +/** + * jQuery EasyUI 1.5.2 + * + * Copyright (c) 2009-2017 www.jeasyui.com. All rights reserved. + * + * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php + * To use it on other terms please contact us: info@jeasyui.com + * + */ +(function($){ +function _1(_2,_3){ +var _4=$.data(_2,"window"); +if(_3){ +if(_3.left!=null){ +_4.options.left=_3.left; +} +if(_3.top!=null){ +_4.options.top=_3.top; +} +} +$(_2).panel("move",_4.options); +if(_4.shadow){ +_4.shadow.css({left:_4.options.left,top:_4.options.top}); +} +}; +function _5(_6,_7){ +var _8=$.data(_6,"window").options; +var pp=$(_6).window("panel"); +var _9=pp._outerWidth(); +if(_8.inline){ +var _a=pp.parent(); +_8.left=Math.ceil((_a.width()-_9)/2+_a.scrollLeft()); +}else{ +_8.left=Math.ceil(($(window)._outerWidth()-_9)/2+$(document).scrollLeft()); +} +if(_7){ +_1(_6); +} +}; +function _b(_c,_d){ +var _e=$.data(_c,"window").options; +var pp=$(_c).window("panel"); +var _f=pp._outerHeight(); +if(_e.inline){ +var _10=pp.parent(); +_e.top=Math.ceil((_10.height()-_f)/2+_10.scrollTop()); +}else{ +_e.top=Math.ceil(($(window)._outerHeight()-_f)/2+$(document).scrollTop()); +} +if(_d){ +_1(_c); +} +}; +function _11(_12){ +var _13=$.data(_12,"window"); +var _14=_13.options; +var win=$(_12).panel($.extend({},_13.options,{border:false,doSize:true,closed:true,cls:"window "+(!_14.border?"window-thinborder window-noborder ":(_14.border=="thin"?"window-thinborder ":""))+(_14.cls||""),headerCls:"window-header "+(_14.headerCls||""),bodyCls:"window-body "+(_14.noheader?"window-body-noheader ":" ")+(_14.bodyCls||""),onBeforeDestroy:function(){ +if(_14.onBeforeDestroy.call(_12)==false){ +return false; +} +if(_13.shadow){ +_13.shadow.remove(); +} +if(_13.mask){ +_13.mask.remove(); +} +},onClose:function(){ +if(_13.shadow){ +_13.shadow.hide(); +} +if(_13.mask){ +_13.mask.hide(); +} +_14.onClose.call(_12); +},onOpen:function(){ +if(_13.mask){ +_13.mask.css($.extend({display:"block",zIndex:$.fn.window.defaults.zIndex++},$.fn.window.getMaskSize(_12))); +} +if(_13.shadow){ +_13.shadow.css({display:"block",zIndex:$.fn.window.defaults.zIndex++,left:_14.left,top:_14.top,width:_13.window._outerWidth(),height:_13.window._outerHeight()}); +} +_13.window.css("z-index",$.fn.window.defaults.zIndex++); +_14.onOpen.call(_12); +},onResize:function(_15,_16){ +var _17=$(this).panel("options"); +$.extend(_14,{width:_17.width,height:_17.height,left:_17.left,top:_17.top}); +if(_13.shadow){ +_13.shadow.css({left:_14.left,top:_14.top,width:_13.window._outerWidth(),height:_13.window._outerHeight()}); +} +_14.onResize.call(_12,_15,_16); +},onMinimize:function(){ +if(_13.shadow){ +_13.shadow.hide(); +} +if(_13.mask){ +_13.mask.hide(); +} +_13.options.onMinimize.call(_12); +},onBeforeCollapse:function(){ +if(_14.onBeforeCollapse.call(_12)==false){ +return false; +} +if(_13.shadow){ +_13.shadow.hide(); +} +},onExpand:function(){ +if(_13.shadow){ +_13.shadow.show(); +} +_14.onExpand.call(_12); +}})); +_13.window=win.panel("panel"); +if(_13.mask){ +_13.mask.remove(); +} +if(_14.modal){ +_13.mask=$("
                ").insertAfter(_13.window); +} +if(_13.shadow){ +_13.shadow.remove(); +} +if(_14.shadow){ +_13.shadow=$("
                ").insertAfter(_13.window); +} +var _18=_14.closed; +if(_14.left==null){ +_5(_12); +} +if(_14.top==null){ +_b(_12); +} +_1(_12); +if(!_18){ +win.window("open"); +} +}; +function _19(_1a,top,_1b,_1c){ +var _1d=this; +var _1e=$.data(_1d,"window"); +var _1f=_1e.options; +if(!_1f.constrain){ +return {}; +} +if($.isFunction(_1f.constrain)){ +return _1f.constrain.call(_1d,_1a,top,_1b,_1c); +} +var win=$(_1d).window("window"); +var _20=_1f.inline?win.parent():$(window); +if(_1a<0){ +_1a=0; +} +if(top<_20.scrollTop()){ +top=_20.scrollTop(); +} +if(_1a+_1b>_20.width()){ +if(_1b==win.outerWidth()){ +_1a=_20.width()-_1b; +}else{ +_1b=_20.width()-_1a; +} +} +if(top-_20.scrollTop()+_1c>_20.height()){ +if(_1c==win.outerHeight()){ +top=_20.height()-_1c+_20.scrollTop(); +}else{ +_1c=_20.height()-top+_20.scrollTop(); +} +} +return {left:_1a,top:top,width:_1b,height:_1c}; +}; +function _21(_22){ +var _23=$.data(_22,"window"); +_23.window.draggable({handle:">div.panel-header>div.panel-title",disabled:_23.options.draggable==false,onBeforeDrag:function(e){ +if(_23.mask){ +_23.mask.css("z-index",$.fn.window.defaults.zIndex++); +} +if(_23.shadow){ +_23.shadow.css("z-index",$.fn.window.defaults.zIndex++); +} +_23.window.css("z-index",$.fn.window.defaults.zIndex++); +},onStartDrag:function(e){ +_24(e); +},onDrag:function(e){ +_25(e); +return false; +},onStopDrag:function(e){ +_26(e,"move"); +}}); +_23.window.resizable({disabled:_23.options.resizable==false,onStartResize:function(e){ +_24(e); +},onResize:function(e){ +_25(e); +return false; +},onStopResize:function(e){ +_26(e,"resize"); +}}); +function _24(e){ +if(_23.pmask){ +_23.pmask.remove(); +} +_23.pmask=$("
                ").insertAfter(_23.window); +_23.pmask.css({display:"none",zIndex:$.fn.window.defaults.zIndex++,left:e.data.left,top:e.data.top,width:_23.window._outerWidth(),height:_23.window._outerHeight()}); +if(_23.proxy){ +_23.proxy.remove(); +} +_23.proxy=$("
                ").insertAfter(_23.window); +_23.proxy.css({display:"none",zIndex:$.fn.window.defaults.zIndex++,left:e.data.left,top:e.data.top}); +_23.proxy._outerWidth(e.data.width)._outerHeight(e.data.height); +_23.proxy.hide(); +setTimeout(function(){ +if(_23.pmask){ +_23.pmask.show(); +} +if(_23.proxy){ +_23.proxy.show(); +} +},500); +}; +function _25(e){ +$.extend(e.data,_19.call(_22,e.data.left,e.data.top,e.data.width,e.data.height)); +_23.pmask.show(); +_23.proxy.css({display:"block",left:e.data.left,top:e.data.top}); +_23.proxy._outerWidth(e.data.width); +_23.proxy._outerHeight(e.data.height); +}; +function _26(e,_27){ +$.extend(e.data,_19.call(_22,e.data.left,e.data.top,e.data.width+0.1,e.data.height+0.1)); +$(_22).window(_27,e.data); +_23.pmask.remove(); +_23.pmask=null; +_23.proxy.remove(); +_23.proxy=null; +}; +}; +$(function(){ +if(!$._positionFixed){ +$(window).resize(function(){ +$("body>div.window-mask:visible").css({width:"",height:""}); +setTimeout(function(){ +$("body>div.window-mask:visible").css($.fn.window.getMaskSize()); +},50); +}); +} +}); +$.fn.window=function(_28,_29){ +if(typeof _28=="string"){ +var _2a=$.fn.window.methods[_28]; +if(_2a){ +return _2a(this,_29); +}else{ +return this.panel(_28,_29); +} +} +_28=_28||{}; +return this.each(function(){ +var _2b=$.data(this,"window"); +if(_2b){ +$.extend(_2b.options,_28); +}else{ +_2b=$.data(this,"window",{options:$.extend({},$.fn.window.defaults,$.fn.window.parseOptions(this),_28)}); +if(!_2b.options.inline){ +document.body.appendChild(this); +} +} +_11(this); +_21(this); +}); +}; +$.fn.window.methods={options:function(jq){ +var _2c=jq.panel("options"); +var _2d=$.data(jq[0],"window").options; +return $.extend(_2d,{closed:_2c.closed,collapsed:_2c.collapsed,minimized:_2c.minimized,maximized:_2c.maximized}); +},window:function(jq){ +return $.data(jq[0],"window").window; +},move:function(jq,_2e){ +return jq.each(function(){ +_1(this,_2e); +}); +},hcenter:function(jq){ +return jq.each(function(){ +_5(this,true); +}); +},vcenter:function(jq){ +return jq.each(function(){ +_b(this,true); +}); +},center:function(jq){ +return jq.each(function(){ +_5(this); +_b(this); +_1(this); +}); +}}; +$.fn.window.getMaskSize=function(_2f){ +var _30=$(_2f).data("window"); +if(_30&&_30.options.inline){ +return {}; +}else{ +if($._positionFixed){ +return {position:"fixed"}; +}else{ +return {width:$(document).width(),height:$(document).height()}; +} +} +}; +$.fn.window.parseOptions=function(_31){ +return $.extend({},$.fn.panel.parseOptions(_31),$.parser.parseOptions(_31,[{draggable:"boolean",resizable:"boolean",shadow:"boolean",modal:"boolean",inline:"boolean"}])); +}; +$.fn.window.defaults=$.extend({},$.fn.panel.defaults,{zIndex:9000,draggable:true,resizable:true,shadow:true,modal:false,border:true,inline:false,title:"New Window",collapsible:true,minimizable:true,maximizable:true,closable:true,closed:false,constrain:false}); +})(jQuery); + diff --git a/src/main/webapp/login.jsp b/src/main/webapp/login.jsp new file mode 100644 index 0000000..6be72b6 --- /dev/null +++ b/src/main/webapp/login.jsp @@ -0,0 +1,276 @@ +<%@ page language="java" import="java.util.*,com.util.Escape" + pageEncoding="UTF-8"%> +<% + String path = request.getContextPath(); + String loginlog = ""; + String errormsg = "none;"; + + loginlog = (String) request.getAttribute("loginlog"); + loginlog = Escape.unescape(loginlog); + try { + String path2 = request.getAttribute( + "javax.servlet.forward.request_uri").toString(); + if (!path2.contains("loginout.tag") && loginlog != null + && loginlog.trim() != "" && !"请重新登录!".equals(loginlog)) { + errormsg = "block;"; + } + } catch (Exception e) { + } + String yzText = " class=\"easyui-textbox\" novalidate=\"true\" missingMessage=\"不能为空!\" "; +%> + + + + + +登录 + + + + + + + + + + + + + + + + + + + + + + + + + + <%-- --%> + + +
                +
                +
                +
                捷豹路虎道路救援管理系统
                +
                + 用户名* + +
                +
                + 密  码* + +
                +
                +   + +
                +
                +   + +
                +
                +
                + 账号密码请咨询:021-53682508
                + + 或邮箱: sino-selection@sino-assistance.com
                + 工作时间:周一至周五 9:00 - 17:30 +
                +
                + + + + + + + + + +
                + + \ No newline at end of file diff --git a/src/main/webapp/page/amap/amap.jsp b/src/main/webapp/page/amap/amap.jsp new file mode 100644 index 0000000..9fde61d --- /dev/null +++ b/src/main/webapp/page/amap/amap.jsp @@ -0,0 +1,409 @@ +<%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> +<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> + +<% + String path = request.getContextPath(); +%> + + + + + + 地图初始加载定位到当前城市 + + + + + + + + + + +
                +
                +
                + + + + + +
                +
                + +
                +
                + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/page/amap/cityList.jsp b/src/main/webapp/page/amap/cityList.jsp new file mode 100644 index 0000000..4589cef --- /dev/null +++ b/src/main/webapp/page/amap/cityList.jsp @@ -0,0 +1,33 @@ +<%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> + + + + + + + 城市索引 + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/page/amap/citylist.js b/src/main/webapp/page/amap/citylist.js new file mode 100644 index 0000000..b9f8127 --- /dev/null +++ b/src/main/webapp/page/amap/citylist.js @@ -0,0 +1,151 @@ + var isIe=(document.all)?true:false; + +if("undefined"==typeof citylist){ + var citylist={ + }; +} + +var layer_index ; + +citylist.hot_city = ["全国","北京","上海","广州","深圳","杭州","苏州","成都","济南","郑州","青岛","沈阳","天津","重庆","武汉","长沙"]; +citylist.city = { +"A":["安庆","鞍山","安阳","安康","安顺","阿坝藏族羌族自治州","阿拉善盟","阿里地区","阿克苏地区","阿勒泰地区","澳门"], +"B":["北京","保定","宝鸡","本溪","包头","蚌埠","北海","亳州","巴中","毕节地区","滨州","白城","白山","白银","博尔塔拉蒙古自治州","百色","白沙黎族自治县","保亭黎族苗族自治县","巴彦淖尔市","巴音郭楞蒙古自治州","保山"], +"C":["成都","重庆","长春","长沙","巢湖","潮州","常德","承德","常州","池州","滁州","郴州","赤峰","长治","沧州","朝阳","崇左","楚雄彝族自治州","昌吉回族自治州","昌江黎族自治县","澄迈县","昌都地区"], +"D":["大连","东莞","大庆","丹东","德州","德阳","东营","大同","定西","达州","大兴安岭地区","大理白族自治州","定安县","东方","东沙群岛","儋州","德宏傣族景颇族自治州","迪庆藏族自治州"], +"E":["鄂尔多斯","鄂州","恩施土家族苗族自治州"], +"F":["福州","佛山","抚顺","抚州","防城港","阜阳","阜新"], +"G":["广州","贵阳","桂林","赣州","贵港","广安","广元","甘孜藏族自治州","甘南藏族自治州","固原","果洛藏族自治州"], +"H":["衡阳","黄山","合肥","邯郸","惠州","杭州","海口","湖州","黄石","葫芦岛","哈尔滨","呼和浩特","淮北","淮南","淮安","河源","河池","贺州","黑河","黄冈","鹤壁","衡水","菏泽","怀化","鹤岗","呼伦贝尔","汉中","海东地区","海北藏族自治州","海南藏族自治州","红河哈尼族彝族自治州","黄南藏族自治州","哈密地区","和田地区","海西蒙古族藏族自治州"], +"I":[], +"J":["焦作","荆州","荆门","吉林","江门","揭阳","金华","金昌","嘉兴","九江","锦州","济南","佳木斯","景德镇","济宁","济源","吉安","晋城","晋中","酒泉","鸡西","嘉峪关"], +"K":["昆明","克拉玛依","开封","喀什地区","克孜勒苏柯尔克孜自治州"], +"L":["廊坊","乐山","柳州","洛阳","泸州","辽阳","辽源","陇南","连云港","聊城","临汾","临沂","丽水","六安","兰州","吕梁","娄底","拉萨","来宾","漯河","莱芜","龙岩","临夏回族自治州","凉山彝族自治州","六盘水","乐东黎族自治县","临高县","陵水黎族自治县","林芝地区","丽江","临沧市"], +"M":["茂名","梅州","眉山","绵阳","马鞍山","牡丹江"], +"N":["南京","南通","宁德","宁波","南宁","南昌","内江","南充","南平","南阳","南沙群岛","那曲地区","怒江傈僳族自治州"], +"O":[], +"P":["莆田","盘锦","平顶山","平凉","濮阳","攀枝花","萍乡","普洱"], +"Q":["青岛","泉州","秦皇岛","齐齐哈尔","七台河","庆阳","曲靖","清远","潜江","钦州","衢州","黔东南苗族侗族自治州","黔南布依族苗族自治州","黔西南布依族苗族自治州","琼海","琼中黎族苗族自治县"], +"R":["日照","日喀则地区"], +"S":["上海","韶关","汕头","汕尾","深圳","三亚","四平","苏州","十堰","沈阳","绍兴","邵阳","石家庄","绥化","随州","三明","三门峡","上饶","双鸭山","商丘","商洛","宿州","宿迁","山南地区","朔州","松原","石嘴山","石河子","遂宁","神农架林区"], +"T":["天津","太原","唐山","台州","泰州","泰安","吐鲁番地区","塔城地区","天水","天门","铁岭","通化","通辽","铜仁地区","铜陵","铜川","屯昌县"], +"U":[], +"V":[], +"W":["芜湖","无锡","温州","武汉","潍坊","威海","乌兰察布","乌海","吴忠","梧州","乌鲁木齐","武威","渭南","万宁","文昌","五指山","文山壮族苗族自治州"], +"X":["厦门","咸阳","西安","湘潭","襄阳","许昌","新乡","徐州","仙桃","信阳","孝感","忻州","新余","西宁","咸宁","宣城","邢台","兴安盟","西双版纳傣族自治州","湘西土家族苗族自治州","西沙群岛","锡林郭勒盟","香港"], +"Y":["宜宾","营口","阳江","延安","岳阳","玉溪","宜昌","盐城","烟台","扬州","伊春","榆林","玉林","益阳","云浮","运城","宜春","鹰潭","永州","银川","阳泉","雅安","伊犁哈萨克自治州","延边朝鲜族自治州","玉树藏族自治州"], +"Z":["漳州","珠海","湛江","肇庆","中山","株洲","郑州","舟山","镇江","自贡","淄博","资阳","张家界","张家口","遵义","驻马店","中卫","周口","张掖","昭通","枣庄","中沙群岛"] +}; + +citylist.hot_areacity = ["北京","上海","广州","深圳","杭州","苏州","成都","济南","郑州","青岛","沈阳","天津","重庆","武汉","长沙"]; +citylist.areacity = { +"直辖市":["北京","上海","天津","重庆"], +"澳门":["澳门"], +"安徽":["合肥","蚌埠","芜湖","马鞍山","安庆","黄山","巢湖","亳州","六安","宣城","宿州","池州","淮北","淮南","滁州","铜陵","阜阳"], +"福建":["福州","厦门","宁德","莆田","泉州","漳州","三明","南平","龙岩"], +"广东":["广州","深圳","珠海","佛山","肇庆","汕头","湛江","中山","潮州","东莞","汕尾岛","阳江","揭阳","茂名","江门","韶关","惠州","梅州","云浮","河源","清远"], +"广西":["南宁","柳州","桂林","北海","防城港","崇左","来宾","梧州","河池","玉林","贵港","贺州","钦州","百色"], +"贵州":["贵阳","安顺","毕节地区","遵义","铜仁地区","黔东南苗族侗族自治州","黔南布依族苗族自治州","六盘水","黔西南布依族苗族自治州"], +"甘肃":["兰州","天水","定西","平凉","庆阳","张掖","武威","白银","酒泉","金昌","陇南","临夏回族自治州","甘南藏族自治州","嘉峪关"], +"河北":["邯郸","石家庄","保定","张家口","承德","唐山","廊坊","秦皇岛","沧州","衡水","邢台"], +"河南":["郑州","安阳","新乡","许昌","平顶山","开封","洛阳","焦作","三门峡","信阳","南阳","周口","商丘","济源","漯河","濮阳","驻马店","鹤壁"], +"湖北":["武汉","襄阳","鄂州","黄石","荆州","宜昌","十堰","荆门","仙桃","咸宁","天门","孝感","潜江","随州","黄冈","神农架林区","恩施土家族苗族自治州"], +"湖南":["岳阳","长沙","湘潭","株洲","衡阳","常德","张家界","娄底","怀化","永州","益阳","邵阳","郴州","湘西土家族苗族自治州"], +"黑龙江":["哈尔滨","齐齐哈尔","牡丹江","大庆","佳木斯","七台河","伊春","双鸭山","大兴安岭地区","绥化","鸡西","鹤岗","黑河"], +"海南":["海口","三亚","白沙黎族自治县","保亭黎族苗族自治县","昌江黎族自治县","澄迈县","定安县","东方","东沙群岛","乐东黎族自治县","临高县","陵水黎族自治县","南沙群岛","琼海","琼中黎族苗族自治县","屯昌县","万宁","文昌","五指山","西沙群岛","中沙群岛","儋州"], +"吉林":["长春","吉林","四平","延边朝鲜族自治州","松原","白城","白山","辽源","通化"], +"江苏":["南京","无锡","镇江","苏州","南通","扬州","盐城","徐州","连云港","常州","泰州","宿迁","淮安"], +"江西":["南昌","九江","景德镇","吉安","宜春","抚州","新余","萍乡","赣州","鹰潭","上饶"], +"辽宁":["沈阳","大连","鞍山","抚顺","本溪","丹东","锦州","营口","辽阳","盘锦","葫芦岛","朝阳","铁岭","阜新"], +"内蒙":["呼和浩特","包头","乌兰察布","乌海","兴安盟","呼伦贝尔","赤峰","通辽","鄂尔多斯","阿拉善盟","巴彦淖尔市","锡林郭勒盟"], +"宁夏":["银川","中卫","吴忠","石嘴山","固原"], +"青海":["西宁","海东地区","海北藏族自治州","海南藏族自治州","果洛藏族自治州","黄南藏族自治州","玉树藏族自治州","海西蒙古族藏族自治州"], +"山西":["太原","临汾","吕梁","大同","忻州","晋中","晋城","朔州","运城","长治","阳泉"], +"山东":["济南","青岛","淄博","德州","烟台","潍坊","泰安","东营","威海","临沂","日照","枣庄","济宁","滨州","聊城","莱芜","菏泽"], +"陕西":["西安","咸阳","延安","宝鸡","商洛","安康","榆林","汉中","渭南","铜川"], +"四川":["成都","自贡","绵阳","泸州","宜宾","内江","资阳","乐山","眉山","凉山彝族自治州","南充","巴中","广元","广安","德阳","攀枝花","甘孜藏族自治州","达州","遂宁","阿坝藏族羌族自治州","雅安"], +"新疆":["乌鲁木齐","伊犁哈萨克自治州","克拉玛依","博尔塔拉蒙古自治州","吐鲁番","塔城地区","昌吉回族自治州","石河子","阿克苏地区","阿勒泰地区","巴音郭楞蒙古自治州","哈密地区","和田地区","喀什地区","克孜勒苏柯尔克孜自治州"], +"香港":["香港"], +"西藏":["拉萨","山南地区","日喀则地区","阿里地区","昌都地区","林芝地区","那曲地区"], +"云南":["昆明","玉溪","大理白族自治州","昭通","曲靖","楚雄彝族自治州","红河哈尼族彝族自治州","西双版纳傣族自治州","保山","德宏傣族景颇族自治州","迪庆藏族自治州","丽江","临沧市","怒江傈僳族自治州","普洱","文山壮族苗族自治州"], +"浙江":["杭州","嘉兴","绍兴","湖州","宁波","台州","温州","金华","舟山","丽水","衢州"] +}; + +function citylistBox(){ + var messContent = new Array(); + messContent.push("
                热门城市和地区
                "); + messContent.push("
                  ") + //热点城市 + for (var h = 0; h < citylist.hot_city.length ; ++ h){ + messContent.push("
                • " + citylist.hot_city[h] + "
                • "); + } + messContent.push("
                ") + messContent.push("
                  
                ") + messContent.push(""); + messContent.push("
                "); + + + //城市列表 + var cities = citylist.city; + for (var t in cities){ + if (cities[t].length > 0){ + messContent.push("
                • " + t + "
                • "); + for (var i = 0;i < cities[t].length; ++i){ + messContent.push(""); + } + messContent.push("
                "); + } + } + messContent.push("
                "); + //按地区排序 + messContent.push("
                "); + + //城市列表 + var cities = citylist.areacity; + for (var t in cities){ + if (cities[t].length > 0){ + messContent.push("
                • " + t + "
                • "); + for (var i = 0;i < cities[t].length; ++i){ + messContent.push(""); + } + messContent.push("
                "); + } + } + messContent.push("
                "); + messContent.push("
                "); + //页面层-自定义 + layer_index = layer.open({ + type: 1, + title: false, + shadeClose: true, + area: ['800px', '500px'], + content: messContent.join("") + }); +} + +function area(a,i){ + if(a=='0'){ + document.getElementById('area_li'+i).className =""; + document.getElementById('pin_li'+i).className ="or"; + document.getElementById('area'+i).style.display = "none"; + document.getElementById('pin'+i).style.display = "block"; + } + if(a=='1'){ + document.getElementById('area_li'+i).className ="or"; + document.getElementById('pin_li'+i).className =""; + document.getElementById('area'+i).style.display = "block"; + document.getElementById('pin'+i).style.display = "none"; + } +} + +function setCurrentCity(city){ + setMapCity(city); + layer.close(layer_index); +} + + +function search(){ + var city = $("#citySearchInput").val(); + setCurrentCity(city) +} + diff --git a/src/main/webapp/page/amap/css/common.css b/src/main/webapp/page/amap/css/common.css new file mode 100644 index 0000000..4217aa9 --- /dev/null +++ b/src/main/webapp/page/amap/css/common.css @@ -0,0 +1,626 @@ +/* +html5doctor.com Reset Stylesheet +v1.6.1 +Last Updated: 2010-09-17 +Author: Richard Clark - http://richclarkdesign.com +Twitter: @rich_clark +*/ + +html, body, div, span, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +abbr, address, cite, code, +del, dfn, em, img, ins, kbd, q, samp, +small, strong, sub, sup, var, +b, i, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td, +article, aside, canvas, details, figcaption, figure, +footer, header, hgroup, menu, nav, section, summary, +time, mark, audio, video { margin:0; padding:0; border:0;outline:0; font-size:100%; vertical-align:baseline; background:transparent;} + +body {} +article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {display:block;} +nav ul {list-style:none;} +blockquote, q {quotes:none;} +blockquote:before, blockquote:after,q:before, q:after { content:'';content:none;} + +/* change colours to suit your needs */ +ins {background-color:#ff9;color:#000;text-decoration:none;} + +/* change colours to suit your needs */ +mark {background-color:#ff9;color:#000;font-style:italic;font-weight:bold;} +del {text-decoration: line-through;} +abbr[title], dfn[title] {border-bottom:1px dotted;cursor:help;} +table {border-collapse:collapse;border-spacing:0;} + +/* change border colour to suit your needs */ +hr {display:block;height:1px; border:0; border-top:1px solid #cccccc;margin:1em 0;padding:0;} + +input, img, select {vertical-align:middle;} +/*************************html5 end*******************************/ + +/*---------------------------------------------- +ȫ (öclassNameʱ) +------------------------------------------*/ +*{ margin:0; padding:0; list-style:none;} +html, body {width: 100%; height: 100%;} +body{ font-size:12px; font-family:arial,helvetica,'\5b8b\4f53',sans-serif; background: #F0F0F0;behavior: url(/front/css/csshover.htc)} +select {font-size:12px; } +button, input { + font-size:12px;overflow:visible;padding:0; +} +button::-moz-focus-inner, input[type="reset"]::-moz-focus-inner, input[type="button"]::-moz-focus-inner, input[type="submit"]::-moz-focus-inner, input[type="file"] > input[type="button"]::-moz-focus-inner { + border:none; padding:0;} + +a{color:#000;text-decoration:none;cursor:pointer} + +.mapSearch {BORDER: #12519E 1px solid;FONT-SIZE: 12px;FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif;width:270px;height: 15px;} + +.sear3 { + display:block;float: right;margin:0 0 3px 3px;background-color:#B5C8F6; border:1px solid #3A5588; + font-family:"Lucida Grande", Tahoma, Arial, Verdana, sans-serif;font-size:12px;font-weight:bold;color:#3A5588;cursor:pointer;padding:1px 2px 1px 2px; /* Links */ +} +input.commButton, button.commButton {height:25px;line-height:16px;font-weight:bold;letter-spacing:2px;*display:inline;zoom:1; +border: 1px solid #3079ED;-moz-border-radius:2px;-webkit-border-radius:2px;-khtml-border-radius:2px;border-radius:2px; + color:white; background-color: #4D90FE; padding:0 10px; *padding-top:2.5px; margin: 0px 3px; cursor:pointer; + background-image: -webkit-gradient(linear,left top,left bottom,from(#4d90fe),to(#4787ed)); + background-image: -webkit-linear-gradient(top,#4d90fe,#4787ed); + background-image: -moz-linear-gradient(top,#4d90fe,#4787ed); + background-image: -ms-linear-gradient(top,#4d90fe,#4787ed); + background-image: -o-linear-gradient(top,#4d90fe,#4787ed); + background-image: linear-gradient(top,#4d90fe,#4787ed); + filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#4d90fe', endColorstr='#4787ed'); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#4d90fe', endColorstr='#4787ed')"; +} + +input.commButton:hover, button.commButton:hover { + border: 1px solid #2F5BB7;color: white;background-color: #357AE8; + background-image: -webkit-gradient(linear,left top,left bottom,from(#4d90fe),to(#357ae8)); + background-image: -webkit-linear-gradient(top,#4d90fe,#357ae8); + background-image: -moz-linear-gradient(top,#4d90fe,#357ae8); + background-image: -ms-linear-gradient(top,#4d90fe,#357ae8); + background-image: -o-linear-gradient(top,#4d90fe,#357ae8); + background-image: linear-gradient(top,#4d90fe,#357ae8); + filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#4d90fe',EndColorStr='#357ae8'); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#4d90fe', endColorstr='#357ae8')"; +} + +.commInput {display: inline-block;border: 1px solid #BBB; background:#FFF;height:20px;line-height:20px;word-wrap: break-word;overflow:hidden; + +margin:-1px 0;padding-left:3px;} +.commInput:hover{border-color:#4D90FE} + +/*---------------------- +footer +-----------------------*/ +#footer{height:50px;padding-top:10px;border-top:1px dashed #01229E; color:#999; padding-left:20px;padding-right:20px;} +#footer ul.left{ float:left; width:440px;} +#footer ul.left li{ clear:both;} +#footer ul.left a{line-height:20px; display:block; float:left; color:#999} +#footer ul.left em{ display:block; float:left; margin: 0 5px; width:5px; height:24px; line-height:20px;} +#footer ul.right{ float:right; width:440px;} +#footer ul.right li{text-align:right;line-height:23px;font-size: 12px;} +#footer ul.right li img{padding-right:6px;vertical-align:bottom;} + +/*---------------------------------------- +icon ʽ , icon +--------------------------------------*/ +.icon_downopen { + width:16px; height:4px; + background:url("/front/js/easyuiThemes/gray/images/menu_downarrow.png") no-repeat center; +} +.icon_menudown { + width:16px; height:4px; + background:url("/front/js/easyuiThemes/gray/images/menu_downarrow.png") no-repeat center; + margin-top: 14px;_margin-top: 8px; + margin-left: 5px; +} +.icon_account { + background:url("/front/js/easyuiThemes/icons/user-group2.gif") no-repeat center; + margin: 6px 5px; +} +.icon_meal { + background:url("/front/js/easyuiThemes/icons/user-ruby.png") no-repeat center; + margin: 6px 5px; +} +.icon_good { + background:url("/front/js/easyuiThemes/icons/user-cart.png") no-repeat center; + margin: 6px 5px; +} +.icon_userdetail { + background:url("/front/js/easyuiThemes/icons/user-comment-blue.gif") no-repeat center; + margin: 6px 5px; +} +.icon_selfservice { + background:url("/front/js/easyuiThemes/icons/car.png") no-repeat center; + margin: 6px 5px; +} +.icon_roadbook { + background:url("/front/js/easyuiThemes/icons/book.gif") no-repeat center; + margin: 6px 5px; +} +.icon-equiponline{ + background:url('/front/js/easyuiThemes/icons/status_online.png') no-repeat; +} +.icon-equipoffline{ + background:url('/front/js/easyuiThemes/icons/status_offline.png') no-repeat; +} + +.book-down{ + background:url('/front/js/easyuiThemes/icons/bookdown.png') no-repeat; +} +.book-share{ + background:url('/front/js/easyuiThemes/icons/bookshare.png') no-repeat; +} + +/****************************ݶstart***********************/ +.searchpop {width:23px; height:32px; font-size:16px; line-height:16px; font-weight:bold; } +.searchpop_1 {background:url("/mapService/img/popple_1.png") no-repeat center;} +.searchpop_2 {background:url("/mapService/img/popple_2.png") no-repeat center;} +.searchpop_3 {background:url("/mapService/img/popple_3.png") no-repeat center;} +.searchpop_4 {background:url("/mapService/img/popple_4.png") no-repeat center;} +.searchpop_5 {background:url("/mapService/img/popple_5.png") no-repeat center;} +.searchpop_6 {background:url("/mapService/img/popple_6.png") no-repeat center;} +.searchpop_7 {background:url("/mapService/img/popple_7.png") no-repeat center;} +.searchpop_8 {background:url("/mapService/img/popple_8.png") no-repeat center;} +.searchpop_9 {background:url("/mapService/img/popple_9.png") no-repeat center;} +.searchpop_10 {background:url("/mapService/img/popple_10.png") no-repeat center;} +.searchpop_11 {background:url("/mapService/img/popple_11.png") no-repeat center;} +.searchpop_12 {background:url("/mapService/img/popple_12.png") no-repeat center;} +.searchpop_13 {background:url("/mapService/img/popple_13.png") no-repeat center;} +.searchpop_14 {background:url("/mapService/img/popple_14.png") no-repeat center;} +.searchpop_15 {background:url("/mapService/img/popple_15.png") no-repeat center;} +.searchpop_16 {background:url("/mapService/img/popple_16.png") no-repeat center;} +.searchpop_17 {background:url("/mapService/img/popple_17.png") no-repeat center;} +.searchpop_18 {background:url("/mapService/img/popple_18.png") no-repeat center;} +.searchpop_19 {background:url("/mapService/img/popple_19.png") no-repeat center;} +.searchpop_20 {background:url("/mapService/img/popple_20.png") no-repeat center;} + +/****************************ݶend**********************/ + +/***********************бstart***************************************/ +/* +div,table,form,h5,p,h6{ text-align:left;font-family:Arial,;font-size:12px;padding:0;margin:0;border:0;line-height:22px;} +ul,li,ol,form,label{ margin:0;padding:0;list-style:none;} +input{ display:inline;vertical-align:middle;} +img,a{ border:0;margin:0;padding:0; display:inline; vertical-align:middle;} + +a{color:#4f4f4f; cursor:pointer;} +*/ +.mesWindow{border:#000 1px solid;background:#fff;padding: 7px;} +.mesWindowTop{width:100%;height:34px;background:#0a82d4;} +.mesWindowtitle{font-weight:bold;text-indent:15px;line-height:34px;float:left;color:#fff;font-size:16px;} +.mesWindowclose{float:right;margin:10px 5px 0 0;} +html>/**/body .mesWindowclose{margin:10px 10px 0 0;} +*+html .mesWindowclose{margin:10px 10px 0 0;} +.mesWindowclose a{width:14px;height:14px;display:block;background:url(../img/close_login.gif) no-repeat;} +.city_type{width:688px;height:35px;border-top:1px solid #d5d5d5;margin:12px 0 0 10px;} +ul.city_type li{padding:0px 4px;margin:5px 0;float:left;text-align:center;background:#fff;border:1px solid #a2c6da;} +ul.city_type li.first{border:none; font-size:14px;font-weight:bold;} +ul.city_type li.or{font-weight:bold;background:#e7e7e7;} +ul.city_type li a{ color:#5c5c5c; text-decoration:none;} +ul.city_type li a:hover{ color:#5c5c5c; text-decoration:none;} +.mesWindowContent{font-size:12px;height:350px; overflow:auto;overflow-x:hidden;float:left;padding-right:20px;} +.mesWindowContent ul{ padding:0; margin:0; margin:3px 0; width:670px;white-space:nowrap; float:left;} +.mesWindowContent ul li{ float:left; list-style:none;margin:0 0 4px 11px;padding:0;} +.letters{color:#5c5c5c;font-weight:bold;font-size:13px;display:block;float:left;} +.red{color:#5c5c5c;} + +.hotcitytitle{margin:10px 0 0 10px; font-size:14px;font-weight:bold;} +ul.hotcityul{ width:658px; height:35px; line-height:35px; margin-left:12px;margin-left:10px;} +ul.hotcityul li{ display:block;float:left; width:41px;} +.ch_inpput{ width:220px;height:18px;line-height:18px;} +ul.inputlist{ position:absolute;left:0;top:23px;border:1px solid #ccc;width:222px;z-index:2;background:#fff;} +ul.inputlist li{height:20px;width:220px;text-indent:2px;} +/***********************бend***************************************/ + + +/***************************ͷ head start*********************************/ +.bg {background:url(../img/head_bg.gif) repeat-x; } +#head,.services{ width:90%; margin:0 auto;} +#head{ height:63px; } +#logo { margin-top: 15px;float: left;} +#welcome a {color: blue;} + +/*-----------------menu----------------------------*/ +#menu{font-weight: bold;float: right; right: 70px;padding-top: 31px;display: inline;} +#menu ul{float:left;} +#menu ul li {clear:both;display: inline;} +#menu ul em{display:block; margin: 0 5px;width:5px;float:left; padding-top: 3px;color:#999;} +#menu ul a:link {color:#999;text-decoration: none;float:left;width:70px;background:none;padding-top: 5px;} +#menu ul a {display:block;text-align:center;float:left;color:#12519E;width:70px;background: url(../img/menu_select_.gif) no-repeat center;padding-top: 5px;height:25px;padding-bottom:0px;} +#menu ul a:visited {color:#999; text-decoration: none;background:none; padding-top: 5px;} +#menu ul a:hover {background: url(../img/menu_select_.gif) no-repeat center;color:#12519E;text-decoration: none;float:left;width:70px;padding-top: 5px;} +#menu ul a:active {color:#12519E;text-decoration: none;background:none;padding-top: 5px;} +/*-----------------menu finish-------------------*/ + +#menu {float: right;} +.menunav {height: 30px;border: 0px; background: #F0F0F0} +ul.navMenu li {margin-left: 5px;float: left;cursor: pointer;z-index: 101;} +ul.navMenu li a {vertical-align: middle; height: 30px; line-height: 30px; padding: 0 20px 0 10px; display: inline-block;} +ul.navMenu a:active, .menunav ul a:focus {outline-style:none;} +ul.navMenu li:hover a { + background-image: -ms-linear-gradient(top,#F3F3F3,#E0E0E0); + background-image: -moz-linear-gradient(top,#F3F3F3,#E0E0E0); + background-image: -o-linear-gradient(top,#F3F3F3,#E0E0E0); + background-image: -webkit-gradient(linear,left top,left bottom,from(#F3F3F3),to(#E0E0E0)); + background-image: -webkit-linear-gradient(top,#F3F3F3,#E0E0E0); + background-image: linear-gradient(top,#F3F3F3,#E0E0E0); + filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#F3F3F3', endColorstr='#E0E0E0'); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#F3F3F3', endColorstr='#E0E0E0')"; +} + +ul.navMenu li a.sel { + color:blue; + background-image: -ms-linear-gradient(top,#FFFFFF,#C3C3C3); + background-image: -moz-linear-gradient(top,#FFFFFF,#C3C3C3); + background-image: -o-linear-gradient(top,#FFFFFF,#C3C3C3); + background-image: -webkit-gradient(linear,left top,left bottom,from(#FFFFFF),to(#C3C3C3)); + background-image: -webkit-linear-gradient(top,#FFFFFF,#C3C3C3); + background-image: linear-gradient(top,#FFFFFF,#C3C3C3); + filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#FFFFFF', endColorstr='#C3C3C3'); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#FFFFFF', endColorstr='#C3C3C3')"; +} +ul.navMenu li:hover div {display:block;} +ul.navMenu li:hover {position:relative;} + +.subs {z-index: 101; background: #F0F0F0;border: 1px solid lightGrey; display:none; float:left; left:0; padding:3px 3px; position:absolute; top:100%; *top: 80%; width:150px;} +.subs .col {height: 18px;line-height:18px; padding-left: 20px;} +.subs .col:hover {background: #FAFAFA;} + +/***************************ͷ head end*********************************/ + + +/******************************β footer start********************************************/ +#footer{height:50px;padding-top:10px;border-top:1px dashed #01229E;color:#999;padding-left:20px;padding-right:20px;background-color: #FFFFFF;} +#footer ul.left{ float:left; width:440px;} +#footer ul.left li{ clear:both;} +#footer ul.left a{line-height:20px;display:block;float:left;color:#999} +#footer ul.left em{ display:block; float:left; margin: 0 5px; width:5px; height:24px; line-height:20px;} +#footer ul.right{ float:right; width:440px;} +#footer ul.right li{text-align:right;line-height:23px;font-size: 12px;} +#footer ul.right li img{padding-right:6px;vertical-align:bottom;} +/******************************β footer end********************************************/ + +/**************************************MAPͼ ҳ start***************************************/ +article.comm {border: 1px solid lightGrey;margin: 1px 2px; height:565px;} +article.mapleft, aside.mapright {position:relative; border: 1px solid lightGrey;margin: 1px 2px; background: #FFF;z-index: 1} +article.mapleft {float: left; width: 300px;} +aside.mapright {margin-left: 310px;} /*-moz-user-select:none;-webkit-user-select:none;-khtml-user-select: none;user-select:none*/ +article.mapleft header, aside.mapright header, article.comm header, .commHeader { + height:30px;line-height:30px;padding-left: 12px; + background-image: -webkit-gradient(linear,left bottom,left top,from(#FFF),to(#E9E9E9)); + background-image: -webkit-linear-gradient(top,#FFF,#E9E9E9); + background-image: -ms-linear-gradient(top,#FFF,#E9E9E9); + background-image: -moz-linear-gradient(top, #FFF, #E9E9E9); + background-image: -o-linear-gradient(top, #FFF, #E9E9E9); + background-image: linear-gradient(top,#FFF,#E9E9E9); + filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#FFFFFF', endColorstr='#E9E9E9'); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#FFFFFF', endColorstr='#E9E9E9')"; +} +article.mapleft section {position: relative;padding: 2px 3px;} +article.mapleft section header {height: 30px;line-height: 30px;vertical-align:middle; background: #FFF;filter:none;} +.mapTab2 { + position:absolute; top:5px; right:220px; font-size:12px; *margin-top:1px; + background-color:#fff; padding:1px 5px; border:1px solid blue; cursor:pointer; + -moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px; + -moz-user-select: none; -khtml-user-select: none; user-select: none; +} + +.MFMP_pngImg0 {display: none;} +.MFMP_MAPTOOLS_rightMenuCont1 {display: none;} + +ul.mapinner {width: 164px;padding:0;text-align: center; display:inline} +ul.mapinner li {width: 72px;height: auto;line-height: 22px;border: 1px solid black;background: white;display: inline;float: right;margin: 0 4px;text-align: center;cursor: pointer;} +ul.mapinner li ul.mapinner1 {width: 72px;padding: 0;line-height: 22px;display:none} +ul.mapinner li ul.mapinner1 li {width: 72px;background: white;border: none;margin: 0;line-height: 22px;height: 22px;} +/**************************************MAPͼ ҳ end***************************************/ + +/*************************************tabs start***********************************************/ +.navi_tabs {position: relative; margin-top:2px; display:block;background: #FFF;z-index:1;} +.navi_tabs .navi_tabs_head{position: relative; height: 30px;padding:0 5px;background: #F0F0F0; z-index:7;} +.navi_tabs ul.navi_tabs_head li{cursor: pointer;float:left;height: 27px!important;line-height: 27px!important;height: 28px;line-height: 28px;margin-right: 5px;padding: 0px 5px; + border: 1px solid lightGrey;border-bottom: 0px none; *display:inline; zoom:1; + -webkit-border-top-left-radius:5px; -webkit-border-top-right-radius:5px; -moz-border-radius-topleft:5px; -moz-border-radius-topright:5px; border-top-left-radius:5px;border-top-right-radius:5px; + background-image: -webkit-gradient(linear,left bottom,left top,from(#FFF),to(#E9E9E9)); + background-image: -webkit-linear-gradient(top,#FFF,#E9E9E9); + background-image: -ms-linear-gradient(top,#FFF,#E9E9E9); + background-image: -moz-linear-gradient(top, #FFF, #E9E9E9); + background-image: -o-linear-gradient(top, #FFF, #E9E9E9); + background-image: linear-gradient(top,#FFF,#E9E9E9); + filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#FFFFFF', endColorstr='#E9E9E9'); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#FFFFFF', endColorstr='#E9E9E9')"; +} +.navi_tabs ul.navi_tabs_head li:hover {position: relative; z-index:12;background: #F7F8E0; filter: none;-ms-filter: none;} +.navi_tabs ul.navi_tabs_head li.current { cursor: default;font-weight: bold;background: #FFF;border-bottom: 0px none;filter: none;-ms-filter: none;border-bottom:none; height:30px!important;} +.navi_tabs div.navi_tabs_body{position:relative; margin-top:1px; background-color: #FFF; display:none; z-index:5} +/****************************************tabs end********************************************/ + + +/*-------------------------------------------------------------------------- +Ҳ Ժ޸Ĵ˴滻 +----------------------------------------------------------------------------*/ +#inDiv1{margin:0 auto;width:95%;display: block;overflow: auto;margin-top: 10px;} +#inDiv1 h2{height:27px;font-size:12px;line-height:23px; margin-bottom:1px; color: #355FAC; padding-top:3px;background: url(../img/s_bg.jpg);} +#inDiv1 h2 em{background:url(../../331/img/icon.png) no-repeat 0 -514px;display:block;float:left;width:16px;height:20px;margin-left:3px;} +#inDiv1 ul{padding: 0px;list-style-type: none;margin-top: 20px;margin-right: 0px;margin-bottom: 0px;margin-left: 50px;} +#inDiv1 li{margin-bottom: 10px;width: 100%;float: left;height: 30px;} +#inDiv1 li h1{font-size: 14px;font-weight: bold;float: left;width: 140px;text-align: right;color: #000;line-height: 23px;margin: 0px;padding: 0px;} + +#inDiv1 li span{font-size: 12px;font-weight: normal;width: 120px;color: #000;line-height: 23px;height: 23px;margin: 0px;padding: 0px;} + +#inDiv1 li input{height: 23px;width: 210px;float: left;margin-right: 10px;border: 1px solid #cccccc;padding: 0px;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;line-height: 23px;} + +#inDiv1 td{height:25px; line-height:25px; padding-left:10px;margin:auto;} +#inDiv1 td a{padding-right:10px;} +.box_button{margin-top: 5px;margin-left:50px;width:100px;} +.box_b{font-size: 12px;margin-left: 30px;} + +/*---------------------------------------- +Զʽ +--------------------------------------*/ +.floatContainer {position: absolute;top:0px;left:0px;display: none;} + +.tip { border-style: solid; border-width: thin; border-color: #005CB5; width:220px;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;} +.tipTitle { background-color: #005CB5; padding: 5px 10px; clear: both; overflow:auto; zoom:1; + -webkit-border-top-left-radius:5px; -webkit-border-top-right-radius:5px; -moz-border-radius-topleft:5px; -moz-border-radius-topright:5px; border-top-left-radius:5px;border-top-right-radius:5px; +} + +.tipTitleContent {float:left;color: #ffffff;font-size: 14px;font-weight: bolder;} +.close{float:right; width:20px; height:20px;background:url('/mapService/img/close.gif') no-repeat;cursor: pointer;} +.tipContent {background-color: #ffffff;font-size: 12px;padding: 5px; + -webkit-border-bottom-left-radius:5px; -webkit-border-bottom-right-radius:5px; -moz-border-radius-bottomleft:5px; -moz-border-radius-bottomright:5px;border-bottom-left-radius:5px;border-bottom-right-radius:5px; +} +.tipBottom {position: relative;} + +.tipBottom s {position:absolute;left:100px;display:block;height:0;width:0;border-color:#005CB5 transparent transparent transparent ;border-style:solid dashed dashed dashed ;border-width:20px 10px 10px 10px;} + +.tipBottom i {position:absolute;top:-2px;*top:-4px;left:100px;display:block;height:0;width:0;border-color:#ffffff transparent transparent transparent ;border-style:solid dashed dashed dashed ;border-width:20px 10px 10px 10px;} + +.market {position: relative; top:20px; left:101px; *left:102px; background-color: transparent; color: transparent; background: url("/mapService/img/marke.png") no-repeat; +_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="/mapService/img/marke.png"); height: 30px; width: 25px; overflow: hidden; cursor: pointer;} + +/***2222**/ +.naviMarket {position:absolute;display:inline-block; width:342px!important; width:340px; height:auto; color:#000;} +.naviMarketImg {margin:0 auto; margin-top:30px;} +.naviMarketImageNoraml{ background: url("/mapService/img/marke.png") no-repeat; height: 30px;width: 25px;} +.naviMarketCont {position:relative;} +.naviMarketContMain {border:1px solid #000; background:#FFF} +.naviMarketContTitle {height:34px!important;height:32px;line-height:32px;padding:0 10px;} +.naviMarketContDetail {margin: 8px;} +.naviMarketTipBottom {position:relative;} +.naviMarketTipBottomInner {position:absolute; left:154px;top:-2px;width: 0;height:0; border-color:#FFF transparent transparent transparent ;border-style:solid dashed dashed dashed ;border-width:30px 15px 15px 15px;display:inline-block; line-height:0;} +.naviMarketTipBottomWaper {position:absolute; left:154px;width: 0;height:0; border-color:#000 transparent transparent transparent ;border-style:solid dashed dashed dashed ;border-width:30px 15px 15px 15px;display:inline-block; line-height:0;} + + +/*---------------------------------------------- +background +*-----------------------------------------*/ + +.navi_comm_bg {position:fixed;top:0;left:0;width:100%;height:100%;background-color:#CCC;z-index:200;filter:alpha(opacity=50);-moz-opacity:0.5;-webkit-opacity:0.5;opacity:0.5;display: none;} +* html .navi_comm_bg {_position:absolute;height:expression(documentElement.clientHeight); left:expression(documentElement.scrollLeft + documentElement.clientWidth - this.offsetWidth); top: expression(documentElement.scrollTop + documentElement.clientHeight - this.offsetHeight);} +/*---------------------------------------------- + ܶര dialog msgbox(alert, confirm) +*-----------------------------------------*/ +.submitBtn,.cancleBtn {height:25px!important;margin:0 50px!important;font-size:14px; font-weight:bold;letter-spacing:2px;} +.divInputWrap {position:relative; border:solid 1px #CCC; width:500px;clear: both;zoom: 1;} +.divInputMember {border:none 0px #FFF; height:20px; line-height:20px; margin:0 3px; zoom: 1;display:inline-block; *display:inline;} + +/*** msgbox **/ +div.navi_msgbox_main {position:absolute; width:400px;left:50%; top:20%; margin-left:-200px; + background-color:#fff;border:1px solid #CCC;overflow:visible; z-index:250; display:none; + border: 1px solid #C6C6C6 !important; + -webkit-box-shadow:0px 2px 4px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 0px 2px 4px rgba(0,0,0,0.3); + box-shadow: 0px 2px 4px rgba(0,0,0,0.3); } +div.navi_msgbox_title {height:34px!important;height:36px;line-height:34px;border-bottom:soild 1px #CCC; + font-size:18px; font-weight:bold;vertical-align:middle;color:#FFF;cursor:move; padding-left:20px; + text-shadow: 0 -2px 1px #142B45; -moz-text-shadow: 0 -2px 1px #142B45; -webkit-text-shadow: 0 -2px 1px #142B45; + -moz-user-select:none;-webkit-user-select:none;user-select:none;background:#3C6FB0; + background-image: -moz-linear-gradient(top, #3C6FB0, #244B95); + background-image: -webkit-gradient(linear, left top, left bottom, from(#3C6FB0), to(#244B95)); + background-image: -webkit-linear-gradient(top,#3C6FB0,#244B95); + background-image: -moz-linear-gradient(top,#3C6FB0,#244B95); + background-image: -ms-linear-gradient(top,#3C6FB0,#244B95); + background-image: -o-linear-gradient(top,#3C6FB0,#244B95); + background-image: linear-gradient(top,#3C6FB0,#244B95); + filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#3C6FB0', endColorstr='#244B95'); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#3C6FB0', endColorstr='#244B95')"; + } +div.navi_msgbox_close {position:absolute; top:0px; right:0px; text-align:center; width:30px; cursor:pointer} +div.navi_msgbox_close:hover {text-shadow: 0 0 4px rgba(255, 255, 0, 0.8); -moz-text-shadow: 0 0 4px rgba(255, 255, 0, 0.8); -webkit-text-shadow: 0 0 4px rgba(255, 255, 0, 0.8);} +div.navi_msgbox_content {margin:20px;} +div.navi_msgbox_content * {margin: 2px 0;} +div.navi_msgbox_footer {margin:10px auto;text-align: center;} +.normalMsg,.errorMsg,.warnMsg,.normalConfirm,.normalCenter {margin:0 auto;text-align: center;} +div.normalConfirm .prompt {font-weight:bold; font-size:115%} +div.errorMsg {color:red} +div.warnMsg {color:#00F} + +/*** dialog **/ +div.navi_dialog_main {position:absolute; width:400px;left:50%; top:20%; margin-left:-200px; + background-color:#fff;overflow:visible; z-index:201; display:none ; + border: 1px solid #C6C6C6 !important; + -webkit-box-shadow:0px 2px 4px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 0px 2px 4px rgba(0,0,0,0.3); + box-shadow: 0px 2px 4px rgba(0,0,0,0.3); } +div.navi_dialog_title {height:34px!important;height:36px;line-height:34px;border-bottom:soild 1px #CCC; + font-size:18px; font-weight:bold;vertical-align:middle;color:#FFF;cursor:move; padding-left:20px; + text-shadow: 0 -2px 1px #142B45; -moz-text-shadow: 0 -2px 1px #142B45; -webkit-text-shadow: 0 -2px 1px #142B45; + -moz-user-select:none;-webkit-user-select:none;user-select:none;background:#3C6FB0; + background-image: -moz-linear-gradient(top, #3C6FB0, #244B95); + background-image: -webkit-gradient(linear, left top, left bottom, from(#3C6FB0), to(#244B95)); + background-image: -webkit-linear-gradient(top,#3C6FB0,#244B95); + background-image: -moz-linear-gradient(top,#3C6FB0,#244B95); + background-image: -ms-linear-gradient(top,#3C6FB0,#244B95); + background-image: -o-linear-gradient(top,#3C6FB0,#244B95); + background-image: linear-gradient(top,#3C6FB0,#244B95); + filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#3C6FB0', endColorstr='#244B95'); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#3C6FB0', endColorstr='#244B95')"; + } +div.navi_dialog_close {position:absolute; top:0px; right:0px; text-align:center; width:30px; cursor:pointer} +div.navi_dialog_close:hover {text-shadow: 0 0 4px rgba(255, 255, 0, 0.8); -moz-text-shadow: 0 0 4px rgba(255, 255, 0, 0.8); -webkit-text-shadow: 0 0 4px rgba(255, 255, 0, 0.8);} +div.navi_dialog_content {margin:20px;line-height:23px;} +div.navi_dialog_content input {margin: 2px 0;} +div.navi_dialog_footer {margin:10px auto;text-align: center;} + +.roundSearchKeys {margin:0 2px;} +.roundSearchKeys a {color:#00F; margin:0 3px;} + +/*------------------------------------------------------- + Žmargin:8px auto;width:820px; +--------------------*/ + +div.progressBarWrap {position:relative;height:16px!important;height:18px;margin:0 auto;padding:1px; +border: 1px solid #999;} + + +div.progressBarBase {position:absolute;height:16px;background:#CCC; cursor:pointer; +background-image: -moz-linear-gradient(top, #AAA, #FFF); +background-image: -webkit-gradient(linear, left top, left bottom, from(#AAA), to(#FFF)); +background-image: -webkit-linear-gradient(top,#AAA,#FFF); +background-image: -moz-linear-gradient(top,#AAA,#FFF); +background-image: -ms-linear-gradient(top,#AAA,#FFF); +background-image: -o-linear-gradient(top,#AAA,#FFF); +background-image: linear-gradient(top,#AAA,#FFF); +filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#AAAAAA', endColorstr='#FFFFFF'); +-ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#AAAAAA', endColorstr='#FFFFFF')"; +} +div.progressBarActive {position:absolute;height:16px;background:#E7FF9E; cursor:pointer; +background-image: -moz-linear-gradient(top, #02DF82, #D7FFEE); +background-image: -webkit-gradient(linear, left top, left bottom, from(#02DF82), to(#D7FFEE)); +background-image: -webkit-linear-gradient(top,#02DF82,#D7FFEE); +background-image: -moz-linear-gradient(top,#02DF82,#D7FFEE); +background-image: -ms-linear-gradient(top,#02DF82,#D7FFEE); +background-image: -o-linear-gradient(top,#02DF82,#D7FFEE); +background-image: linear-gradient(top,#02DF82,#D7FFEE); +filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#02DF82', endColorstr='#D7FFEE'); +-ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#02DF82', endColorstr='#D7FFEE')"; +} + +/**-------------------------------------------------- +ײϢ +-------------------------------------------**/ +.GlobalMsgBar { + position: fixed;bottom:0; right:0; + height:25px!important;height:28px;line-height:25px;background-color: #E6E6E; + border:1px solid #D4D4D4;border-top:2px solid #F16101;width:200px; +} +.GlobalMsgName {position:relative; + margin-left:10px;color:#E28822;letter-spacing:1px;font-size:120%;font-weight:bold; +} +a.GlobalMsgNum {position:absolute; bottom:3px; z-index:101; display: inline-block; font-weight:bold;font-size:120%;color:#808080; + padding: 0 6px;line-height:18px;border: 1px solid #CCC; + border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;-khtml-border-radius:3px; +} +a.GlobalMsgNum:hover { + text-decoration:none;border-top: 0px none #FFF;padding-top:4px;background:#FFF; /*color:#FFF;background:#F16101;*/ +} +.GlobalMsgPlat { + position: absolute;right:0;bottom:25px; z-index:100; width:300px;background:#FFF; + border: 1px solid #516166;border-top:2px solid #F16101;color: #0092D2; +} +.GlobalMsgPlat .GlobalMsgPlatTitle { + background: #EFEFEF;color: #3E3E3E;height:24px;line-height: 24px; +} + +.GlobalMsgPlat .GlobalMsgPlatTitleRight { + float:right;font-weight:bold;margin-right:5px;color:#AAA; cursor:pointer; +} +.GlobalMsgPlat .GlobalMsgPlatOper { + height:30px;line-height:30px; padding: 0 10px; border-bottom:1px solid #CCC; +} + +.GlobalMsgPlatOper a {float:right; color:#0092D2;} +.GlobalMsgPlatOper a:hover {text-decoration:none;color:#F16101} +.GlobalMsgPlat .GlobalMsgPlatList {height:340px; padding: 0 10px;} +.GlobalMsgPlatList .GlobalMsgPlatRow {margin:0 -10px; } + +/*------------------------------------------------------ +ͨʾͷʽ +----------------------------------------------*/ +.naviListTitle { + height:30px;line-height:30px;padding-left: 14px; + border-bottom: 1px solid #D3D3D3; + background-image: -webkit-gradient(linear,left bottom,left top,from(#FFF),to(#E9E9E9)); + background-image: -webkit-linear-gradient(top,#FFF,#E9E9E9); + background-image: -ms-linear-gradient(top,#FFF,#E9E9E9); + background-image: -moz-linear-gradient(top, #FFF, #E9E9E9); + background-image: -o-linear-gradient(top, #FFF, #E9E9E9); + background-image: linear-gradient(top,#FFF,#E9E9E9); + filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#FFFFFF', endColorstr='#E9E9E9'); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#FFFFFF', endColorstr='#E9E9E9')"; +} + +/*---------------------------------------------- +class +------------------------------------------*/ +.absolute {position: absolute!important;} +.relative {position: relative!important;} + +.yScroll {overflow-y: scroll!important;} +.xScroll {overflow-x: scroll!important;} + +.yNoScroll {overflow-y: hidden!important;} +.xNoScroll {overflow-x: hidden!important;} +.noScroll {overflow:hidden!important;} + +.alignLeft {text-align:left} +.alignCenter {text-align:center} +.alignRight {text-align:right} + +.mgTop5 {margin-top: 5px} +.mgTop10 {margin-top: 10px} +.mgLeft5 {margin-left: 5px} +.mgRight5 {margin-right: 5px} +.mgLeft10 {margin-left: 10px} +.mgRight10 {margin-right: 10px} +.mgBottom3 {margin-bottom: 3px} +.mgBottom5 {margin-bottom: 5px} +.mgBottom10 {margin-bottom: 10px} + +.autoheight {clear: both} + +input.notNull,textarea.notNull,select.notNull {margin-right:2px;} +.attention {color:#999} +.placeholder {color: #a9a9a9;} + +.bold {font-weight: bold!important;} +.bolder {font-weight: bolder!important;} +.lighter {font-weight: lighter!important;} + +.W_full {width: 100%} +.H_full {height: 100%} +.WH_full {width: 100%; height: 100%} + +.black {color: #000!important;} +.white {color: #fff!important;} +.red {color: #ff0000!important;} +.blue {color: #0000ff!important;} + +.left {float: left!important;display:inline!important;} +.right {float: right!important;display:inline!important;} + +.inline {display: inline!important;} +.block {display: block!important;} + +.left_pt30 {float:left; windth:30%; *width:29%} +.left_pt50 {float:left; width:50%; *width:49%} +.right_pt50 {float:right; width:50%} +.right_pt70 {float:right; width:70%} +.right_pt30 {float:right; width:30%} +.right_pt40 {float:right; width:40%} + +.opacity_10 {opacity:.1;filter:alpha(opacity=10);-webkit-opacity:0.1;-ms-filter:"alpha(opacity=10)";-khtml-opacity:.1;-moz-opacity:.1;} +.opacity_30 {opacity:.3;filter:alpha(opacity=30);-webkit-opacity:0.3;-ms-filter:"alpha(opacity=30)";-khtml-opacity:.3;-moz-opacity:.3;} +.opacity_50 {opacity:.5;filter:alpha(opacity=50);-webkit-opacity:0.5;-ms-filter:"alpha(opacity=50)";-khtml-opacity:.5;-moz-opacity:.5;} +.opacity_80 {opacity:.8;filter:alpha(opacity=80);-webkit-opacity:0.8;-ms-filter:"alpha(opacity=80)";-khtml-opacity:.8;-moz-opacity:.8;} +.opacity_90 {opacity:.9;filter:alpha(opacity=90);-webkit-opacity:0.9;-ms-filter:"alpha(opacity=90)";-khtml-opacity:.9;-moz-opacity:.9;} + +.radius_2 {border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-khtml-border-radius:2px;} +.radius_3 {border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;-khtml-border-radius:3px;} +.radius_5 {border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;-khtml-border-radius:5px;} + +.icon16 {width:16px; height:16px; line-height:16px;} +.icon18 {width:18px; height:18px; line-height:18px;} +.icon18 {width:20px; height:20px; line-height:20px;} \ No newline at end of file diff --git a/src/main/webapp/page/amap/css/jquery.autocomplete.css b/src/main/webapp/page/amap/css/jquery.autocomplete.css new file mode 100644 index 0000000..91b6228 --- /dev/null +++ b/src/main/webapp/page/amap/css/jquery.autocomplete.css @@ -0,0 +1,48 @@ +.ac_results { + padding: 0px; + border: 1px solid black; + background-color: white; + overflow: hidden; + z-index: 99999; +} + +.ac_results ul { + width: 100%; + list-style-position: outside; + list-style: none; + padding: 0; + margin: 0; +} + +.ac_results li { + margin: 0px; + padding: 2px 5px; + cursor: default; + display: block; + /* + if width will be 100% horizontal scrollbar will apear + when scroll mode will be used + */ + /*width: 100%;*/ + font: menu; + font-size: 12px; + /* + it is very important, if line-height not setted or setted + in relative units scroll will be broken in firefox + */ + line-height: 16px; + overflow: hidden; +} + +.ac_loading { + background: white url('indicator.gif') right center no-repeat; +} + +.ac_odd { + background-color: #eee; +} + +.ac_over { + background-color: #0A246A; + color: white; +} diff --git a/src/main/webapp/page/amap/css/placeSearch.css b/src/main/webapp/page/amap/css/placeSearch.css new file mode 100644 index 0000000..3a2b8fd --- /dev/null +++ b/src/main/webapp/page/amap/css/placeSearch.css @@ -0,0 +1,88 @@ +@CHARSET "UTF-8"; + +.amap_lib_placeSearch { + font-family: "Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif; + color: #565656; + font-size: 12px; + line-height: 22px; + word-wrap: break-word; + background-color: #fff; + border: 1px solid silver; +} +.amap_lib_placeSearch_list { + background: #fff; +} + +.amap_lib_placeSearch ul { + list-style: none; + margin: 0; + padding: 0; +} + +.amap_lib_placeSearch .poibox { + border-bottom: 1px solid #eaeaea; + cursor: pointer; + padding: 5px 0 0 10px; + position: relative; +} + +.amap_lib_placeSearch .amap_lib_placeSearch_poi { + position: absolute; +} +.amap_lib_placeSearch .poibox .poibox-icon { + margin-left: 7px; +} +.amap_lib_placeSearch_poi { + background: url(http://webapi.amap.com/theme/v1.3/markers/n/mark_b.png) no-repeat; + height: 31px; + width: 19px; + cursor: pointer; + left: -1px; + text-align: center; + color: #fff; + font: 12px arial,simsun,sans-serif; + padding-top: 3px; +} +.amap_lib_placeSearch .poibox .poi-title { + margin-left: 25px; + font-size: 13px; + overflow: hidden; +} +.amap_lib_placeSearch .poibox .poi-more { + color: #0091ff; + font-size: 12px; + line-height: 22px; + white-space: nowrap; + vertical-align: baseline; +} +.amap_lib_placeSearch .poibox .poi-info { + word-break: break-all; + margin: 0 0 0 25px; + overflow: hidden; +} +.amap_lib_placeSearch .poibox .poi-info p { + color: #999; + font-family: Tahoma; + line-height: 20px; +} + +.amap_lib_placeSearch .poibox.active, .amap_lib_placeSearch .poibox.hover, .amap_lib_placeSearch .poibox:hover { + background: #f6f6f6; +} + +.amap_lib_placeSearch h1, h2, h3, h4, h5 { + font-weight: 400; + margin: 0; +} +.amap_lib_placeSearch p { + margin: 0; +} + + + + + + + + + diff --git a/src/main/webapp/page/amap/js/cityDialog/citySearch.js b/src/main/webapp/page/amap/js/cityDialog/citySearch.js new file mode 100644 index 0000000..da4ca17 --- /dev/null +++ b/src/main/webapp/page/amap/js/cityDialog/citySearch.js @@ -0,0 +1,146 @@ +function CitySelect(){ + this.selectText=""; + this.selectIndex=""; + this.contextLen=0; +} +var citySelect = new CitySelect(); +jQuery(function(){ + + $("ul[id^='citySearchUl']>li").live("click",function(){ + + var indexNumber = jQuery(this).parent()[0].id.substr(this.id.length-1); + var inputv = jQuery(this).html(); + jQuery("#citySearchInput"+indexNumber).val(inputv); + jQuery("#citySearchUl"+indexNumber).hide(); + + }); + jQuery(":input[id^='citySearchInput']").live("focusin",function(event){ + var indexNumber = this.id.substr(this.id.length-1); + jQuery("#citysearcherror"+indexNumber).html(""); + + }); + jQuery(":input[id^='citySearchInput']").live("blur",function(event){ + var indexNumber = this.id.substr(this.id.length-1); + var LI = jQuery("#citySearchUl"+indexNumber+">li"); + if(LI.filter(".m_sel").size()==0){//第一个按,即判断li的样式没有被选中的 + jQuery("#citySearchUl"+indexNumber).hide(); + citySelect.selectIndex = 0; + }else{ + citySelect.selectText = jQuery.trim(LI.filter(".m_sel").html().split("<")[0]); + jQuery("#citySearchInput"+indexNumber).val(citySelect.selectText); + jQuery("#citySearchUl"+indexNumber).hide(); + citySelect.selectIndex = 0; + } + + }); + + jQuery(":input[id^='citySearchInput']").live("keyup",function(event){//输入后显示相关提示 + var keyCode = window.event ? event.keyCode : event.which; + var indexNumber = this.id.substr(this.id.length-1); + var showLI = ""; + var UL = jQuery("#citySearchUl"+indexNumber); + var LI = jQuery("#citySearchUl"+indexNumber+">li"); + + var str = city.tipMsg(jQuery.trim(this.value)); + + if(str==""){//没有结果直接返回 + UL.hide(); + return false; + } + + citySelect.contextLen = str.split("|").length; + var citys = new Array(); + for(var i=0;i"+str.split("|")[i].split(",")[0]+" ("+str.split("|")[i].split(",")[1]+")"; + if(i==9){ + break; + } + } + //citys.sort(); + //for(var i=0;i"+citys[i].split("#")[1]+" ("+citys[i].split("#")[0]+")"; + //} + if(str.split("|").length>0){//有结果显示 + + UL.html(showLI); + UL.show(); + }else{//无结果清楚以前的 + UL.html(""); + UL.hide(); + } + if (keyCode==40||keyCode==38) + {//用户操作:下&上 + + if(keyCode==40){//下 + if(LI.filter(".m_sel").size()==0){//第一个按,即判断li的样式没有被选中的 + citySelect.selectIndex = 0; + jQuery("#citySearchUl"+indexNumber+">li").first().addClass("m_sel"); + citySelect.selectText = jQuery.trim(jQuery("#citySearchUl"+indexNumber+">li").first().html().split("<")[0]); + + }else{ + if(citySelect.selectIndex<9 && citySelect.selectIndexli:eq("+citySelect.selectIndex+")").addClass("m_sel").siblings().removeClass("m_sel"); + citySelect.selectText = jQuery.trim(jQuery("#citySearchUl"+indexNumber+">li:eq("+citySelect.selectIndex+")").html().split("<")[0]); + + } + }else if(keyCode==38){//上 + if(LI.filter(".m_sel").size()==0){//第一个按,即判断li的样式没有被选中的 + UL.hide(); + }else{ + if(citySelect.selectIndex>0){ + citySelect.selectIndex--; + } + + jQuery("#citySearchUl"+indexNumber+">li:eq("+citySelect.selectIndex+")").addClass("m_sel").siblings().removeClass("m_sel"); + citySelect.selectText = jQuery.trim(jQuery("#citySearchUl"+indexNumber+">li:eq("+citySelect.selectIndex+")").html().split("<")[0]); + } + + } + }else if (keyCode==13) {//用户操作:回车 + + if (citySelect.selectText!=""){ + jQuery("#citySearchInput"+indexNumber).val(citySelect.selectText); + } + + jQuery("#citySearchUl"+indexNumber).hide(); + citySelect.selectText = ""; + } + + }); + + jQuery(":button[id^='citySearchBtn']").live("click",function(event){ + var indexNumber = this.id.substr(this.id.length-1); + var v = jQuery("#citySearchInput"+indexNumber).val(); + var reg = /^[\u4e00-\u9fa5]+$/i; + if(reg.test(jQuery.trim(v))){ + try{ + var testcity = city.ctn2c(jQuery.trim(v)); + if(!testcity){ + + jQuery("#citysearcherror"+indexNumber).html("请输入正确城市名称!"); + return false; + } + jQuery("#citysearcherror"+indexNumber).html(""); + setCurrentCity(jQuery.trim(v)); + if(indexNumber=='3'){//驾车的切换起点城市 + setDriverSC(jQuery.trim(v)); + }else if(indexNumber=='4'){//驾车的切换终点城市 + setDriverEC(jQuery.trim(v)); + } + var closeId = jQuery(this).parent().parent()[0].id; + closeWindow(closeId); + }catch(e){ + jQuery("#citysearcherror"+indexNumber).html("请输入正确城市名称!"); + } + + }else{ + jQuery("#citysearcherror"+indexNumber).html("请输入正确城市名称!"); + return false; + } + + }); +}); \ No newline at end of file diff --git a/src/main/webapp/page/amap/js/cityDialog/city_u.js b/src/main/webapp/page/amap/js/cityDialog/city_u.js new file mode 100644 index 0000000..31f0b13 Binary files /dev/null and b/src/main/webapp/page/amap/js/cityDialog/city_u.js differ diff --git a/src/main/webapp/page/amap/js/cityDialog/citylist.js b/src/main/webapp/page/amap/js/cityDialog/citylist.js new file mode 100644 index 0000000..b9f8127 --- /dev/null +++ b/src/main/webapp/page/amap/js/cityDialog/citylist.js @@ -0,0 +1,151 @@ + var isIe=(document.all)?true:false; + +if("undefined"==typeof citylist){ + var citylist={ + }; +} + +var layer_index ; + +citylist.hot_city = ["全国","北京","上海","广州","深圳","杭州","苏州","成都","济南","郑州","青岛","沈阳","天津","重庆","武汉","长沙"]; +citylist.city = { +"A":["安庆","鞍山","安阳","安康","安顺","阿坝藏族羌族自治州","阿拉善盟","阿里地区","阿克苏地区","阿勒泰地区","澳门"], +"B":["北京","保定","宝鸡","本溪","包头","蚌埠","北海","亳州","巴中","毕节地区","滨州","白城","白山","白银","博尔塔拉蒙古自治州","百色","白沙黎族自治县","保亭黎族苗族自治县","巴彦淖尔市","巴音郭楞蒙古自治州","保山"], +"C":["成都","重庆","长春","长沙","巢湖","潮州","常德","承德","常州","池州","滁州","郴州","赤峰","长治","沧州","朝阳","崇左","楚雄彝族自治州","昌吉回族自治州","昌江黎族自治县","澄迈县","昌都地区"], +"D":["大连","东莞","大庆","丹东","德州","德阳","东营","大同","定西","达州","大兴安岭地区","大理白族自治州","定安县","东方","东沙群岛","儋州","德宏傣族景颇族自治州","迪庆藏族自治州"], +"E":["鄂尔多斯","鄂州","恩施土家族苗族自治州"], +"F":["福州","佛山","抚顺","抚州","防城港","阜阳","阜新"], +"G":["广州","贵阳","桂林","赣州","贵港","广安","广元","甘孜藏族自治州","甘南藏族自治州","固原","果洛藏族自治州"], +"H":["衡阳","黄山","合肥","邯郸","惠州","杭州","海口","湖州","黄石","葫芦岛","哈尔滨","呼和浩特","淮北","淮南","淮安","河源","河池","贺州","黑河","黄冈","鹤壁","衡水","菏泽","怀化","鹤岗","呼伦贝尔","汉中","海东地区","海北藏族自治州","海南藏族自治州","红河哈尼族彝族自治州","黄南藏族自治州","哈密地区","和田地区","海西蒙古族藏族自治州"], +"I":[], +"J":["焦作","荆州","荆门","吉林","江门","揭阳","金华","金昌","嘉兴","九江","锦州","济南","佳木斯","景德镇","济宁","济源","吉安","晋城","晋中","酒泉","鸡西","嘉峪关"], +"K":["昆明","克拉玛依","开封","喀什地区","克孜勒苏柯尔克孜自治州"], +"L":["廊坊","乐山","柳州","洛阳","泸州","辽阳","辽源","陇南","连云港","聊城","临汾","临沂","丽水","六安","兰州","吕梁","娄底","拉萨","来宾","漯河","莱芜","龙岩","临夏回族自治州","凉山彝族自治州","六盘水","乐东黎族自治县","临高县","陵水黎族自治县","林芝地区","丽江","临沧市"], +"M":["茂名","梅州","眉山","绵阳","马鞍山","牡丹江"], +"N":["南京","南通","宁德","宁波","南宁","南昌","内江","南充","南平","南阳","南沙群岛","那曲地区","怒江傈僳族自治州"], +"O":[], +"P":["莆田","盘锦","平顶山","平凉","濮阳","攀枝花","萍乡","普洱"], +"Q":["青岛","泉州","秦皇岛","齐齐哈尔","七台河","庆阳","曲靖","清远","潜江","钦州","衢州","黔东南苗族侗族自治州","黔南布依族苗族自治州","黔西南布依族苗族自治州","琼海","琼中黎族苗族自治县"], +"R":["日照","日喀则地区"], +"S":["上海","韶关","汕头","汕尾","深圳","三亚","四平","苏州","十堰","沈阳","绍兴","邵阳","石家庄","绥化","随州","三明","三门峡","上饶","双鸭山","商丘","商洛","宿州","宿迁","山南地区","朔州","松原","石嘴山","石河子","遂宁","神农架林区"], +"T":["天津","太原","唐山","台州","泰州","泰安","吐鲁番地区","塔城地区","天水","天门","铁岭","通化","通辽","铜仁地区","铜陵","铜川","屯昌县"], +"U":[], +"V":[], +"W":["芜湖","无锡","温州","武汉","潍坊","威海","乌兰察布","乌海","吴忠","梧州","乌鲁木齐","武威","渭南","万宁","文昌","五指山","文山壮族苗族自治州"], +"X":["厦门","咸阳","西安","湘潭","襄阳","许昌","新乡","徐州","仙桃","信阳","孝感","忻州","新余","西宁","咸宁","宣城","邢台","兴安盟","西双版纳傣族自治州","湘西土家族苗族自治州","西沙群岛","锡林郭勒盟","香港"], +"Y":["宜宾","营口","阳江","延安","岳阳","玉溪","宜昌","盐城","烟台","扬州","伊春","榆林","玉林","益阳","云浮","运城","宜春","鹰潭","永州","银川","阳泉","雅安","伊犁哈萨克自治州","延边朝鲜族自治州","玉树藏族自治州"], +"Z":["漳州","珠海","湛江","肇庆","中山","株洲","郑州","舟山","镇江","自贡","淄博","资阳","张家界","张家口","遵义","驻马店","中卫","周口","张掖","昭通","枣庄","中沙群岛"] +}; + +citylist.hot_areacity = ["北京","上海","广州","深圳","杭州","苏州","成都","济南","郑州","青岛","沈阳","天津","重庆","武汉","长沙"]; +citylist.areacity = { +"直辖市":["北京","上海","天津","重庆"], +"澳门":["澳门"], +"安徽":["合肥","蚌埠","芜湖","马鞍山","安庆","黄山","巢湖","亳州","六安","宣城","宿州","池州","淮北","淮南","滁州","铜陵","阜阳"], +"福建":["福州","厦门","宁德","莆田","泉州","漳州","三明","南平","龙岩"], +"广东":["广州","深圳","珠海","佛山","肇庆","汕头","湛江","中山","潮州","东莞","汕尾岛","阳江","揭阳","茂名","江门","韶关","惠州","梅州","云浮","河源","清远"], +"广西":["南宁","柳州","桂林","北海","防城港","崇左","来宾","梧州","河池","玉林","贵港","贺州","钦州","百色"], +"贵州":["贵阳","安顺","毕节地区","遵义","铜仁地区","黔东南苗族侗族自治州","黔南布依族苗族自治州","六盘水","黔西南布依族苗族自治州"], +"甘肃":["兰州","天水","定西","平凉","庆阳","张掖","武威","白银","酒泉","金昌","陇南","临夏回族自治州","甘南藏族自治州","嘉峪关"], +"河北":["邯郸","石家庄","保定","张家口","承德","唐山","廊坊","秦皇岛","沧州","衡水","邢台"], +"河南":["郑州","安阳","新乡","许昌","平顶山","开封","洛阳","焦作","三门峡","信阳","南阳","周口","商丘","济源","漯河","濮阳","驻马店","鹤壁"], +"湖北":["武汉","襄阳","鄂州","黄石","荆州","宜昌","十堰","荆门","仙桃","咸宁","天门","孝感","潜江","随州","黄冈","神农架林区","恩施土家族苗族自治州"], +"湖南":["岳阳","长沙","湘潭","株洲","衡阳","常德","张家界","娄底","怀化","永州","益阳","邵阳","郴州","湘西土家族苗族自治州"], +"黑龙江":["哈尔滨","齐齐哈尔","牡丹江","大庆","佳木斯","七台河","伊春","双鸭山","大兴安岭地区","绥化","鸡西","鹤岗","黑河"], +"海南":["海口","三亚","白沙黎族自治县","保亭黎族苗族自治县","昌江黎族自治县","澄迈县","定安县","东方","东沙群岛","乐东黎族自治县","临高县","陵水黎族自治县","南沙群岛","琼海","琼中黎族苗族自治县","屯昌县","万宁","文昌","五指山","西沙群岛","中沙群岛","儋州"], +"吉林":["长春","吉林","四平","延边朝鲜族自治州","松原","白城","白山","辽源","通化"], +"江苏":["南京","无锡","镇江","苏州","南通","扬州","盐城","徐州","连云港","常州","泰州","宿迁","淮安"], +"江西":["南昌","九江","景德镇","吉安","宜春","抚州","新余","萍乡","赣州","鹰潭","上饶"], +"辽宁":["沈阳","大连","鞍山","抚顺","本溪","丹东","锦州","营口","辽阳","盘锦","葫芦岛","朝阳","铁岭","阜新"], +"内蒙":["呼和浩特","包头","乌兰察布","乌海","兴安盟","呼伦贝尔","赤峰","通辽","鄂尔多斯","阿拉善盟","巴彦淖尔市","锡林郭勒盟"], +"宁夏":["银川","中卫","吴忠","石嘴山","固原"], +"青海":["西宁","海东地区","海北藏族自治州","海南藏族自治州","果洛藏族自治州","黄南藏族自治州","玉树藏族自治州","海西蒙古族藏族自治州"], +"山西":["太原","临汾","吕梁","大同","忻州","晋中","晋城","朔州","运城","长治","阳泉"], +"山东":["济南","青岛","淄博","德州","烟台","潍坊","泰安","东营","威海","临沂","日照","枣庄","济宁","滨州","聊城","莱芜","菏泽"], +"陕西":["西安","咸阳","延安","宝鸡","商洛","安康","榆林","汉中","渭南","铜川"], +"四川":["成都","自贡","绵阳","泸州","宜宾","内江","资阳","乐山","眉山","凉山彝族自治州","南充","巴中","广元","广安","德阳","攀枝花","甘孜藏族自治州","达州","遂宁","阿坝藏族羌族自治州","雅安"], +"新疆":["乌鲁木齐","伊犁哈萨克自治州","克拉玛依","博尔塔拉蒙古自治州","吐鲁番","塔城地区","昌吉回族自治州","石河子","阿克苏地区","阿勒泰地区","巴音郭楞蒙古自治州","哈密地区","和田地区","喀什地区","克孜勒苏柯尔克孜自治州"], +"香港":["香港"], +"西藏":["拉萨","山南地区","日喀则地区","阿里地区","昌都地区","林芝地区","那曲地区"], +"云南":["昆明","玉溪","大理白族自治州","昭通","曲靖","楚雄彝族自治州","红河哈尼族彝族自治州","西双版纳傣族自治州","保山","德宏傣族景颇族自治州","迪庆藏族自治州","丽江","临沧市","怒江傈僳族自治州","普洱","文山壮族苗族自治州"], +"浙江":["杭州","嘉兴","绍兴","湖州","宁波","台州","温州","金华","舟山","丽水","衢州"] +}; + +function citylistBox(){ + var messContent = new Array(); + messContent.push("
                热门城市和地区
                "); + messContent.push("
                  ") + //热点城市 + for (var h = 0; h < citylist.hot_city.length ; ++ h){ + messContent.push("
                • " + citylist.hot_city[h] + "
                • "); + } + messContent.push("
                ") + messContent.push("
                  
                ") + messContent.push(""); + messContent.push("
                "); + + + //城市列表 + var cities = citylist.city; + for (var t in cities){ + if (cities[t].length > 0){ + messContent.push("
                • " + t + "
                • "); + for (var i = 0;i < cities[t].length; ++i){ + messContent.push(""); + } + messContent.push("
                "); + } + } + messContent.push("
                "); + //按地区排序 + messContent.push("
                "); + + //城市列表 + var cities = citylist.areacity; + for (var t in cities){ + if (cities[t].length > 0){ + messContent.push("
                • " + t + "
                • "); + for (var i = 0;i < cities[t].length; ++i){ + messContent.push(""); + } + messContent.push("
                "); + } + } + messContent.push("
                "); + messContent.push("
                "); + //页面层-自定义 + layer_index = layer.open({ + type: 1, + title: false, + shadeClose: true, + area: ['800px', '500px'], + content: messContent.join("") + }); +} + +function area(a,i){ + if(a=='0'){ + document.getElementById('area_li'+i).className =""; + document.getElementById('pin_li'+i).className ="or"; + document.getElementById('area'+i).style.display = "none"; + document.getElementById('pin'+i).style.display = "block"; + } + if(a=='1'){ + document.getElementById('area_li'+i).className ="or"; + document.getElementById('pin_li'+i).className =""; + document.getElementById('area'+i).style.display = "block"; + document.getElementById('pin'+i).style.display = "none"; + } +} + +function setCurrentCity(city){ + setMapCity(city); + layer.close(layer_index); +} + + +function search(){ + var city = $("#citySearchInput").val(); + setCurrentCity(city) +} + diff --git a/src/main/webapp/page/amap/js/jquery.autocomplete.js b/src/main/webapp/page/amap/js/jquery.autocomplete.js new file mode 100644 index 0000000..ab53431 --- /dev/null +++ b/src/main/webapp/page/amap/js/jquery.autocomplete.js @@ -0,0 +1,893 @@ +/* + * jQuery Autocomplete plugin 1.1 + * ԴԣԴ밮 http://www.codefans.net + * Copyright (c) 2009 Jörn Zaefferer + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + * + * Revision: $Id: jquery.autocomplete.js 15 2009-08-22 10:30:27Z joern.zaefferer $ + */ + +; +(function($) { + + $.fn.extend({ + autocomplete : function(urlOrData, options) { + var isUrl = typeof urlOrData == "string"; + options = $.extend({}, $.Autocompleter.defaults, { + url : isUrl ? urlOrData : null, + data : isUrl ? null : urlOrData, + delay : isUrl ? $.Autocompleter.defaults.delay : 10, + max : options && !options.scroll ? 10 : 150 + }, options); + + // if highlight is set to false, replace it with a do-nothing + // function + options.highlight = options.highlight || function(value) { + return value; + }; + + // if the formatMatch option is not specified, then use formatItem + // for backwards compatibility + options.formatMatch = options.formatMatch || options.formatItem; + + return this.each(function() { + new $.Autocompleter(this, options); + }); + }, + result : function(handler) { + return this.bind("result", handler); + }, + search : function(handler) { + return this.trigger("search", [ handler ]); + }, + flushCache : function() { + return this.trigger("flushCache"); + }, + setOptions : function(options) { + return this.trigger("setOptions", [ options ]); + }, + unautocomplete : function() { + return this.trigger("unautocomplete"); + } + }); + + $.Autocompleter = function(input, options) { + + var KEY = { + UP : 38, + DOWN : 40, + DEL : 46, + TAB : 9, + RETURN : 13, + ESC : 27, + COMMA : 188, + PAGEUP : 33, + PAGEDOWN : 34, + BACKSPACE : 8 + }; + + // Create $ object for input element + var $input = $(input).attr("autocomplete", "off").addClass( + options.inputClass); + + var timeout; + var previousValue = ""; + var cache = $.Autocompleter.Cache(options); + var hasFocus = 0; + var lastKeyPressCode; + var config = { + mouseDownOnSelect : false + }; + var select = $.Autocompleter.Select(options, input, selectCurrent, + config); + + var blockSubmit; + + // prevent form submit in opera when selecting with return key + $.browser.opera + && $(input.form).bind("submit.autocomplete", function() { + if (blockSubmit) { + blockSubmit = false; + return false; + } + }); + + // only opera doesn't trigger keydown multiple times while pressed, + // others don't work with keypress at all + $input.bind( + ($.browser.opera ? "keypress" : "keydown") + ".autocomplete", + function(event) { + // a keypress means the input has focus + // avoids issue where input had focus before the + // autocomplete was applied + hasFocus = 1; + // track last key pressed + lastKeyPressCode = event.keyCode; + switch (event.keyCode) { + + case KEY.UP: + event.preventDefault(); + if (select.visible()) { + select.prev(); + } else { + onChange(0, true); + } + break; + + case KEY.DOWN: + event.preventDefault(); + if (select.visible()) { + select.next(); + } else { + onChange(0, true); + } + break; + + case KEY.PAGEUP: + event.preventDefault(); + if (select.visible()) { + select.pageUp(); + } else { + onChange(0, true); + } + break; + + case KEY.PAGEDOWN: + event.preventDefault(); + if (select.visible()) { + select.pageDown(); + } else { + onChange(0, true); + } + break; + + // matches also semicolon + case options.multiple + && $.trim(options.multipleSeparator) == "," + && KEY.COMMA: + case KEY.TAB: + case KEY.RETURN: + if (selectCurrent()) { + // stop default to prevent a form submit, Opera + // needs special handling + event.preventDefault(); + blockSubmit = true; + return false; + } + break; + + case KEY.ESC: + select.hide(); + break; + + default: + clearTimeout(timeout); + timeout = setTimeout(onChange, options.delay); + break; + } + }).focus(function() { + // track whether the field has focus, we shouldn't process any + // results if the field no longer has focus + hasFocus++; + }).blur(function() { + hasFocus = 0; + if (!config.mouseDownOnSelect) { + hideResults(); + } + }).click(function() { + // show select when clicking in a focused field + if (hasFocus++ > 1 && !select.visible()) { + onChange(0, true); + } + }).bind( + "search", + function() { + // TODO why not just specifying both arguments? + var fn = (arguments.length > 1) ? arguments[1] : null; + function findValueCallback(q, data) { + var result; + if (data && data.length) { + for ( var i = 0; i < data.length; i++) { + if (data[i].result.toLowerCase() == q + .toLowerCase()) { + result = data[i]; + break; + } + } + } + if (typeof fn == "function") + fn(result); + else + $input.trigger("result", result + && [ result.data, result.value ]); + } + $.each(trimWords($input.val()), function(i, value) { + request(value, findValueCallback, findValueCallback); + }); + }).bind("flushCache", function() { + cache.flush(); + }).bind("setOptions", function() { + $.extend(options, arguments[1]); + // if we've updated the data, repopulate + if ("data" in arguments[1]) + cache.populate(); + }).bind("unautocomplete", function() { + select.unbind(); + $input.unbind(); + $(input.form).unbind(".autocomplete"); + }).bind("input", function() { + // @hack:support for inputing chinese characters in firefox + onChange(0, true); + }); + ; + + function selectCurrent() { + var selected = select.selected(); + if (!selected) + return false; + + var v = selected.result; + previousValue = v; + + if (options.multiple) { + var words = trimWords($input.val()); + if (words.length > 1) { + var seperator = options.multipleSeparator.length; + var cursorAt = $(input).selection().start; + var wordAt, progress = 0; + $.each(words, function(i, word) { + progress += word.length; + if (cursorAt <= progress) { + wordAt = i; + return false; + } + progress += seperator; + }); + words[wordAt] = v; + // TODO this should set the cursor to the right position, + // but it gets overriden somewhere + // $.Autocompleter.Selection(input, progress + seperator, + // progress + seperator); + v = words.join(options.multipleSeparator); + } + v += options.multipleSeparator; + } + + $input.val(v); + hideResultsNow(); + $input.trigger("result", [ selected.data, selected.value ]); + return true; + } + + function onChange(crap, skipPrevCheck) { + if (lastKeyPressCode == KEY.DEL) { + select.hide(); + return; + } + + var currentValue = $input.val(); + + if (!skipPrevCheck && currentValue == previousValue) + return; + + previousValue = currentValue; + + currentValue = lastWord(currentValue); + if (currentValue.length >= options.minChars) { + $input.addClass(options.loadingClass); + if (!options.matchCase) + currentValue = currentValue.toLowerCase(); + request(currentValue, receiveData, hideResultsNow); + } else { + stopLoading(); + select.hide(); + } + } + ; + + function trimWords(value) { + if (!value) + return [ "" ]; + if (!options.multiple) + return [ $.trim(value) ]; + return $.map(value.split(options.multipleSeparator), + function(word) { + return $.trim(value).length ? $.trim(word) : null; + }); + } + + function lastWord(value) { + if (!options.multiple) + return value; + var words = trimWords(value); + if (words.length == 1) + return words[0]; + var cursorAt = $(input).selection().start; + if (cursorAt == value.length) { + words = trimWords(value) + } else { + words = trimWords(value.replace(value.substring(cursorAt), "")); + } + return words[words.length - 1]; + } + + // fills in the input box w/the first match (assumed to be the best + // match) + // q: the term entered + // sValue: the first matching result + function autoFill(q, sValue) { + // autofill in the complete box w/the first match as long as the + // user hasn't entered in more data + // if the last user key pressed was backspace, don't autofill + if (options.autoFill + && (lastWord($input.val()).toLowerCase() == q.toLowerCase()) + && lastKeyPressCode != KEY.BACKSPACE) { + // fill in the value (keep the case the user has typed) + $input.val($input.val() + + sValue.substring(lastWord(previousValue).length)); + // select the portion of the value not typed by the user (so the + // next character will erase) + $(input).selection(previousValue.length, + previousValue.length + sValue.length); + } + } + ; + + function hideResults() { + clearTimeout(timeout); + timeout = setTimeout(hideResultsNow, 200); + } + ; + + function hideResultsNow() { + var wasVisible = select.visible(); + select.hide(); + clearTimeout(timeout); + stopLoading(); + if (options.mustMatch) { + // call search and run callback + $input.search(function(result) { + // if no value found, clear the input box + if (!result) { + if (options.multiple) { + var words = trimWords($input.val()).slice(0, -1); + $input.val(words.join(options.multipleSeparator) + + (words.length ? options.multipleSeparator + : "")); + } else { + $input.val(""); + $input.trigger("result", null); + } + } + }); + } + } + ; + + function receiveData(q, data) { + if (data && data.length && hasFocus) { + stopLoading(); + select.display(data, q); + autoFill(q, data[0].value); + select.show(); + } else { + hideResultsNow(); + } + } + ; + + function request(term, success, failure) { + if (!options.matchCase) + term = term.toLowerCase(); + var data = cache.load(term); + // recieve the cached data + if (data && data.length) { + success(term, data); + // if an AJAX url has been supplied, try loading the data now + } else if ((typeof options.url == "string") + && (options.url.length > 0)) { + + var extraParams = { + timestamp : +new Date() + }; + $.each(options.extraParams, function(key, param) { + extraParams[key] = typeof param == "function" ? param() + : param; + }); + + $.ajax({ + // try to leverage ajaxQueue plugin to abort previous + // requests + type : 'POST', + contentType: 'application/x-www-form-urlencoded; charset=gbk', + mode : "abort", + // limit abortion to this input + port : "autocomplete" + input.name, + dataType : options.dataType, + url : options.url, + data : $.extend({ + q : lastWord(term), + limit : options.max + }, extraParams), + success : function(data) { + var parsed = options.parse && options.parse(data) + || parse(data); + cache.add(term, parsed); + success(term, parsed); + }, + error : function(XMLHttpRequest, textStatus, errorThrown) { + + } + }); + } else { + // if we have a failure, we need to empty the list -- this + // prevents the the [TAB] key from selecting the last successful + // match + select.emptyList(); + failure(term); + } + } + ; + + function parse(data) { + var parsed = []; + var rows = data.split("\n"); + for ( var i = 0; i < rows.length; i++) { + var row = $.trim(rows[i]); + if (row) { + row = row.split("|"); + parsed[parsed.length] = { + data : row, + value : row[0], + result : options.formatResult + && options.formatResult(row, row[0]) || row[0] + }; + } + } + return parsed; + } + ; + + function stopLoading() { + $input.removeClass(options.loadingClass); + } + ; + + }; + + $.Autocompleter.defaults = { + inputClass : "ac_input", + resultsClass : "ac_results", + loadingClass : "ac_loading", + minChars : 1, + delay : 400, + matchCase : false, + matchSubset : true, + matchContains : false, + cacheLength : 10, + max : 100, + mustMatch : false, + extraParams : {}, + selectFirst : true, + formatItem : function(row) { + return row[0]; + }, + formatMatch : null, + autoFill : false, + width : 0, + multiple : false, + multipleSeparator : ", ", + highlight : function(value, term) { + return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + + term + .replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, + "\\$1") + ")(?![^<>]*>)(?![^&;]+;)", "gi"), + "$1"); + }, + scroll : true, + scrollHeight : 180 + }; + + $.Autocompleter.Cache = function(options) { + + var data = {}; + var length = 0; + + function matchSubset(s, sub) { + if (!options.matchCase) + s = s.toLowerCase(); + var i = s.indexOf(sub); + if (options.matchContains == "word") { + i = s.toLowerCase().search("\\b" + sub.toLowerCase()); + } + if (i == -1) + return false; + return i == 0 || options.matchContains; + } + ; + + function add(q, value) { + if (length > options.cacheLength) { + flush(); + } + if (!data[q]) { + length++; + } + data[q] = value; + } + + function populate() { + if (!options.data) + return false; + // track the matches + var stMatchSets = {}, nullData = 0; + + // no url was specified, we need to adjust the cache length to make + // sure it fits the local data store + if (!options.url) + options.cacheLength = 1; + + // track all options for minChars = 0 + stMatchSets[""] = []; + + // loop through the array and create a lookup structure + for ( var i = 0, ol = options.data.length; i < ol; i++) { + var rawValue = options.data[i]; + // if rawValue is a string, make an array otherwise just + // reference the array + rawValue = (typeof rawValue == "string") ? [ rawValue ] + : rawValue; + + var value = options.formatMatch(rawValue, i + 1, + options.data.length); + if (value === false) + continue; + + var firstChar = value.charAt(0).toLowerCase(); + // if no lookup array for this character exists, look it up now + if (!stMatchSets[firstChar]) + stMatchSets[firstChar] = []; + + // if the match is a string + var row = { + value : value, + data : rawValue, + result : options.formatResult + && options.formatResult(rawValue) || value + }; + + // push the current match into the set list + stMatchSets[firstChar].push(row); + + // keep track of minChars zero items + if (nullData++ < options.max) { + stMatchSets[""].push(row); + } + } + ; + + // add the data items to the cache + $.each(stMatchSets, function(i, value) { + // increase the cache size + options.cacheLength++; + // add to the cache + add(i, value); + }); + } + + // populate any existing data + setTimeout(populate, 25); + + function flush() { + data = {}; + length = 0; + } + + return { + flush : flush, + add : add, + populate : populate, + load : function(q) { + if (!options.cacheLength || !length) + return null; + /* + * if dealing w/local data and matchContains than we must make + * sure to loop through all the data collections looking for + * matches + */ + if (!options.url && options.matchContains) { + // track all matches + var csub = []; + // loop through all the data grids for matches + for ( var k in data) { + // don't search through the stMatchSets[""] (minChars: + // 0) cache + // this prevents duplicates + if (k.length > 0) { + var c = data[k]; + $.each(c, function(i, x) { + // if we've got a match, add it to the array + if (matchSubset(x.value, q)) { + csub.push(x); + } + }); + } + } + return csub; + } else + // if the exact item exists, use it + if (data[q]) { + return data[q]; + } else if (options.matchSubset) { + for ( var i = q.length - 1; i >= options.minChars; i--) { + var c = data[q.substr(0, i)]; + if (c) { + var csub = []; + $.each(c, function(i, x) { + if (matchSubset(x.value, q)) { + csub[csub.length] = x; + } + }); + return csub; + } + } + } + return null; + } + }; + }; + + $.Autocompleter.Select = function(options, input, select, config) { + var CLASSES = { + ACTIVE : "ac_over" + }; + + var listItems, active = -1, data, term = "", needsInit = true, element, list; + + // Create results + function init() { + if (!needsInit) + return; + element = $("
                ").hide().addClass(options.resultsClass).css( + "position", "absolute").appendTo(document.body); + + list = $("
                  ") + .appendTo(element) + .mouseover( + function(event) { + if (target(event).nodeName + && target(event).nodeName.toUpperCase() == 'LI') { + active = $("li", list).removeClass( + CLASSES.ACTIVE) + .index(target(event)); + $(target(event)).addClass(CLASSES.ACTIVE); + } + }).click(function(event) { + $(target(event)).addClass(CLASSES.ACTIVE); + select(); + // TODO provide option to avoid setting focus again + // after selection? useful for cleanup-on-focus + input.focus(); + return false; + }).mousedown(function() { + config.mouseDownOnSelect = true; + }).mouseup(function() { + config.mouseDownOnSelect = false; + }); + + if (options.width > 0) + element.css("width", options.width); + + needsInit = false; + } + + function target(event) { + var element = event.target; + while (element && element.tagName != "LI") + element = element.parentNode; + // more fun with IE, sometimes event.target is empty, just ignore it + // then + if (!element) + return []; + return element; + } + + function moveSelect(step) { + listItems.slice(active, active + 1).removeClass(CLASSES.ACTIVE); + movePosition(step); + var activeItem = listItems.slice(active, active + 1).addClass( + CLASSES.ACTIVE); + if (options.scroll) { + var offset = 0; + listItems.slice(0, active).each(function() { + offset += this.offsetHeight; + }); + if ((offset + activeItem[0].offsetHeight - list.scrollTop()) > list[0].clientHeight) { + list.scrollTop(offset + activeItem[0].offsetHeight + - list.innerHeight()); + } else if (offset < list.scrollTop()) { + list.scrollTop(offset); + } + } + } + ; + + function movePosition(step) { + active += step; + if (active < 0) { + active = listItems.size() - 1; + } else if (active >= listItems.size()) { + active = 0; + } + } + + function limitNumberOfItems(available) { + return options.max && options.max < available ? options.max + : available; + } + + function fillList() { + list.empty(); + var max = limitNumberOfItems(data.length); + for ( var i = 0; i < max; i++) { + if (!data[i]) + continue; + var formatted = options.formatItem(data[i].data, i + 1, max, + data[i].value, term); + if (formatted === false) + continue; + var li = $("
                • ").html(options.highlight(formatted, term)) + .addClass(i % 2 == 0 ? "ac_even" : "ac_odd").appendTo( + list)[0]; + $.data(li, "ac_data", data[i]); + } + listItems = list.find("li"); + if (options.selectFirst) { + listItems.slice(0, 1).addClass(CLASSES.ACTIVE); + active = 0; + } + // apply bgiframe if available + if ($.fn.bgiframe) + list.bgiframe(); + } + + return { + display : function(d, q) { + init(); + data = d; + term = q; + fillList(); + }, + next : function() { + moveSelect(1); + }, + prev : function() { + moveSelect(-1); + }, + pageUp : function() { + if (active != 0 && active - 8 < 0) { + moveSelect(-active); + } else { + moveSelect(-8); + } + }, + pageDown : function() { + if (active != listItems.size() - 1 + && active + 8 > listItems.size()) { + moveSelect(listItems.size() - 1 - active); + } else { + moveSelect(8); + } + }, + hide : function() { + element && element.hide(); + listItems && listItems.removeClass(CLASSES.ACTIVE); + active = -1; + }, + visible : function() { + return element && element.is(":visible"); + }, + current : function() { + return this.visible() + && (listItems.filter("." + CLASSES.ACTIVE)[0] || options.selectFirst + && listItems[0]); + }, + show : function() { + var offset = $(input).offset(); + element.css( + { + width : typeof options.width == "string" + || options.width > 0 ? options.width : $( + input).width(), + top : offset.top + input.offsetHeight, + left : offset.left + }).show(); + if (options.scroll) { + list.scrollTop(0); + list.css({ + maxHeight : options.scrollHeight, + overflow : 'auto' + }); + + if ($.browser.msie + && typeof document.body.style.maxHeight === "undefined") { + var listHeight = 0; + listItems.each(function() { + listHeight += this.offsetHeight; + }); + var scrollbarsVisible = listHeight > options.scrollHeight; + list.css('height', + scrollbarsVisible ? options.scrollHeight + : listHeight); + if (!scrollbarsVisible) { + // IE doesn't recalculate width when scrollbar + // disappears + listItems.width(list.width() + - parseInt(listItems.css("padding-left")) + - parseInt(listItems.css("padding-right"))); + } + } + + } + }, + selected : function() { + var selected = listItems + && listItems.filter("." + CLASSES.ACTIVE).removeClass( + CLASSES.ACTIVE); + return selected && selected.length + && $.data(selected[0], "ac_data"); + }, + emptyList : function() { + list && list.empty(); + }, + unbind : function() { + element && element.remove(); + } + }; + }; + + $.fn.selection = function(start, end) { + if (start !== undefined) { + return this.each(function() { + if (this.createTextRange) { + var selRange = this.createTextRange(); + if (end === undefined || start == end) { + selRange.move("character", start); + selRange.select(); + } else { + selRange.collapse(true); + selRange.moveStart("character", start); + selRange.moveEnd("character", end); + selRange.select(); + } + } else if (this.setSelectionRange) { + this.setSelectionRange(start, end); + } else if (this.selectionStart) { + this.selectionStart = start; + this.selectionEnd = end; + } + }); + } + var field = this[0]; + if (field.createTextRange) { + var range = document.selection.createRange(), orig = field.value, teststring = "<->", textLength = range.text.length; + range.text = teststring; + var caretAt = field.value.indexOf(teststring); + field.value = orig; + this.selection(caretAt, caretAt + textLength); + return { + start : caretAt, + end : caretAt + textLength + } + } else if (field.selectionStart !== undefined) { + return { + start : field.selectionStart, + end : field.selectionEnd + } + } + }; + +})(jQuery); \ No newline at end of file diff --git a/src/main/webapp/page/amap/js/layer/layer.js b/src/main/webapp/page/amap/js/layer/layer.js new file mode 100644 index 0000000..cb19456 --- /dev/null +++ b/src/main/webapp/page/amap/js/layer/layer.js @@ -0,0 +1,2 @@ +/*! layer-v2.4 弹层组件 License LGPL http://layer.layui.com/ By 贤心 */ +;!function(a,b){"use strict";var c,d,e={getPath:function(){var a=document.scripts,b=a[a.length-1],c=b.src;if(!b.getAttribute("merge"))return c.substring(0,c.lastIndexOf("/")+1)}(),enter:function(a){13===a.keyCode&&a.preventDefault()},config:{},end:{},btn:["确定","取消"],type:["dialog","page","iframe","loading","tips"]},f={v:"2.4",ie6:!!a.ActiveXObject&&!a.XMLHttpRequest,index:0,path:e.getPath,config:function(a,b){var d=0;return a=a||{},f.cache=e.config=c.extend(e.config,a),f.path=e.config.path||f.path,"string"==typeof a.extend&&(a.extend=[a.extend]),f.use("skin/layer.css",a.extend&&a.extend.length>0?function g(){var c=a.extend;f.use(c[c[d]?d:d-1],d'+(i?f.title[0]:f.title)+"
                ":"";return f.zIndex=g,b([f.shade?'
                ':"",'
                '+(a&&2!=f.type?"":k)+'
                '+(0==f.type&&-1!==f.icon?'':"")+(1==f.type&&a?"":f.content||"")+'
                '+function(){var a=j?'':"";return f.closeBtn&&(a+=''),a}()+""+(f.btn?function(){var a="";"string"==typeof f.btn&&(f.btn=[f.btn]);for(var b=0,c=f.btn.length;c>b;b++)a+=''+f.btn[b]+"";return'
                '+a+"
                "}():"")+"
                "],k),c},g.pt.creat=function(){var a=this,b=a.config,g=a.index,i=b.content,j="object"==typeof i;if(!c("#"+b.id)[0]){switch("string"==typeof b.area&&(b.area="auto"===b.area?["",""]:[b.area,""]),b.type){case 0:b.btn="btn"in b?b.btn:e.btn[0],f.closeAll("dialog");break;case 2:var i=b.content=j?b.content:[b.content||"http://layer.layui.com","auto"];b.content='';break;case 3:b.title=!1,b.closeBtn=!1,-1===b.icon&&0===b.icon,f.closeAll("loading");break;case 4:j||(b.content=[b.content,"body"]),b.follow=b.content[1],b.content=b.content[0]+'',b.title=!1,b.tips="object"==typeof b.tips?b.tips:[b.tips,!0],b.tipsMore||f.closeAll("tips")}a.vessel(j,function(d,e){c("body").append(d[0]),j?function(){2==b.type||4==b.type?function(){c("body").append(d[1])}():function(){i.parents("."+h[0])[0]||(i.show().addClass("layui-layer-wrap").wrap(d[1]),c("#"+h[0]+g).find("."+h[5]).before(e))}()}():c("body").append(d[1]),a.layero=c("#"+h[0]+g),b.scrollbar||h.html.css("overflow","hidden").attr("layer-full",g)}).auto(g),2==b.type&&f.ie6&&a.layero.find("iframe").attr("src",i[0]),c(document).off("keydown",e.enter).on("keydown",e.enter),a.layero.on("keydown",function(a){c(document).off("keydown",e.enter)}),4==b.type?a.tips():a.offset(),b.fix&&d.on("resize",function(){a.offset(),(/^\d+%$/.test(b.area[0])||/^\d+%$/.test(b.area[1]))&&a.auto(g),4==b.type&&a.tips()}),b.time<=0||setTimeout(function(){f.close(a.index)},b.time),a.move().callback(),h.anim[b.shift]&&a.layero.addClass(h.anim[b.shift])}},g.pt.auto=function(a){function b(a){a=g.find(a),a.height(i[1]-j-k-2*(0|parseFloat(a.css("padding"))))}var e=this,f=e.config,g=c("#"+h[0]+a);""===f.area[0]&&f.maxWidth>0&&(/MSIE 7/.test(navigator.userAgent)&&f.btn&&g.width(g.innerWidth()),g.outerWidth()>f.maxWidth&&g.width(f.maxWidth));var i=[g.innerWidth(),g.innerHeight()],j=g.find(h[1]).outerHeight()||0,k=g.find("."+h[6]).outerHeight()||0;switch(f.type){case 2:b("iframe");break;default:""===f.area[1]?f.fix&&i[1]>=d.height()&&(i[1]=d.height(),b("."+h[5])):b("."+h[5])}return e},g.pt.offset=function(){var a=this,b=a.config,c=a.layero,e=[c.outerWidth(),c.outerHeight()],f="object"==typeof b.offset;a.offsetTop=(d.height()-e[1])/2,a.offsetLeft=(d.width()-e[0])/2,f?(a.offsetTop=b.offset[0],a.offsetLeft=b.offset[1]||a.offsetLeft):"auto"!==b.offset&&(a.offsetTop=b.offset,"rb"===b.offset&&(a.offsetTop=d.height()-e[1],a.offsetLeft=d.width()-e[0])),b.fix||(a.offsetTop=/%$/.test(a.offsetTop)?d.height()*parseFloat(a.offsetTop)/100:parseFloat(a.offsetTop),a.offsetLeft=/%$/.test(a.offsetLeft)?d.width()*parseFloat(a.offsetLeft)/100:parseFloat(a.offsetLeft),a.offsetTop+=d.scrollTop(),a.offsetLeft+=d.scrollLeft()),c.css({top:a.offsetTop,left:a.offsetLeft})},g.pt.tips=function(){var a=this,b=a.config,e=a.layero,f=[e.outerWidth(),e.outerHeight()],g=c(b.follow);g[0]||(g=c("body"));var i={width:g.outerWidth(),height:g.outerHeight(),top:g.offset().top,left:g.offset().left},j=e.find(".layui-layer-TipsG"),k=b.tips[0];b.tips[1]||j.remove(),i.autoLeft=function(){i.left+f[0]-d.width()>0?(i.tipLeft=i.left+i.width-f[0],j.css({right:12,left:"auto"})):i.tipLeft=i.left},i.where=[function(){i.autoLeft(),i.tipTop=i.top-f[1]-10,j.removeClass("layui-layer-TipsB").addClass("layui-layer-TipsT").css("border-right-color",b.tips[1])},function(){i.tipLeft=i.left+i.width+10,i.tipTop=i.top,j.removeClass("layui-layer-TipsL").addClass("layui-layer-TipsR").css("border-bottom-color",b.tips[1])},function(){i.autoLeft(),i.tipTop=i.top+i.height+10,j.removeClass("layui-layer-TipsT").addClass("layui-layer-TipsB").css("border-right-color",b.tips[1])},function(){i.tipLeft=i.left-f[0]-10,i.tipTop=i.top,j.removeClass("layui-layer-TipsR").addClass("layui-layer-TipsL").css("border-bottom-color",b.tips[1])}],i.where[k-1](),1===k?i.top-(d.scrollTop()+f[1]+16)<0&&i.where[2]():2===k?d.width()-(i.left+i.width+f[0]+16)>0||i.where[3]():3===k?i.top-d.scrollTop()+i.height+f[1]+16-d.height()>0&&i.where[0]():4===k&&f[0]+16-i.left>0&&i.where[1](),e.find("."+h[5]).css({"background-color":b.tips[1],"padding-right":b.closeBtn?"30px":""}),e.css({left:i.tipLeft-(b.fix?d.scrollLeft():0),top:i.tipTop-(b.fix?d.scrollTop():0)})},g.pt.move=function(){var a=this,b=a.config,e={setY:0,moveLayer:function(){var a=e.layero,b=parseInt(a.css("margin-left")),c=parseInt(e.move.css("left"));0===b||(c-=b),"fixed"!==a.css("position")&&(c-=a.parent().offset().left,e.setY=0),a.css({left:c,top:parseInt(e.move.css("top"))-e.setY})}},f=a.layero.find(b.move);return b.move&&f.attr("move","ok"),f.css({cursor:b.move?"move":"auto"}),c(b.move).on("mousedown",function(a){if(a.preventDefault(),"ok"===c(this).attr("move")){e.ismove=!0,e.layero=c(this).parents("."+h[0]);var f=e.layero.offset().left,g=e.layero.offset().top,i=e.layero.outerWidth()-6,j=e.layero.outerHeight()-6;c("#layui-layer-moves")[0]||c("body").append('
                '),e.move=c("#layui-layer-moves"),b.moveType&&e.move.css({visibility:"hidden"}),e.moveX=a.pageX-e.move.position().left,e.moveY=a.pageY-e.move.position().top,"fixed"!==e.layero.css("position")||(e.setY=d.scrollTop())}}),c(document).mousemove(function(a){if(e.ismove){var c=a.pageX-e.moveX,f=a.pageY-e.moveY;if(a.preventDefault(),!b.moveOut){e.setY=d.scrollTop();var g=d.width()-e.move.outerWidth(),h=e.setY;0>c&&(c=0),c>g&&(c=g),h>f&&(f=h),f>d.height()-e.move.outerHeight()+e.setY&&(f=d.height()-e.move.outerHeight()+e.setY)}e.move.css({left:c,top:f}),b.moveType&&e.moveLayer(),c=f=g=h=null}}).mouseup(function(){try{e.ismove&&(e.moveLayer(),e.move.remove(),b.moveEnd&&b.moveEnd()),e.ismove=!1}catch(a){e.ismove=!1}}),a},g.pt.callback=function(){function a(){var a=g.cancel&&g.cancel(b.index,d);a===!1||f.close(b.index)}var b=this,d=b.layero,g=b.config;b.openLayer(),g.success&&(2==g.type?d.find("iframe").on("load",function(){g.success(d,b.index)}):g.success(d,b.index)),f.ie6&&b.IE6(d),d.find("."+h[6]).children("a").on("click",function(){var a=c(this).index();if(0===a)g.yes?g.yes(b.index,d):g.btn1?g.btn1(b.index,d):f.close(b.index);else{var e=g["btn"+(a+1)]&&g["btn"+(a+1)](b.index,d);e===!1||f.close(b.index)}}),d.find("."+h[7]).on("click",a),g.shadeClose&&c("#layui-layer-shade"+b.index).on("click",function(){f.close(b.index)}),d.find(".layui-layer-min").on("click",function(){var a=g.min&&g.min(d);a===!1||f.min(b.index,g)}),d.find(".layui-layer-max").on("click",function(){c(this).hasClass("layui-layer-maxmin")?(f.restore(b.index),g.restore&&g.restore(d)):(f.full(b.index,g),setTimeout(function(){g.full&&g.full(d)},100))}),g.end&&(e.end[b.index]=g.end)},e.reselect=function(){c.each(c("select"),function(a,b){var d=c(this);d.parents("."+h[0])[0]||1==d.attr("layer")&&c("."+h[0]).length<1&&d.removeAttr("layer").show(),d=null})},g.pt.IE6=function(a){function b(){a.css({top:f+(e.config.fix?d.scrollTop():0)})}var e=this,f=a.offset().top;b(),d.scroll(b),c("select").each(function(a,b){var d=c(this);d.parents("."+h[0])[0]||"none"===d.css("display")||d.attr({layer:"1"}).hide(),d=null})},g.pt.openLayer=function(){var a=this;f.zIndex=a.config.zIndex,f.setTop=function(a){var b=function(){f.zIndex++,a.css("z-index",f.zIndex+1)};return f.zIndex=parseInt(a[0].style.zIndex),a.on("mousedown",b),f.zIndex}},e.record=function(a){var b=[a.width(),a.height(),a.position().top,a.position().left+parseFloat(a.css("margin-left"))];a.find(".layui-layer-max").addClass("layui-layer-maxmin"),a.attr({area:b})},e.rescollbar=function(a){h.html.attr("layer-full")==a&&(h.html[0].style.removeProperty?h.html[0].style.removeProperty("overflow"):h.html[0].style.removeAttribute("overflow"),h.html.removeAttr("layer-full"))},a.layer=f,f.getChildFrame=function(a,b){return b=b||c("."+h[4]).attr("times"),c("#"+h[0]+b).find("iframe").contents().find(a)},f.getFrameIndex=function(a){return c("#"+a).parents("."+h[4]).attr("times")},f.iframeAuto=function(a){if(a){var b=f.getChildFrame("html",a).outerHeight(),d=c("#"+h[0]+a),e=d.find(h[1]).outerHeight()||0,g=d.find("."+h[6]).outerHeight()||0;d.css({height:b+e+g}),d.find("iframe").css({height:b})}},f.iframeSrc=function(a,b){c("#"+h[0]+a).find("iframe").attr("src",b)},f.style=function(a,b){var d=c("#"+h[0]+a),f=d.attr("type"),g=d.find(h[1]).outerHeight()||0,i=d.find("."+h[6]).outerHeight()||0;(f===e.type[1]||f===e.type[2])&&(d.css(b),f===e.type[2]&&d.find("iframe").css({height:parseFloat(b.height)-g-i}))},f.min=function(a,b){var d=c("#"+h[0]+a),g=d.find(h[1]).outerHeight()||0;e.record(d),f.style(a,{width:180,height:g,overflow:"hidden"}),d.find(".layui-layer-min").hide(),"page"===d.attr("type")&&d.find(h[4]).hide(),e.rescollbar(a)},f.restore=function(a){var b=c("#"+h[0]+a),d=b.attr("area").split(",");b.attr("type");f.style(a,{width:parseFloat(d[0]),height:parseFloat(d[1]),top:parseFloat(d[2]),left:parseFloat(d[3]),overflow:"visible"}),b.find(".layui-layer-max").removeClass("layui-layer-maxmin"),b.find(".layui-layer-min").show(),"page"===b.attr("type")&&b.find(h[4]).show(),e.rescollbar(a)},f.full=function(a){var b,g=c("#"+h[0]+a);e.record(g),h.html.attr("layer-full")||h.html.css("overflow","hidden").attr("layer-full",a),clearTimeout(b),b=setTimeout(function(){var b="fixed"===g.css("position");f.style(a,{top:b?0:d.scrollTop(),left:b?0:d.scrollLeft(),width:d.width(),height:d.height()}),g.find(".layui-layer-min").hide()},100)},f.title=function(a,b){var d=c("#"+h[0]+(b||f.index)).find(h[1]);d.html(a)},f.close=function(a){var b=c("#"+h[0]+a),d=b.attr("type");if(b[0]){if(d===e.type[1]&&"object"===b.attr("conType")){b.children(":not(."+h[5]+")").remove();for(var g=0;2>g;g++)b.find(".layui-layer-wrap").unwrap().hide()}else{if(d===e.type[2])try{var i=c("#"+h[4]+a)[0];i.contentWindow.document.write(""),i.contentWindow.close(),b.find("."+h[5])[0].removeChild(i)}catch(j){}b[0].innerHTML="",b.remove()}c("#layui-layer-moves, #layui-layer-shade"+a).remove(),f.ie6&&e.reselect(),e.rescollbar(a),c(document).off("keydown",e.enter),"function"==typeof e.end[a]&&e.end[a](),delete e.end[a]}},f.closeAll=function(a){c.each(c("."+h[0]),function(){var b=c(this),d=a?b.attr("type")===a:1;d&&f.close(b.attr("times")),d=null})};var i=f.cache||{},j=function(a){return i.skin?" "+i.skin+" "+i.skin+"-"+a:""};f.prompt=function(a,b){a=a||{},"function"==typeof a&&(b=a);var d,e=2==a.formType?'":function(){return''}();return f.open(c.extend({btn:["确定","取消"],content:e,skin:"layui-layer-prompt"+j("prompt"),success:function(a){d=a.find(".layui-layer-input"),d.focus()},yes:function(c){var e=d.val();""===e?d.focus():e.length>(a.maxlength||500)?f.tips("最多输入"+(a.maxlength||500)+"个字数",d,{tips:1}):b&&b(e,c,d)}},a))},f.tab=function(a){a=a||{};var b=a.tab||{};return f.open(c.extend({type:1,skin:"layui-layer-tab"+j("tab"),title:function(){var a=b.length,c=1,d="";if(a>0)for(d=''+b[0].title+"";a>c;c++)d+=""+b[c].title+"";return d}(),content:'
                  '+function(){var a=b.length,c=1,d="";if(a>0)for(d='
                • '+(b[0].content||"no content")+"
                • ";a>c;c++)d+='
                • '+(b[c].content||"no content")+"
                • ";return d}()+"
                ",success:function(b){var d=b.find(".layui-layer-title").children(),e=b.find(".layui-layer-tabmain").children();d.on("mousedown",function(b){b.stopPropagation?b.stopPropagation():b.cancelBubble=!0;var d=c(this),f=d.index();d.addClass("layui-layer-tabnow").siblings().removeClass("layui-layer-tabnow"),e.eq(f).show().siblings().hide(),"function"==typeof a.change&&a.change(f)})}},a))},f.photos=function(b,d,e){function g(a,b,c){var d=new Image;return d.src=a,d.complete?b(d):(d.onload=function(){d.onload=null,b(d)},void(d.onerror=function(a){d.onerror=null,c(a)}))}var h={};if(b=b||{},b.photos){var i=b.photos.constructor===Object,k=i?b.photos:{},l=k.data||[],m=k.start||0;if(h.imgIndex=(0|m)+1,b.img=b.img||"img",i){if(0===l.length)return f.msg("没有图片")}else{var n=c(b.photos),o=function(){l=[],n.find(b.img).each(function(a){var b=c(this);b.attr("layer-index",a),l.push({alt:b.attr("alt"),pid:b.attr("layer-pid"),src:b.attr("layer-src")||b.attr("src"),thumb:b.attr("src")})})};if(o(),0===l.length)return;if(d||n.on("click",b.img,function(){var a=c(this),d=a.attr("layer-index");f.photos(c.extend(b,{photos:{start:d,data:l,tab:b.tab},full:b.full}),!0),o()}),!d)return}h.imgprev=function(a){h.imgIndex--,h.imgIndex<1&&(h.imgIndex=l.length),h.tabimg(a)},h.imgnext=function(a,b){h.imgIndex++,h.imgIndex>l.length&&(h.imgIndex=1,b)||h.tabimg(a)},h.keyup=function(a){if(!h.end){var b=a.keyCode;a.preventDefault(),37===b?h.imgprev(!0):39===b?h.imgnext(!0):27===b&&f.close(h.index)}},h.tabimg=function(a){l.length<=1||(k.start=h.imgIndex-1,f.close(h.index),f.photos(b,!0,a))},h.event=function(){h.bigimg.hover(function(){h.imgsee.show()},function(){h.imgsee.hide()}),h.bigimg.find(".layui-layer-imgprev").on("click",function(a){a.preventDefault(),h.imgprev()}),h.bigimg.find(".layui-layer-imgnext").on("click",function(a){a.preventDefault(),h.imgnext()}),c(document).on("keyup",h.keyup)},h.loadi=f.load(1,{shade:"shade"in b?!1:.9,scrollbar:!1}),g(l[m].src,function(d){f.close(h.loadi),h.index=f.open(c.extend({type:1,area:function(){var e=[d.width,d.height],f=[c(a).width()-50,c(a).height()-50];return!b.full&&e[0]>f[0]&&(e[0]=f[0],e[1]=e[0]*d.height/d.width),[e[0]+"px",e[1]+"px"]}(),title:!1,shade:.9,shadeClose:!0,closeBtn:!1,move:".layui-layer-phimg img",moveType:1,scrollbar:!1,moveOut:!0,shift:5*Math.random()|0,skin:"layui-layer-photos"+j("photos"),content:'
                '+(l[m].alt||
                '+(l.length>1?'':"")+'
                '+(l[m].alt||"")+""+h.imgIndex+"/"+l.length+"
                ",success:function(a,c){h.bigimg=a.find(".layui-layer-phimg"),h.imgsee=a.find(".layui-layer-imguide,.layui-layer-imgbar"),h.event(a),b.tab&&b.tab(l[m],a)},end:function(){h.end=!0,c(document).off("keyup",h.keyup)}},b))},function(){f.close(h.loadi),f.msg("当前图片地址异常
                是否继续查看下一张?",{time:3e4,btn:["下一张","不看了"],yes:function(){l.length>1&&h.imgnext(!0,!0)}})})}},e.run=function(){c=jQuery,d=c(a),h.html=c("html"),f.open=function(a){var b=new g(a);return b.index}},"function"==typeof define?define(function(){return e.run(),f}):function(){e.run(),f.use("skin/layer.css")}()}(window); \ No newline at end of file diff --git a/src/main/webapp/page/balance.jsp b/src/main/webapp/page/balance.jsp new file mode 100644 index 0000000..1d7e592 --- /dev/null +++ b/src/main/webapp/page/balance.jsp @@ -0,0 +1,262 @@ +<%@page language="java" contentType="text/html; charset=utf-8" + pageEncoding="utf-8"%> + <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> +<%@ include file="header.jsp"%> + + + + +<% +BalanceCountVo balanceCount = (BalanceCountVo)request.getAttribute("balanceCount"); + +%> + + + +
                + + + + --%> + +
                + + +
                + + + + + + + + +<%@ include file="footer.jsp"%> \ No newline at end of file diff --git a/src/main/webapp/page/caseDetail.jsp b/src/main/webapp/page/caseDetail.jsp new file mode 100644 index 0000000..39090d5 --- /dev/null +++ b/src/main/webapp/page/caseDetail.jsp @@ -0,0 +1,709 @@ +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> +<%@page language="java" contentType="text/html; charset=utf-8" + pageEncoding="utf-8" %> +<%@ include file="header.jsp" %> + + + +
                +
                +
                +
                + +

                案件信息

                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                案件号码: ${r.ORDER_CODE} 车辆注册日期: + + +
                VIN码: ${r.VIN_NO} + 车牌号码:${r.PLATENUMBER} +
                + 车型: + ${r.MODEL} + 服务类型: ${r.SERVICE_NAME} +
                开案时间: + + + 救援完成时间: + + +
                故障LEVEL1: ${r.LEVELNAME1} + 故障LEVEL2: ${r.LEVELNAME2} +
                + 维修经销商名称: ${r.DNAME} + + 维修经销商代码: ${r.BRANDNAME} +
                服务商名称: ${r.NAME} + + 后续利益: +
                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                +
                +
                +

                经销商必填信息

                +
                DMS单号: + + + 故障零件: + + 显示列表 + * +
                故障原因: + *维修结果: *
                里程表读数:预计完成维修日期: + + + + * +
                底盘号码: + + + + + + + + 维修结束日期: + + + + * +
                被救车辆到店日期: + + + + + * + + + + + + + 交车日期: + + + + * +
                文字描述: + + +
                 
                客户交通出行选择: + 客户使用日期: + + + +
                +

                + + + + + + +

                +
                +
                +
                + +
                +
                +
                +
                + + + +<%@ include file="footer.jsp" %> \ No newline at end of file diff --git a/src/main/webapp/page/caseInfo.jsp b/src/main/webapp/page/caseInfo.jsp new file mode 100644 index 0000000..e540ab1 --- /dev/null +++ b/src/main/webapp/page/caseInfo.jsp @@ -0,0 +1,306 @@ + +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@page language="java" contentType="text/html; charset=utf-8" + pageEncoding="utf-8" %> +<%@ include file="header.jsp" %> + + + + + + + + + + + + + +
                + +
                +
                + + +<%@ include file="footer.jsp" %> \ No newline at end of file diff --git a/src/main/webapp/page/caseInfoEnter.jsp b/src/main/webapp/page/caseInfoEnter.jsp new file mode 100644 index 0000000..9f9bbc9 --- /dev/null +++ b/src/main/webapp/page/caseInfoEnter.jsp @@ -0,0 +1,248 @@ + +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@page language="java" contentType="text/html; charset=utf-8" + pageEncoding="utf-8" %> +<%@ include file="header.jsp" %> + + + + + + + + + + + + + +
                + +
                +
                + + +<%@ include file="footer.jsp" %> \ No newline at end of file diff --git a/src/main/webapp/page/common.jsp b/src/main/webapp/page/common.jsp new file mode 100644 index 0000000..f6cf1a9 --- /dev/null +++ b/src/main/webapp/page/common.jsp @@ -0,0 +1,11 @@ +<% +String webpath = request.getContextPath(); +%> + + + + + + + + diff --git a/src/main/webapp/page/coupon_consume.jsp b/src/main/webapp/page/coupon_consume.jsp new file mode 100644 index 0000000..0bcf9d0 --- /dev/null +++ b/src/main/webapp/page/coupon_consume.jsp @@ -0,0 +1,240 @@ +<%@page language="java" contentType="text/html; charset=utf-8" + pageEncoding="utf-8" %> +<%@ include file="header.jsp" %> + + + + +
                + + +
                +
                + + + + + + +<%@ include file="footer.jsp" %> \ No newline at end of file diff --git a/src/main/webapp/page/coupon_consume_history.jsp b/src/main/webapp/page/coupon_consume_history.jsp new file mode 100644 index 0000000..4555d4e --- /dev/null +++ b/src/main/webapp/page/coupon_consume_history.jsp @@ -0,0 +1,175 @@ +<%@page language="java" contentType="text/html; charset=utf-8" + pageEncoding="utf-8"%> +<%@ include file="header.jsp"%> + + + + +
                + + + +
                +
                + +<%@ include file="footer.jsp"%> \ No newline at end of file diff --git a/src/main/webapp/page/coupon_consume_query.jsp b/src/main/webapp/page/coupon_consume_query.jsp new file mode 100644 index 0000000..256737d --- /dev/null +++ b/src/main/webapp/page/coupon_consume_query.jsp @@ -0,0 +1,360 @@ +<%@ page import="com.alibaba.fastjson.JSON" %> +<%@page language="java" contentType="text/html; charset=utf-8" + pageEncoding="utf-8" %> +<%@ include file="header.jsp" %> + + + +<% + LoginUserVo vo = (LoginUserVo) request.getSession().getAttribute("logininfo"); +%> + + +
                + +
                + + 同意付款 + 已付款 + + + 撤销 + +
                +
                +
                + + + +<%@ include file="footer.jsp" %> \ No newline at end of file diff --git a/src/main/webapp/page/coupon_recharge_query.jsp b/src/main/webapp/page/coupon_recharge_query.jsp new file mode 100644 index 0000000..d5e4dd4 --- /dev/null +++ b/src/main/webapp/page/coupon_recharge_query.jsp @@ -0,0 +1,145 @@ +<%@ page import="com.alibaba.fastjson.JSON" %> +<%@page language="java" contentType="text/html; charset=utf-8" + pageEncoding="utf-8" %> +<%@ include file="header.jsp" %> + + + +<% + LoginUserVo vo = (LoginUserVo) request.getSession().getAttribute("logininfo"); +%> + + +
                + +
                +
                + +<%@ include file="footer.jsp" %> \ No newline at end of file diff --git a/src/main/webapp/page/enterprise.jsp b/src/main/webapp/page/enterprise.jsp new file mode 100644 index 0000000..fcf0d2e --- /dev/null +++ b/src/main/webapp/page/enterprise.jsp @@ -0,0 +1,464 @@ +<%@page language="java" contentType="text/html; charset=utf-8" + pageEncoding="utf-8" %> +<%@ include file="header.jsp" %> + + + + + + + +
                +
                + + + + + + + + + + + + + <%----%> + + + + + + + + + + +
                经销商名称: + + 代码编号: + + + --%> + <%----%> + <%-- + + + + + + + +
                +
                + + +
                +
                + + + + + + +<%@ include file="footer.jsp" %> \ No newline at end of file diff --git a/src/main/webapp/page/footer.jsp b/src/main/webapp/page/footer.jsp new file mode 100644 index 0000000..a83e2b4 --- /dev/null +++ b/src/main/webapp/page/footer.jsp @@ -0,0 +1,306 @@ +<%@page language="java" contentType="text/html; charset=utf-8" + pageEncoding="utf-8" %> + + + + + +
                + + +
                +
                + + \ No newline at end of file diff --git a/src/main/webapp/page/header.jsp b/src/main/webapp/page/header.jsp new file mode 100644 index 0000000..47fe2a3 --- /dev/null +++ b/src/main/webapp/page/header.jsp @@ -0,0 +1,110 @@ +<%@page language="java" contentType="text/html; charset=utf-8" + pageEncoding="utf-8"%> +<%@ page language="java" + import="java.util.*,com.zhongdao.jlr.business.vo.*" +%> +<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<% +String path = request.getContextPath(); +LoginUserVo dto = (LoginUserVo)request.getSession().getAttribute("logininfo"); +%> + + + + + + JLR Dealer Portal系统 + + + + + + + + + + <%@ include file="common.jsp"%> + + + + + + + +
                + + + diff --git a/src/main/webapp/page/home.jsp b/src/main/webapp/page/home.jsp new file mode 100644 index 0000000..b0f567a --- /dev/null +++ b/src/main/webapp/page/home.jsp @@ -0,0 +1,196 @@ +<%@page language="java" contentType="text/html; charset=utf-8" + pageEncoding="utf-8"%> + <%@ page import="java.util.*"%> +<%@ page language="java" + import="java.util.*,com.zhongdao.jlr.business.vo.*" +%> +<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<% +String path = request.getContextPath(); +LoginUserVo dto = (LoginUserVo)request.getSession().getAttribute("logininfo"); +%> + + + + + + + JLR Dealer Portal系统 + + + + + + + + + + <%@ include file="common.jsp"%> + + + + + + + + +
                + + + + +
                +
                +
                + 欢迎使用 · 捷豹路虎道路救援管理系统 +
                + +
                + +
                +<%@ include file="footer.jsp"%> \ No newline at end of file diff --git a/src/main/webapp/page/home1.jsp b/src/main/webapp/page/home1.jsp new file mode 100644 index 0000000..e84e079 --- /dev/null +++ b/src/main/webapp/page/home1.jsp @@ -0,0 +1,10 @@ +<%@ include file="header.jsp"%> +
                + +
                + + +
                +
                +
                +<%@ include file="footer.jsp"%> \ No newline at end of file diff --git a/src/main/webapp/page/modifyPassword.jsp b/src/main/webapp/page/modifyPassword.jsp new file mode 100644 index 0000000..3e14144 --- /dev/null +++ b/src/main/webapp/page/modifyPassword.jsp @@ -0,0 +1,180 @@ +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@page language="java" contentType="text/html; charset=utf-8" + pageEncoding="utf-8" %> +<%@ include file="header.jsp" %> +<% + LoginUserVo loginUserVo = (LoginUserVo) request.getSession().getAttribute("logininfo"); + +%> + + + + +
                +
                + + + + + + + + + + + + + + + + + + + + + +
                用户名* +
                登入名*
                手机号*
                邮箱*
                 
                +
                +
                + +<%@ include file="footer.jsp" %> \ No newline at end of file diff --git a/src/main/webapp/page/orderCheck.jsp b/src/main/webapp/page/orderCheck.jsp new file mode 100644 index 0000000..c4c6a5f --- /dev/null +++ b/src/main/webapp/page/orderCheck.jsp @@ -0,0 +1,346 @@ +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@page language="java" contentType="text/html; charset=utf-8" + pageEncoding="utf-8" %> +<%@ include file="header.jsp" %> + + + + + +
                + + + + + +
                + +
                + +
                +<%@ include file="footer.jsp" %> \ No newline at end of file diff --git a/src/main/webapp/page/orderCheckAll.jsp b/src/main/webapp/page/orderCheckAll.jsp new file mode 100644 index 0000000..8146d02 --- /dev/null +++ b/src/main/webapp/page/orderCheckAll.jsp @@ -0,0 +1,363 @@ +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@page language="java" contentType="text/html; charset=utf-8" + pageEncoding="utf-8" %> +<%@ include file="header.jsp" %> + + + + + +
                + + + + + + +
                + +
                +<%@ include file="footer.jsp" %> \ No newline at end of file diff --git a/src/main/webapp/page/orderCheckHis.jsp b/src/main/webapp/page/orderCheckHis.jsp new file mode 100644 index 0000000..48d068e --- /dev/null +++ b/src/main/webapp/page/orderCheckHis.jsp @@ -0,0 +1,244 @@ +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@page language="java" contentType="text/html; charset=utf-8" + pageEncoding="utf-8" %> +<%@ include file="header.jsp" %> + + + + + +
                + +
                + +
                +<%@ include file="footer.jsp" %> \ No newline at end of file diff --git a/src/main/webapp/page/role.jsp b/src/main/webapp/page/role.jsp new file mode 100644 index 0000000..72abb68 --- /dev/null +++ b/src/main/webapp/page/role.jsp @@ -0,0 +1,203 @@ + +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="C" uri="http://java.sun.com/jsp/jstl/core" %> +<%@page language="java" contentType="text/html; charset=utf-8" + pageEncoding="utf-8" %> +<%@ include file="header.jsp" %> + + + + + + + + + + + + + + +
                + +
                +
                + +<%@ include file="footer.jsp" %> \ No newline at end of file diff --git a/src/main/webapp/page/sue.jsp b/src/main/webapp/page/sue.jsp new file mode 100644 index 0000000..5bf974f --- /dev/null +++ b/src/main/webapp/page/sue.jsp @@ -0,0 +1,321 @@ +<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@page language="java" contentType="text/html; charset=utf-8" + pageEncoding="utf-8" %> +<%@ include file="header.jsp" %> + + + + + + + + + + + + + +
                + +
                +
                + + +<%@ include file="footer.jsp" %> \ No newline at end of file diff --git a/src/main/webapp/page/supplier.jsp b/src/main/webapp/page/supplier.jsp new file mode 100644 index 0000000..970aa15 --- /dev/null +++ b/src/main/webapp/page/supplier.jsp @@ -0,0 +1,548 @@ + +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="C" uri="http://java.sun.com/jsp/jstl/core" %> +<%@page language="java" contentType="text/html; charset=utf-8" + pageEncoding="utf-8" %> +<%@ include file="header.jsp" %> + + + + + + + + + + + + + + + + + + + +
                + +
                +
                + + + +<%@ include file="footer.jsp" %> \ No newline at end of file diff --git a/src/main/webapp/page/topMenu.jsp b/src/main/webapp/page/topMenu.jsp new file mode 100644 index 0000000..a88d35b --- /dev/null +++ b/src/main/webapp/page/topMenu.jsp @@ -0,0 +1,26 @@ +<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +
                + +
              • + ${mp.name} + + +
              • +
                +
                + + \ No newline at end of file diff --git a/src/main/webapp/page/user.jsp b/src/main/webapp/page/user.jsp new file mode 100644 index 0000000..209d142 --- /dev/null +++ b/src/main/webapp/page/user.jsp @@ -0,0 +1,390 @@ + +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="C" uri="http://java.sun.com/jsp/jstl/core" %> +<%@page language="java" contentType="text/html; charset=utf-8" + pageEncoding="utf-8" %> +<%@ include file="header.jsp" %> + + + + + + + + + + + + + + + + + + +
                + +
                +
                + +<%@ include file="footer.jsp" %> \ No newline at end of file diff --git a/src/main/webapp/page/validate.jsp b/src/main/webapp/page/validate.jsp new file mode 100644 index 0000000..0710ece --- /dev/null +++ b/src/main/webapp/page/validate.jsp @@ -0,0 +1,78 @@ +<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> +<% +String webpath = request.getContextPath(); +String checktitle="不能为空"; +//验证邮箱 +String yzemail="class=\"easyui-textbox\" required=\"true\" validType=\"email\" invalidMessage=\"邮箱格式错误\" missingMessage=\"请输入邮箱\""; +//不能为空 +String yz="class=\"easyui-textbox\" required=\"true\" missingMessage=\""+checktitle+"\""; +//验证日期不能为空 +String yzrq="class=\"easyui-validatebox Wdate\" required=\"true\" missingMessage=\""+checktitle+"\""; +//不验证日期 +String byzrq="class=\"Wdate\""; +//验证ip +String yzip="class=\"easyui-textbox\" required=\"true\" validType=\"ip\" missingMessage=\""+checktitle+"\""; +//验证URL +String yzurl ="class=\"easyui-textbox\" required=\"true\" validType=\"url\" invalidMessage=\"网址格式错误\" missingMessage=\"请输入网址\""; +//只能输入数字 +String yznum ="class=\"easyui-numberbox\" required=\"true\" min=\"0\" precision=\"0\" missingMessage=\"请输入数字\""; +//只能输入数字两个小数点 +String yznum2 ="class=\"easyui-numberbox\" required=\"true\" min=\"0\" precision=\"2\" validType=\"length[1,8]\" missingMessage=\"请输入数字\""; +//只能输入数字不验证 +String yznumbyz ="class=\"easyui-numberbox\""; +//只能输入数字两个小数点不验证 +String yznum2byz ="class=\"easyui-numberbox\" precision=\"2\" "; +//构造下拉框验证 +String gzselyz ="class=\"easyui-combobox\" required=\"true\" editable=\"false\" missingMessage=\"请选择\""; +//构造下拉框不验证 +String gzsel ="class=\"easyui-combobox\" required=\"false\" editable=\"false\""; +//验证序号 +String yzxu ="class=\"easyui-numberbox\" required=\"true\" validType=\"maxLength[2]\" missingMessage=\"请输入数字\""; +//验证手机号码 +String mobile ="class=\"easyui-textbox\" required=\"true\" validType=\"mobile\" missingMessage=\""+checktitle+"\""; +//验证电话号码 +String phone ="class=\"easyui-textbox\" required=\"true\" validType=\"phone\" missingMessage=\""+checktitle+"\""; +//验证货币 +String currency ="class=\"easyui-textbox\" required=\"true\" validType=\"currency\" missingMessage=\""+checktitle+"\""; +//验证QQ +String qq ="class=\"easyui-textbox\" required=\"true\" validType=\"qq\" missingMessage=\""+checktitle+"\""; +//验证整数 +String integer ="class=\"easyui-textbox\" required=\"true\" validType=\"integer\" missingMessage=\""+checktitle+"\""; +//验证年龄 +String age ="class=\"easyui-textbox\" required=\"true\" validType=\"age\" missingMessage=\""+checktitle+"\""; +//验证中文 +String chinese ="class=\"easyui-textbox\" required=\"true\" validType=\"chinese\" missingMessage=\""+checktitle+"\""; +// 验证英语 +String english ="class=\"easyui-textbox\" required=\"true\" validType=\"english\" missingMessage=\""+checktitle+"\""; +// 验证是否包含空格和非法字符 +String unnormal ="class=\"easyui-textbox\" required=\"true\" validType=\"unnormal\" missingMessage=\""+checktitle+"\""; +// 验证用户名必须依字母开头 +String username ="class=\"easyui-textbox\" required=\"true\" validType=\"username\" missingMessage=\""+checktitle+"\""; +// 验证传真 +String faxno ="class=\"easyui-textbox\" required=\"true\" validType=\"faxno\" missingMessage=\""+checktitle+"\""; +// 验证邮政编码 +String zip ="class=\"easyui-textbox\" required=\"true\" validType=\"zip\" missingMessage=\""+checktitle+"\""; +//验证msn账号 +String msn ="class=\"easyui-textbox\" required=\"true\" validType=\"msn\" missingMessage=\""+checktitle+"\""; +//身份证验证 +String idcard ="class=\"easyui-textbox\" required=\"true\" validType=\"idcard\" missingMessage=\""+checktitle+"\""; +//验证确认密码 +String confirmpwd ="class=\"easyui-textbox\" required=\"true\" validType=\"same['upexpertpass']\" missingMessage=\"两次输入密码不一致\""; + +String yzappaccount ="class=\"easyui-textbox\" required=\"true\" validType=\"sysuseraccount['"+webpath+"']\" missingMessage=\""+checktitle+"\""; +//获取当前年份 +Calendar cal = Calendar.getInstance(); +//手机+电话号码验证 +String yzsjdh ="class=\"easyui-textbox\" required=\"true\" validType=\"sjdh['"+webpath+"']\" missingMessage=\""+checktitle+"\""; + +String yzsjdhs ="class=\"easyui-textbox\" required=\"false\" validType=\"sjdh['"+webpath+"']\" missingMessage=\""+checktitle+"\""; +//密码字符验证 +String yzpwd="class=\"easyui-textbox\" required=\"true\" validType=\"length[6,20]\" missingMessage=\""+checktitle+"\""; + +int year = cal.get(Calendar.YEAR); +int y1=year-1; +int y2=year-2; +int y3=year-3; + + +%> \ No newline at end of file diff --git a/src/test/java/Test.java b/src/test/java/Test.java new file mode 100644 index 0000000..200b7f1 --- /dev/null +++ b/src/test/java/Test.java @@ -0,0 +1,9 @@ +/** + * Created by 16094 on 2017/8/24. + */ +public class Test { + public static void main(String[] args) { + Float A=0.01F; + System.out.println(A); + } +}