Kaynağa Gözat

Merge branch 'master' of http://git.iamberry.com/hexiugang/iamberry-common-parent

liuzhiwei 7 yıl önce
ebeveyn
işleme
8dd58fa064
44 değiştirilmiş dosya ile 1486 ekleme ve 964 silme
  1. 316 1
      .gitignore
  2. 0 156
      iamberry-common-tool/iamberry-common-tool.iml
  3. 0 126
      iamberry-common-web/iamberry-common-web.iml
  4. 7 0
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/pts/EquipmentService.java
  5. 6 1
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/pts/MachineService.java
  6. 5 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/pts/EquipmentServiceImpl.java
  7. 12 3
      watero-rst-service/src/main/java/com/iamberry/rst/service/pts/MachineServiceImpl.java
  8. 12 4
      watero-rst-service/src/main/java/com/iamberry/rst/service/pts/ProduceServiceImpl.java
  9. 1 1
      watero-rst-service/src/main/java/com/iamberry/rst/service/pts/PtsEmployeeServiceImpl.java
  10. 5 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/pts/mapper/equipmentMapper.xml
  11. 2 5
      watero-rst-service/src/main/java/com/iamberry/rst/service/pts/mapper/produceMapper.xml
  12. 3 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/pts/mapper/ptsEmployeeMapper.xml
  13. 5 1
      watero-rst-service/src/main/java/com/iamberry/rst/util/ProduceNoUtil.java
  14. 42 14
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/AdminMachineController.java
  15. 13 5
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/AdminPtsEmployeeController.java
  16. 30 1
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/EquipmentController.java
  17. 2 2
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/MachineController.java
  18. 1 0
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/PtsEmployeeAppController.java
  19. 29 21
      watero-rst-web/src/main/webapp/WEB-INF/views/base/page_util.ftl
  20. 5 0
      watero-rst-web/src/main/webapp/WEB-INF/views/home/pc_index.ftl
  21. 11 2
      watero-rst-web/src/main/webapp/WEB-INF/views/login.ftl
  22. 2 2
      watero-rst-web/src/main/webapp/WEB-INF/views/order/businessManager_order_list.ftl
  23. 2 2
      watero-rst-web/src/main/webapp/WEB-INF/views/order/financialManager_order_list.ftl
  24. 67 8
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/device/add_device.ftl
  25. 80 71
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/device/device_list.ftl
  26. 37 1
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/device/update_device.ftl
  27. 73 53
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/device/update_process.ftl
  28. 50 39
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/employee/employee_list.ftl
  29. 112 60
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/employee/save_employee.ftl
  30. 136 43
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/employee/update_employee.ftl
  31. 28 7
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/machine/machine_List.ftl
  32. 186 175
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/machine/machine_particulars.ftl
  33. 48 30
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/machine/machine_print_List.ftl
  34. 13 11
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/produce/produce_list.ftl
  35. 68 60
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/produce/save_produce.ftl
  36. 68 55
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/produce/update_produce.ftl
  37. 4 0
      watero-rst-web/src/main/webapp/WEB-INF/views/sys/add_admin.ftl
  38. 1 1
      watero-rst-web/src/main/webapp/WEB-INF/views/sys/list_admin.ftl
  39. 3 3
      watero-rst-web/src/main/webapp/common/css/login/login.css
  40. BIN
      watero-rst-web/src/main/webapp/common/images/login/admin-login-bg.png
  41. 0 0
      watero-rst-web/src/main/webapp/common/images/pts/jiqi-1.png
  42. BIN
      watero-rst-web/src/main/webapp/common/images/pts/radio-1.png
  43. BIN
      watero-rst-web/src/main/webapp/common/images/pts/radio-2.png
  44. 1 0
      wateroPF-wechat-web/src/main/java/com/iamberry/wechat/handles/pay/ResponseWechatPayHandler.java

+ 316 - 1
.gitignore

@@ -4,4 +4,319 @@
 */src/test
 .idea/*
 .classpath
-.project
+.project
+.idea
+watero-wechat-service.iml
+watero-wechat-interface.iml
+watero-common-core.iml
+uiDesigner.xml
+sqldialects.xml
+modules.xml
+Maven__xpp3_xpp3_min_1_1_3_4_O.xml
+Maven__xom_xom_1_2_5.xml
+Maven__xml_apis_xml_apis_ext_1_3_04.xml
+Maven__xml_apis_xml_apis_1_4_01.xml
+Maven__xerces_xercesImpl_2_8_1.xml
+Maven__xalan_xalan_2_7_0.xml
+Maven__User_Agent_Utils_UserAgentUtils_1_2_3.xml
+Maven__ueditor_ueditor_1_1_2.xml
+Maven__stax_stax_api_1_0_1.xml
+Maven__redis_clients_jedis_2_8_1.xml
+Maven__QRCode_QRCode_3_0.xml
+Maven__oro_oro_2_0_8.xml
+Maven__org_springframework_spring_websocket_4_1_3_RELEASE.xml
+Maven__org_springframework_spring_webmvc_4_3_3_RELEASE.xml
+Maven__org_springframework_spring_web_4_3_3_RELEASE.xml
+Maven__org_springframework_spring_tx_4_3_3_RELEASE.xml
+Maven__org_springframework_spring_test_4_3_3_RELEASE.xml
+Maven__org_springframework_spring_orm_4_3_3_RELEASE.xml
+Maven__org_springframework_spring_mock_2_0_8.xml
+Maven__org_springframework_spring_jdbc_4_3_3_RELEASE.xml
+Maven__org_springframework_spring_expression_4_3_3_RELEASE.xml
+Maven__org_springframework_spring_core_4_3_3_RELEASE.xml
+Maven__org_springframework_spring_context_support_4_3_2_RELEASE.xml
+Maven__org_springframework_spring_context_4_3_3_RELEASE.xml
+Maven__org_springframework_spring_beans_4_3_3_RELEASE.xml
+Maven__org_springframework_spring_aspects_4_3_3_RELEASE.xml
+Maven__org_springframework_spring_aop_4_3_3_RELEASE.xml
+Maven__org_slf4j_slf4j_log4j12_1_7_21.xml
+Maven__org_slf4j_slf4j_api_1_7_21.xml
+Maven__org_slf4j_jcl_over_slf4j_1_7_21.xml
+Maven__org_quartz_scheduler_quartz_2_2_1.xml
+Maven__org_owasp_esapi_esapi_2_1_0.xml
+Maven__org_owasp_antisamy_antisamy_1_4_3.xml
+Maven__org_mybatis_mybatis_spring_1_2_2.xml
+Maven__org_mybatis_mybatis_3_2_8.xml
+Maven__org_json_json_20160212.xml
+Maven__org_jboss_netty_netty_3_2_5_Final.xml
+Maven__org_jboss_logging_jboss_logging_3_3_0_Final.xml
+Maven__org_javassist_javassist_3_20_0_GA.xml
+Maven__org_hibernate_hibernate_validator_5_2_4_Final.xml
+Maven__org_hibernate_hibernate_validator_5_1_3_Final.xml
+Maven__org_hamcrest_hamcrest_core_1_3.xml
+Maven__org_freemarker_freemarker_2_3_25_incubating.xml
+Maven__org_codehaus_jackson_jackson_mapper_lgpl_1_9_12.xml
+Maven__org_codehaus_jackson_jackson_core_lgpl_1_9_12.xml
+Maven__org_beanshell_bsh_core_2_0b4.xml
+Maven__org_aspectj_aspectjweaver_1_8_9.xml
+Maven__org_aspectj_aspectjtools_1_8_9.xml
+Maven__org_aspectj_aspectjrt_1_8_9.xml
+Maven__org_apache_zookeeper_zookeeper_3_3_1.xml
+Maven__org_apache_xmlgraphics_batik_util_1_7.xml
+Maven__org_apache_xmlgraphics_batik_ext_1_7.xml
+Maven__org_apache_xmlgraphics_batik_css_1_7.xml
+Maven__org_apache_xmlbeans_xmlbeans_2_6_0.xml
+Maven__org_apache_velocity_velocity_1_7.xml
+Maven__org_apache_shiro_shiro_web_1_3_2.xml
+Maven__org_apache_shiro_shiro_spring_1_3_2.xml
+Maven__org_apache_shiro_shiro_core_1_3_2.xml
+Maven__org_apache_poi_poi_ooxml_schemas_3_14.xml
+Maven__org_apache_poi_poi_ooxml_3_14.xml
+Maven__org_apache_poi_poi_3_14.xml
+Maven__org_apache_httpcomponents_httpmime_4_3_6.xml
+Maven__org_apache_httpcomponents_httpcore_4_4_5.xml
+Maven__org_apache_httpcomponents_httpclient_4_5_2.xml
+Maven__org_apache_commons_commons_pool2_2_4_2.xml
+Maven__org_apache_commons_commons_lang3_3_4.xml
+Maven__net_sourceforge_nekohtml_nekohtml_1_9_22.xml
+Maven__net_sf_json_lib_json_lib_jdk15_2_2_2.xml
+Maven__net_sf_json_lib_json_lib_ext_spring_1_0_2.xml
+Maven__net_sf_ezmorph_ezmorph_1_0_4.xml
+Maven__net_minidev_json_smart_1_3_1.xml
+Maven__net_jcip_jcip_annotations_1_0.xml
+Maven__mysql_mysql_connector_java_5_1_39.xml
+Maven__log4j_log4j_1_2_17.xml
+Maven__junit_junit_4_12.xml
+Maven__jsptags_pager_taglib_2_0.xml
+Maven__json_json_1_0.xml
+Maven__joda_time_joda_time_2_9_4.xml
+Maven__jline_jline_0_9_94.xml
+Maven__jexcelapi_jxl_2_4_2.xml
+Maven__jdom_jdom_1_0.xml
+Maven__jaxen_jaxen_1_1_6.xml
+Maven__javax_validation_validation_api_1_1_0_Final.xml
+Maven__javax_servlet_jstl_1_2.xml
+Maven__javax_servlet_jsp_javax_servlet_jsp_api_2_3_1.xml
+Maven__javax_servlet_javax_servlet_api_3_1_0.xml
+Maven__io_netty_netty_3_7_0_Final.xml
+Maven__IKAnalyzer_IKAnalyzer2012_1_0.xml
+Maven__fileupload_fileupload_1_3_1.xml
+Maven__dom4j_dom4j_1_6_1.xml
+Maven__displaytag_displaytag_1_2.xml
+Maven__commons_logging_commons_logging_1_2.xml
+Maven__commons_lang_commons_lang_2_6.xml
+Maven__commons_io_commons_io_2_4.xml
+Maven__commons_httpclient_commons_httpclient_3_1.xml
+Maven__commons_fileupload_commons_fileupload_1_3_1.xml
+Maven__commons_digester_commons_digester_2_1.xml
+Maven__commons_configuration_commons_configuration_1_5.xml
+Maven__commons_collections_commons_collections_3_2_2.xml
+Maven__commons_codec_commons_codec_1_10.xml
+Maven__commons_beanutils_commons_beanutils_core_1_7_0.xml
+Maven__commons_beanutils_commons_beanutils_1_9_2.xml
+Maven__com_thoughtworks_xstream_xstream_1_2_1.xml
+Maven__com_nimbusds_nimbus_jose_jwt_4_11_2.xml
+Maven__com_mortennobel_java_image_scaling_0_8_5.xml
+Maven__com_lowagie_itext_1_3.xml
+Maven__com_jhlabs_filters_2_0_235.xml
+Maven__com_jcraft_jsch_0_1_53.xml
+Maven__com_googlecode_json_simple_json_simple_1_1.xml
+Maven__com_google_zxing_javase_3_2_0.xml
+Maven__com_google_zxing_core_3_2_0.xml
+Maven__com_google_guava_guava_16_0_1.xml
+Maven__com_google_code_gson_gson_2_7.xml
+Maven__com_github_virtuald_curvesapi_1_03.xml
+Maven__com_github_sogyf_goja_qrcode_0_1_2.xml
+Maven__com_github_pagehelper_pagehelper_5_0_1.xml
+Maven__com_github_jsqlparser_jsqlparser_1_0.xml
+Maven__com_github_jsqlparser_jsqlparser_0_9_5.xml
+Maven__com_fasterxml_jackson_core_jackson_databind_2_8_3.xml
+Maven__com_fasterxml_jackson_core_jackson_core_2_8_3.xml
+Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_3.xml
+Maven__com_fasterxml_classmate_1_3_1.xml
+Maven__com_auth0_java_jwt_2_2_1.xml
+Maven__com_alibaba_fastjson_1_2_6.xml
+Maven__com_alibaba_dubbo_2_5_3.xml
+Maven__com_alibaba_druid_1_0_20.xml
+Maven__com_101tec_zkclient_0_3.xml
+Maven__codec_codec_1_9.xml
+Maven__cn_jpush_api_jpush_client_3_2_8.xml
+Maven__c3p0_c3p0_0_9_1_1.xml
+Project_Default.xml
+profiles_settings.xml
+encodings.xml
+6494d36d-0540-40de-bb6c-8f817a0a9dc0.xml
+dataSources.xml
+dataSources.local.xml
+codeStyleSettings.xml
+wateroPF_wechat_web_war_exploded.xml
+wateroPF_wechat_web_war.xml
+watero_wechat_web_war_exploded.xml
+watero_wechat_web_war.xml
+watero_rst_web_war_exploded.xml
+watero_rst_web_war.xml
+iamberry_wechat_web_war_exploded.xml
+iamberry_wechat_web_war.xml
+iamberry_app_international_war_exploded.xml
+iamberry_app_international_war.xml
+iamberry_app_api_war_exploded.xml
+iamberry_app_api_war.xml
+.name
+.gitignore
+/watero-wechat-service/watero-wechat-service.iml
+/watero-wechat-interface/watero-wechat-interface.iml
+/watero-common-core/watero-common-core.iml
+/.idea/uiDesigner.xml
+/.idea/sqldialects.xml
+/.idea/modules.xml
+/.idea/libraries/Maven__xpp3_xpp3_min_1_1_3_4_O.xml
+/.idea/libraries/Maven__xom_xom_1_2_5.xml
+/.idea/libraries/Maven__xml_apis_xml_apis_ext_1_3_04.xml
+/.idea/libraries/Maven__xml_apis_xml_apis_1_4_01.xml
+/.idea/libraries/Maven__xerces_xercesImpl_2_8_1.xml
+/.idea/libraries/Maven__xalan_xalan_2_7_0.xml
+/.idea/libraries/Maven__User_Agent_Utils_UserAgentUtils_1_2_3.xml
+/.idea/libraries/Maven__ueditor_ueditor_1_1_2.xml
+/.idea/libraries/Maven__stax_stax_api_1_0_1.xml
+/.idea/libraries/Maven__redis_clients_jedis_2_8_1.xml
+/.idea/libraries/Maven__QRCode_QRCode_3_0.xml
+/.idea/libraries/Maven__oro_oro_2_0_8.xml
+/.idea/libraries/Maven__org_springframework_spring_websocket_4_1_3_RELEASE.xml
+/.idea/libraries/Maven__org_springframework_spring_webmvc_4_3_3_RELEASE.xml
+/.idea/libraries/Maven__org_springframework_spring_web_4_3_3_RELEASE.xml
+/.idea/libraries/Maven__org_springframework_spring_tx_4_3_3_RELEASE.xml
+/.idea/libraries/Maven__org_springframework_spring_test_4_3_3_RELEASE.xml
+/.idea/libraries/Maven__org_springframework_spring_orm_4_3_3_RELEASE.xml
+/.idea/libraries/Maven__org_springframework_spring_mock_2_0_8.xml
+/.idea/libraries/Maven__org_springframework_spring_jdbc_4_3_3_RELEASE.xml
+/.idea/libraries/Maven__org_springframework_spring_expression_4_3_3_RELEASE.xml
+/.idea/libraries/Maven__org_springframework_spring_core_4_3_3_RELEASE.xml
+/.idea/libraries/Maven__org_springframework_spring_context_support_4_3_2_RELEASE.xml
+/.idea/libraries/Maven__org_springframework_spring_context_4_3_3_RELEASE.xml
+/.idea/libraries/Maven__org_springframework_spring_beans_4_3_3_RELEASE.xml
+/.idea/libraries/Maven__org_springframework_spring_aspects_4_3_3_RELEASE.xml
+/.idea/libraries/Maven__org_springframework_spring_aop_4_3_3_RELEASE.xml
+/.idea/libraries/Maven__org_slf4j_slf4j_log4j12_1_7_21.xml
+/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_21.xml
+/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_21.xml
+/.idea/libraries/Maven__org_quartz_scheduler_quartz_2_2_1.xml
+/.idea/libraries/Maven__org_owasp_esapi_esapi_2_1_0.xml
+/.idea/libraries/Maven__org_owasp_antisamy_antisamy_1_4_3.xml
+/.idea/libraries/Maven__org_mybatis_mybatis_spring_1_2_2.xml
+/.idea/libraries/Maven__org_mybatis_mybatis_3_2_8.xml
+/.idea/libraries/Maven__org_json_json_20160212.xml
+/.idea/libraries/Maven__org_jboss_netty_netty_3_2_5_Final.xml
+/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_3_0_Final.xml
+/.idea/libraries/Maven__org_javassist_javassist_3_20_0_GA.xml
+/.idea/libraries/Maven__org_hibernate_hibernate_validator_5_2_4_Final.xml
+/.idea/libraries/Maven__org_hibernate_hibernate_validator_5_1_3_Final.xml
+/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml
+/.idea/libraries/Maven__org_freemarker_freemarker_2_3_25_incubating.xml
+/.idea/libraries/Maven__org_codehaus_jackson_jackson_mapper_lgpl_1_9_12.xml
+/.idea/libraries/Maven__org_codehaus_jackson_jackson_core_lgpl_1_9_12.xml
+/.idea/libraries/Maven__org_beanshell_bsh_core_2_0b4.xml
+/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_8_9.xml
+/.idea/libraries/Maven__org_aspectj_aspectjtools_1_8_9.xml
+/.idea/libraries/Maven__org_aspectj_aspectjrt_1_8_9.xml
+/.idea/libraries/Maven__org_apache_zookeeper_zookeeper_3_3_1.xml
+/.idea/libraries/Maven__org_apache_xmlgraphics_batik_util_1_7.xml
+/.idea/libraries/Maven__org_apache_xmlgraphics_batik_ext_1_7.xml
+/.idea/libraries/Maven__org_apache_xmlgraphics_batik_css_1_7.xml
+/.idea/libraries/Maven__org_apache_xmlbeans_xmlbeans_2_6_0.xml
+/.idea/libraries/Maven__org_apache_velocity_velocity_1_7.xml
+/.idea/libraries/Maven__org_apache_shiro_shiro_web_1_3_2.xml
+/.idea/libraries/Maven__org_apache_shiro_shiro_spring_1_3_2.xml
+/.idea/libraries/Maven__org_apache_shiro_shiro_core_1_3_2.xml
+/.idea/libraries/Maven__org_apache_poi_poi_ooxml_schemas_3_14.xml
+/.idea/libraries/Maven__org_apache_poi_poi_ooxml_3_14.xml
+/.idea/libraries/Maven__org_apache_poi_poi_3_14.xml
+/.idea/libraries/Maven__org_apache_httpcomponents_httpmime_4_3_6.xml
+/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_5.xml
+/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_2.xml
+/.idea/libraries/Maven__org_apache_commons_commons_pool2_2_4_2.xml
+/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_4.xml
+/.idea/libraries/Maven__net_sourceforge_nekohtml_nekohtml_1_9_22.xml
+/.idea/libraries/Maven__net_sf_json_lib_json_lib_jdk15_2_2_2.xml
+/.idea/libraries/Maven__net_sf_json_lib_json_lib_ext_spring_1_0_2.xml
+/.idea/libraries/Maven__net_sf_ezmorph_ezmorph_1_0_4.xml
+/.idea/libraries/Maven__net_minidev_json_smart_1_3_1.xml
+/.idea/libraries/Maven__net_jcip_jcip_annotations_1_0.xml
+/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_39.xml
+/.idea/libraries/Maven__log4j_log4j_1_2_17.xml
+/.idea/libraries/Maven__junit_junit_4_12.xml
+/.idea/libraries/Maven__jsptags_pager_taglib_2_0.xml
+/.idea/libraries/Maven__json_json_1_0.xml
+/.idea/libraries/Maven__joda_time_joda_time_2_9_4.xml
+/.idea/libraries/Maven__jline_jline_0_9_94.xml
+/.idea/libraries/Maven__jexcelapi_jxl_2_4_2.xml
+/.idea/libraries/Maven__jdom_jdom_1_0.xml
+/.idea/libraries/Maven__jaxen_jaxen_1_1_6.xml
+/.idea/libraries/Maven__javax_validation_validation_api_1_1_0_Final.xml
+/.idea/libraries/Maven__javax_servlet_jstl_1_2.xml
+/.idea/libraries/Maven__javax_servlet_jsp_javax_servlet_jsp_api_2_3_1.xml
+/.idea/libraries/Maven__javax_servlet_javax_servlet_api_3_1_0.xml
+/.idea/libraries/Maven__io_netty_netty_3_7_0_Final.xml
+/.idea/libraries/Maven__IKAnalyzer_IKAnalyzer2012_1_0.xml
+/.idea/libraries/Maven__fileupload_fileupload_1_3_1.xml
+/.idea/libraries/Maven__dom4j_dom4j_1_6_1.xml
+/.idea/libraries/Maven__displaytag_displaytag_1_2.xml
+/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml
+/.idea/libraries/Maven__commons_lang_commons_lang_2_6.xml
+/.idea/libraries/Maven__commons_io_commons_io_2_4.xml
+/.idea/libraries/Maven__commons_httpclient_commons_httpclient_3_1.xml
+/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_3_1.xml
+/.idea/libraries/Maven__commons_digester_commons_digester_2_1.xml
+/.idea/libraries/Maven__commons_configuration_commons_configuration_1_5.xml
+/.idea/libraries/Maven__commons_collections_commons_collections_3_2_2.xml
+/.idea/libraries/Maven__commons_codec_commons_codec_1_10.xml
+/.idea/libraries/Maven__commons_beanutils_commons_beanutils_core_1_7_0.xml
+/.idea/libraries/Maven__commons_beanutils_commons_beanutils_1_9_2.xml
+/.idea/libraries/Maven__com_thoughtworks_xstream_xstream_1_2_1.xml
+/.idea/libraries/Maven__com_nimbusds_nimbus_jose_jwt_4_11_2.xml
+/.idea/libraries/Maven__com_mortennobel_java_image_scaling_0_8_5.xml
+/.idea/libraries/Maven__com_lowagie_itext_1_3.xml
+/.idea/libraries/Maven__com_jhlabs_filters_2_0_235.xml
+/.idea/libraries/Maven__com_jcraft_jsch_0_1_53.xml
+/.idea/libraries/Maven__com_googlecode_json_simple_json_simple_1_1.xml
+/.idea/libraries/Maven__com_google_zxing_javase_3_2_0.xml
+/.idea/libraries/Maven__com_google_zxing_core_3_2_0.xml
+/.idea/libraries/Maven__com_google_guava_guava_16_0_1.xml
+/.idea/libraries/Maven__com_google_code_gson_gson_2_7.xml
+/.idea/libraries/Maven__com_github_virtuald_curvesapi_1_03.xml
+/.idea/libraries/Maven__com_github_sogyf_goja_qrcode_0_1_2.xml
+/.idea/libraries/Maven__com_github_pagehelper_pagehelper_5_0_1.xml
+/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_1_0.xml
+/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_0_9_5.xml
+/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_8_3.xml
+/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_8_3.xml
+/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_3.xml
+/.idea/libraries/Maven__com_fasterxml_classmate_1_3_1.xml
+/.idea/libraries/Maven__com_auth0_java_jwt_2_2_1.xml
+/.idea/libraries/Maven__com_alibaba_fastjson_1_2_6.xml
+/.idea/libraries/Maven__com_alibaba_dubbo_2_5_3.xml
+/.idea/libraries/Maven__com_alibaba_druid_1_0_20.xml
+/.idea/libraries/Maven__com_101tec_zkclient_0_3.xml
+/.idea/libraries/Maven__codec_codec_1_9.xml
+/.idea/libraries/Maven__cn_jpush_api_jpush_client_3_2_8.xml
+/.idea/libraries/Maven__c3p0_c3p0_0_9_1_1.xml
+/.idea/inspectionProfiles/Project_Default.xml
+/.idea/inspectionProfiles/profiles_settings.xml
+/.idea/encodings.xml
+/.idea/dataSources/6494d36d-0540-40de-bb6c-8f817a0a9dc0.xml
+/.idea/dataSources.xml
+/.idea/dataSources.local.xml
+/.idea/copyright/profiles_settings.xml
+/.idea/codeStyleSettings.xml
+/.idea/artifacts/wateroPF_wechat_web_war_exploded.xml
+/.idea/artifacts/wateroPF_wechat_web_war.xml
+/.idea/artifacts/watero_wechat_web_war_exploded.xml
+/.idea/artifacts/watero_wechat_web_war.xml
+/.idea/artifacts/watero_rst_web_war_exploded.xml
+/.idea/artifacts/watero_rst_web_war.xml
+/.idea/artifacts/iamberry_wechat_web_war_exploded.xml
+/.idea/artifacts/iamberry_wechat_web_war.xml
+/.idea/artifacts/iamberry_app_international_war_exploded.xml
+/.idea/artifacts/iamberry_app_international_war.xml
+/.idea/artifacts/iamberry_app_api_war_exploded.xml
+/.idea/artifacts/iamberry_app_api_war.xml
+/.idea/.name

+ 0 - 156
iamberry-common-tool/iamberry-common-tool.iml

@@ -1,156 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
-  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8" inherit-compiler-output="false">
-    <output url="file://$MODULE_DIR$/target/classes" />
-    <output-test url="file://$MODULE_DIR$/target/test-classes" />
-    <content url="file://$MODULE_DIR$">
-      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
-      <excludeFolder url="file://$MODULE_DIR$/target" />
-    </content>
-    <orderEntry type="inheritedJdk" />
-    <orderEntry type="sourceFolder" forTests="false" />
-    <orderEntry type="module" module-name="iamberry-common-config" />
-    <orderEntry type="library" name="Maven: com.google.zxing:core:3.2.0" level="project" />
-    <orderEntry type="library" name="Maven: com.google.zxing:javase:3.2.0" level="project" />
-    <orderEntry type="library" name="Maven: com.jcraft:jsch:0.1.53" level="project" />
-    <orderEntry type="library" name="Maven: jaxen:jaxen:1.1.6" level="project" />
-    <orderEntry type="library" name="Maven: dom4j:dom4j:1.6.1" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-aop:4.3.3.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-aspects:4.3.3.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-beans:4.3.3.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-context:4.3.3.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-context-support:4.3.2.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-core:4.3.3.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-expression:4.3.3.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:4.3.3.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-mock:2.0.8" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-orm:4.3.3.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-test:4.3.3.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-tx:4.3.3.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-web:4.3.3.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:4.3.3.RELEASE" level="project" />
-    <orderEntry type="library" scope="RUNTIME" name="Maven: mysql:mysql-connector-java:5.1.39" level="project" />
-    <orderEntry type="library" name="Maven: org.codehaus.jackson:jackson-mapper-lgpl:1.9.12" level="project" />
-    <orderEntry type="library" name="Maven: org.codehaus.jackson:jackson-core-lgpl:1.9.12" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.8.3" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.8.3" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.8.3" level="project" />
-    <orderEntry type="library" name="Maven: org.freemarker:freemarker:2.3.25-incubating" level="project" />
-    <orderEntry type="library" name="Maven: commons-lang:commons-lang:2.6" level="project" />
-    <orderEntry type="library" name="Maven: commons-io:commons-io:2.4" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.5" level="project" />
-    <orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils:1.9.2" level="project" />
-    <orderEntry type="library" name="Maven: commons-digester:commons-digester:2.1" level="project" />
-    <orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.3.1" level="project" />
-    <orderEntry type="library" name="Maven: com.google.guava:guava:18.0" level="project" />
-    <orderEntry type="library" name="Maven: org.aspectj:aspectjrt:1.8.9" level="project" />
-    <orderEntry type="library" name="Maven: org.aspectj:aspectjtools:1.8.9" level="project" />
-    <orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.8.9" level="project" />
-    <orderEntry type="library" name="Maven: commons-logging:commons-logging:1.2" level="project" />
-    <orderEntry type="library" name="Maven: log4j:log4j:1.2.17" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.21" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.21" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:slf4j-log4j12:1.7.21" level="project" />
-    <orderEntry type="library" name="Maven: joda-time:joda-time:2.9.4" level="project" />
-    <orderEntry type="library" name="Maven: displaytag:displaytag:1.2" level="project" />
-    <orderEntry type="library" name="Maven: jsptags:pager-taglib:2.0" level="project" />
-    <orderEntry type="library" name="Maven: org.quartz-scheduler:quartz:2.2.1" level="project" />
-    <orderEntry type="library" name="Maven: redis.clients:jedis:2.8.1" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.velocity:velocity:1.7" level="project" />
-    <orderEntry type="library" name="Maven: com.google.code.gson:gson:2.7" level="project" />
-    <orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.6" level="project" />
-    <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.10" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.4" level="project" />
-    <orderEntry type="library" name="Maven: com.nimbusds:nimbus-jose-jwt:4.11.2" level="project" />
-    <orderEntry type="library" name="Maven: com.thoughtworks.xstream:xstream:1.2.1" level="project" />
-    <orderEntry type="library" name="Maven: net.sf.json-lib:json-lib-ext-spring:1.0.2" level="project" />
-    <orderEntry type="library" name="Maven: javax.servlet:javax.servlet-api:3.1.0" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.poi:poi:3.14" level="project" />
-    <orderEntry type="library" name="Maven: com.mortennobel:java-image-scaling:0.8.5" level="project" />
-    <orderEntry type="library" name="Maven: QRCode:QRCode:3.0" level="project" />
-    <orderEntry type="library" name="Maven: com.github.sogyf:goja-qrcode:0.1.2" level="project" />
-    <orderEntry type="library" name="Maven: jdom:jdom:1.0" level="project" />
-    <orderEntry type="library" name="Maven: jexcelapi:jxl:2.4.2" level="project" />
-    <orderEntry type="library" name="Maven: javax.servlet:jstl:1.2" level="project" />
-    <orderEntry type="library" name="Maven: org.owasp.antisamy:antisamy:1.4.3" level="project" />
-    <orderEntry type="library" name="Maven: org.owasp.esapi:esapi:2.1.0" level="project" />
-    <orderEntry type="library" name="Maven: org.mybatis:mybatis:3.2.8" level="project" />
-    <orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:1.2.2" level="project" />
-    <orderEntry type="library" name="Maven: oro:oro:2.0.8" level="project" />
-    <orderEntry type="library" name="Maven: com.101tec:zkclient:0.3" level="project" />
-    <orderEntry type="library" name="Maven: com.alibaba:dubbo:2.5.3" level="project" />
-    <orderEntry type="library" name="Maven: javax.validation:validation-api:1.1.0.Final" level="project" />
-    <orderEntry type="library" name="Maven: org.hibernate:hibernate-validator:5.2.4.Final" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpmime:4.3.6" level="project" />
-    <orderEntry type="library" name="Maven: org.json:json:20160212" level="project" />
-    <orderEntry type="library" name="Maven: cn.jpush.api:jpush-client:3.2.8" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-websocket:4.1.3.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper:5.0.1" level="project" />
-    <orderEntry type="library" name="Maven: org.elasticsearch:elasticsearch:2.4.1" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.lucene:lucene-core:5.5.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.lucene:lucene-backward-codecs:5.5.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.lucene:lucene-analyzers-common:5.5.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.lucene:lucene-queries:5.5.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.lucene:lucene-memory:5.5.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.lucene:lucene-highlighter:5.5.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.lucene:lucene-join:5.5.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.lucene:lucene-queryparser:5.5.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.lucene:lucene-sandbox:5.5.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.lucene:lucene-suggest:5.5.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.lucene:lucene-misc:5.5.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.lucene:lucene-grouping:5.5.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.lucene:lucene-spatial:5.5.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.lucene:lucene-spatial3d:5.5.2" level="project" />
-    <orderEntry type="library" name="Maven: com.spatial4j:spatial4j:0.5" level="project" />
-    <orderEntry type="library" name="Maven: org.elasticsearch:securesm:1.0" level="project" />
-    <orderEntry type="library" name="Maven: com.carrotsearch:hppc:0.7.1" level="project" />
-    <orderEntry type="library" name="Maven: org.joda:joda-convert:1.2" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.dataformat:jackson-dataformat-smile:2.8.3" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.8.3" level="project" />
-    <orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.17" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.8.3" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty:3.10.6.Final" level="project" />
-    <orderEntry type="library" name="Maven: com.ning:compress-lzf:1.0.2" level="project" />
-    <orderEntry type="library" name="Maven: com.tdunning:t-digest:3.0" level="project" />
-    <orderEntry type="library" name="Maven: org.hdrhistogram:HdrHistogram:2.1.6" level="project" />
-    <orderEntry type="library" name="Maven: commons-cli:commons-cli:1.3.1" level="project" />
-    <orderEntry type="library" name="Maven: com.twitter:jsr166e:1.1.0" level="project" />
-    <orderEntry type="library" name="Maven: com.auth0:java-jwt:2.2.1" level="project" />
-    <orderEntry type="library" name="Maven: xml-apis:xml-apis:1.4.01" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.12" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
-    <orderEntry type="library" name="Maven: commons-collections:commons-collections:3.2.2" level="project" />
-    <orderEntry type="library" name="Maven: com.lowagie:itext:1.3" level="project" />
-    <orderEntry type="library" name="Maven: c3p0:c3p0:0.9.1.1" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.commons:commons-pool2:2.4.2" level="project" />
-    <orderEntry type="library" name="Maven: net.jcip:jcip-annotations:1.0" level="project" />
-    <orderEntry type="library" name="Maven: net.minidev:json-smart:1.3.1" level="project" />
-    <orderEntry type="library" name="Maven: xpp3:xpp3_min:1.1.3.4.O" level="project" />
-    <orderEntry type="library" name="Maven: net.sf.json-lib:json-lib:jdk15:2.2.2" level="project" />
-    <orderEntry type="library" name="Maven: net.sf.ezmorph:ezmorph:1.0.4" level="project" />
-    <orderEntry type="library" name="Maven: com.jhlabs:filters:2.0.235" level="project" />
-    <orderEntry type="library" name="Maven: xerces:xercesImpl:2.8.1" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-css:1.7" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-ext:1.7" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-util:1.7" level="project" />
-    <orderEntry type="library" name="Maven: xml-apis:xml-apis-ext:1.3.04" level="project" />
-    <orderEntry type="library" name="Maven: net.sourceforge.nekohtml:nekohtml:1.9.22" level="project" />
-    <orderEntry type="library" name="Maven: commons-httpclient:commons-httpclient:3.1" level="project" />
-    <orderEntry type="library" name="Maven: commons-configuration:commons-configuration:1.5" level="project" />
-    <orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils-core:1.7.0" level="project" />
-    <orderEntry type="library" name="Maven: xom:xom:1.2.5" level="project" />
-    <orderEntry type="library" name="Maven: xalan:xalan:2.7.0" level="project" />
-    <orderEntry type="library" name="Maven: org.beanshell:bsh-core:2.0b4" level="project" />
-    <orderEntry type="library" name="Maven: jline:jline:0.9.94" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.zookeeper:zookeeper:3.3.1" level="project" />
-    <orderEntry type="library" name="Maven: org.javassist:javassist:3.20.0-GA" level="project" />
-    <orderEntry type="library" name="Maven: org.jboss.netty:netty:3.2.5.Final" level="project" />
-    <orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.3.0.Final" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml:classmate:1.3.1" level="project" />
-    <orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:0.9.5" level="project" />
-  </component>
-</module>

+ 0 - 126
iamberry-common-web/iamberry-common-web.iml

@@ -1,126 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
-  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8" inherit-compiler-output="false">
-    <output url="file://$MODULE_DIR$/target/classes" />
-    <output-test url="file://$MODULE_DIR$/target/test-classes" />
-    <content url="file://$MODULE_DIR$">
-      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
-      <excludeFolder url="file://$MODULE_DIR$/target" />
-    </content>
-    <orderEntry type="inheritedJdk" />
-    <orderEntry type="sourceFolder" forTests="false" />
-    <orderEntry type="library" name="Maven: com.google.zxing:core:3.2.0" level="project" />
-    <orderEntry type="library" name="Maven: com.google.zxing:javase:3.2.0" level="project" />
-    <orderEntry type="library" name="Maven: com.jcraft:jsch:0.1.53" level="project" />
-    <orderEntry type="library" name="Maven: jaxen:jaxen:1.1.6" level="project" />
-    <orderEntry type="library" name="Maven: dom4j:dom4j:1.6.1" level="project" />
-    <orderEntry type="library" name="Maven: xml-apis:xml-apis:1.4.01" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.12" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-aop:4.3.3.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-beans:4.3.3.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-core:4.3.3.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-aspects:4.3.3.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.8.9" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-context:4.3.3.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-expression:4.3.3.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-context-support:4.3.2.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: commons-logging:commons-logging:1.2" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:4.3.3.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-tx:4.3.3.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-mock:2.0.8" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-orm:4.3.3.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-test:4.3.3.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-web:4.3.3.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:4.3.3.RELEASE" level="project" />
-    <orderEntry type="library" scope="RUNTIME" name="Maven: mysql:mysql-connector-java:5.1.39" level="project" />
-    <orderEntry type="library" name="Maven: org.codehaus.jackson:jackson-mapper-lgpl:1.9.12" level="project" />
-    <orderEntry type="library" name="Maven: org.codehaus.jackson:jackson-core-lgpl:1.9.12" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.8.3" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.8.3" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.8.3" level="project" />
-    <orderEntry type="library" name="Maven: org.freemarker:freemarker:2.3.25-incubating" level="project" />
-    <orderEntry type="library" name="Maven: commons-lang:commons-lang:2.6" level="project" />
-    <orderEntry type="library" name="Maven: commons-io:commons-io:2.4" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.5" level="project" />
-    <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.10" level="project" />
-    <orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils:1.9.2" level="project" />
-    <orderEntry type="library" name="Maven: commons-collections:commons-collections:3.2.2" level="project" />
-    <orderEntry type="library" name="Maven: commons-digester:commons-digester:2.1" level="project" />
-    <orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.3.1" level="project" />
-    <orderEntry type="library" name="Maven: com.google.guava:guava:16.0.1" level="project" />
-    <orderEntry type="library" name="Maven: org.aspectj:aspectjrt:1.8.9" level="project" />
-    <orderEntry type="library" name="Maven: org.aspectj:aspectjtools:1.8.9" level="project" />
-    <orderEntry type="library" name="Maven: log4j:log4j:1.2.17" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.21" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.21" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:slf4j-log4j12:1.7.21" level="project" />
-    <orderEntry type="library" name="Maven: joda-time:joda-time:2.9.4" level="project" />
-    <orderEntry type="library" name="Maven: displaytag:displaytag:1.2" level="project" />
-    <orderEntry type="library" name="Maven: com.lowagie:itext:1.3" level="project" />
-    <orderEntry type="library" name="Maven: jsptags:pager-taglib:2.0" level="project" />
-    <orderEntry type="library" name="Maven: org.quartz-scheduler:quartz:2.2.1" level="project" />
-    <orderEntry type="library" name="Maven: c3p0:c3p0:0.9.1.1" level="project" />
-    <orderEntry type="library" name="Maven: redis.clients:jedis:2.8.1" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.commons:commons-pool2:2.4.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.velocity:velocity:1.7" level="project" />
-    <orderEntry type="library" name="Maven: com.google.code.gson:gson:2.7" level="project" />
-    <orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.6" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.4" level="project" />
-    <orderEntry type="library" name="Maven: com.nimbusds:nimbus-jose-jwt:4.11.2" level="project" />
-    <orderEntry type="library" name="Maven: net.jcip:jcip-annotations:1.0" level="project" />
-    <orderEntry type="library" name="Maven: net.minidev:json-smart:1.3.1" level="project" />
-    <orderEntry type="library" name="Maven: com.thoughtworks.xstream:xstream:1.2.1" level="project" />
-    <orderEntry type="library" name="Maven: xpp3:xpp3_min:1.1.3.4.O" level="project" />
-    <orderEntry type="library" name="Maven: net.sf.json-lib:json-lib-ext-spring:1.0.2" level="project" />
-    <orderEntry type="library" name="Maven: net.sf.json-lib:json-lib:jdk15:2.2.2" level="project" />
-    <orderEntry type="library" name="Maven: net.sf.ezmorph:ezmorph:1.0.4" level="project" />
-    <orderEntry type="library" name="Maven: javax.servlet:javax.servlet-api:3.1.0" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.poi:poi:3.14" level="project" />
-    <orderEntry type="library" name="Maven: com.mortennobel:java-image-scaling:0.8.5" level="project" />
-    <orderEntry type="library" name="Maven: com.jhlabs:filters:2.0.235" level="project" />
-    <orderEntry type="library" name="Maven: QRCode:QRCode:3.0" level="project" />
-    <orderEntry type="library" name="Maven: com.github.sogyf:goja-qrcode:0.1.2" level="project" />
-    <orderEntry type="library" name="Maven: jdom:jdom:1.0" level="project" />
-    <orderEntry type="library" name="Maven: jexcelapi:jxl:2.4.2" level="project" />
-    <orderEntry type="library" name="Maven: javax.servlet:jstl:1.2" level="project" />
-    <orderEntry type="library" name="Maven: org.owasp.antisamy:antisamy:1.4.3" level="project" />
-    <orderEntry type="library" name="Maven: xerces:xercesImpl:2.8.1" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-css:1.7" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-ext:1.7" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-util:1.7" level="project" />
-    <orderEntry type="library" name="Maven: xml-apis:xml-apis-ext:1.3.04" level="project" />
-    <orderEntry type="library" name="Maven: net.sourceforge.nekohtml:nekohtml:1.9.22" level="project" />
-    <orderEntry type="library" name="Maven: commons-httpclient:commons-httpclient:3.1" level="project" />
-    <orderEntry type="library" name="Maven: org.owasp.esapi:esapi:2.1.0" level="project" />
-    <orderEntry type="library" name="Maven: commons-configuration:commons-configuration:1.5" level="project" />
-    <orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils-core:1.7.0" level="project" />
-    <orderEntry type="library" name="Maven: xom:xom:1.2.5" level="project" />
-    <orderEntry type="library" name="Maven: xalan:xalan:2.7.0" level="project" />
-    <orderEntry type="library" name="Maven: org.beanshell:bsh-core:2.0b4" level="project" />
-    <orderEntry type="library" name="Maven: org.mybatis:mybatis:3.2.8" level="project" />
-    <orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:1.2.2" level="project" />
-    <orderEntry type="library" name="Maven: oro:oro:2.0.8" level="project" />
-    <orderEntry type="library" name="Maven: jline:jline:0.9.94" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty:3.7.0.Final" level="project" />
-    <orderEntry type="library" name="Maven: com.101tec:zkclient:0.3" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.zookeeper:zookeeper:3.3.1" level="project" />
-    <orderEntry type="library" name="Maven: com.alibaba:dubbo:2.5.3" level="project" />
-    <orderEntry type="library" name="Maven: org.javassist:javassist:3.20.0-GA" level="project" />
-    <orderEntry type="library" name="Maven: org.jboss.netty:netty:3.2.5.Final" level="project" />
-    <orderEntry type="library" name="Maven: javax.validation:validation-api:1.1.0.Final" level="project" />
-    <orderEntry type="library" name="Maven: org.hibernate:hibernate-validator:5.2.4.Final" level="project" />
-    <orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.3.0.Final" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml:classmate:1.3.1" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpmime:4.3.6" level="project" />
-    <orderEntry type="library" name="Maven: org.json:json:20160212" level="project" />
-    <orderEntry type="library" name="Maven: cn.jpush.api:jpush-client:3.2.8" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-websocket:4.1.3.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper:5.0.1" level="project" />
-    <orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:0.9.5" level="project" />
-  </component>
-</module>

+ 7 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/pts/EquipmentService.java

@@ -61,4 +61,11 @@ public interface EquipmentService {
      * @return
      */
     boolean updateProcessInfo(ProduceProcess process);
+
+
+    /**
+     * 查询是否存在机器
+     * @return
+     */
+    List<PtsDevice> listDeviceByNo(PtsDevice ptsDevice);
 }

+ 6 - 1
watero-rst-interface/src/main/java/com/iamberry/rst/faces/pts/MachineService.java

@@ -1,8 +1,10 @@
 package com.iamberry.rst.faces.pts;
 
 import com.iamberry.rst.core.order.Order;
+import com.iamberry.rst.core.page.PageRequest;
 import com.iamberry.rst.core.page.PagedResult;
 import com.iamberry.rst.core.pts.Produce;
+import com.iamberry.rst.core.pts.PtsEmployee;
 import com.iamberry.rst.core.pts.PtsMachine;
 import com.iamberry.rst.core.pts.PtsMachineLogs;
 
@@ -20,7 +22,7 @@ public interface MachineService {
     Integer updateMachine(PtsMachine ptsMachine);
 
     //查询机器列表
-    PagedResult<PtsMachine> listMachine(int pageNO, int pageSize, PtsMachine ptsMachine, boolean isTotalNum);
+    PagedResult<PtsMachine> listMachine(PageRequest<PtsMachine> pageRequest);
 
     //查询最新机器
     List<PtsMachine> listLatestMachine(Integer machineId);
@@ -30,6 +32,9 @@ public interface MachineService {
 
     List<PtsMachine> listPrintOrder(PtsMachine ptsMachine);
 
+    //分页查询机器打印列表
+    PagedResult<PtsMachine> getPrintOrderList(int pageNO, int pageSize, PtsMachine ptsMachine, boolean isTotalNum);
+
     //获取单个机器生产流程日志
     List<PtsMachineLogs> listMachineLogs(Integer machineId);
 

+ 5 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/pts/EquipmentServiceImpl.java

@@ -91,4 +91,9 @@ public class EquipmentServiceImpl implements EquipmentService {
             return false;
         }
     }
+
+    @Override
+    public List<PtsDevice> listDeviceByNo(PtsDevice ptsDevice) {
+        return equipmentMapper.listDevice(ptsDevice);
+    }
 }

+ 12 - 3
watero-rst-service/src/main/java/com/iamberry/rst/service/pts/MachineServiceImpl.java

@@ -2,7 +2,9 @@ package com.iamberry.rst.service.pts;
 
 import com.github.pagehelper.PageHelper;
 import com.iamberry.rst.core.order.Order;
+import com.iamberry.rst.core.page.PageRequest;
 import com.iamberry.rst.core.page.PagedResult;
+import com.iamberry.rst.core.pts.PtsEmployee;
 import com.iamberry.rst.core.pts.PtsMachine;
 import com.iamberry.rst.core.pts.PtsMachineLogs;
 import com.iamberry.rst.faces.pts.MachineService;
@@ -35,9 +37,9 @@ public class MachineServiceImpl implements MachineService {
     }
 
     @Override
-    public PagedResult<PtsMachine> listMachine(int pageNO, int pageSize, PtsMachine ptsMachine, boolean isTotalNum) {
-        PageHelper.startPage(pageNO, pageSize, isTotalNum);
-        List<PtsMachine> list = machineMapper.listMachine(ptsMachine);
+    public PagedResult<PtsMachine> listMachine(PageRequest<PtsMachine> pageRequest) {
+        PageHelper.startPage(pageRequest.getPageNO(), pageRequest.getPageSize(), pageRequest.isPageTotal());
+        List<PtsMachine> list = machineMapper.listMachine(pageRequest.getData());
         return PageUtil.getPage(list);
     }
 
@@ -57,6 +59,13 @@ public class MachineServiceImpl implements MachineService {
     }
 
     @Override
+    public PagedResult<PtsMachine> getPrintOrderList(int pageNO, int pageSize, PtsMachine ptsMachine, boolean isTotalNum){
+        PageHelper.startPage(pageNO, pageSize, isTotalNum);
+        List<PtsMachine> list = machineMapper.listMachine(ptsMachine);
+        return PageUtil.getPage(list);
+    }
+
+    @Override
     public List<PtsMachineLogs> listMachineLogs(Integer machineId) {
         return machineMapper.listMachineLogs(machineId);
     }

+ 12 - 4
watero-rst-service/src/main/java/com/iamberry/rst/service/pts/ProduceServiceImpl.java

@@ -75,12 +75,15 @@ public class ProduceServiceImpl implements ProduceService {
     //添加产品
     @Transactional
     public Integer saveProduce(Produce produce){
-        produce.setProduceNo(ProduceNoUtil.getProduceNo(produceMapper));
-        produce.setProduceStatus(1);
+        if(0 == produce.getProduceStatus()){
+            produce.setProduceNo(ProduceNoUtil.NO_NUMBER);
+        }else{
+            produce.setProduceNo(ProduceNoUtil.getProduceNo(produceMapper));
+        }
         int flag = produceMapper.saveProduce(produce);
         Integer produceId = produce.getProduceId(); // 获取产品主键
 
-        int sort = 0;   //专用排序字段
+        int sort = 1;   //专用排序字段
         for (int i=0; i<produce.getProcess().size();i++){
             produce.getProcess().get(i).setProduceId(produceId);    //产品id
             produce.getProcess().get(i).setProcessNo(ProduceNoUtil.getProcessNo(i));  //工序编号
@@ -127,6 +130,11 @@ public class ProduceServiceImpl implements ProduceService {
      */
     @Transactional
     public Integer updateProduce(Produce produce,String delProcessIds,String delNodeIds){
+        if(0 == produce.getProduceStatus()){
+            produce.setProduceNo(ProduceNoUtil.NO_NUMBER);
+        }else{
+            produce.setProduceNo(ProduceNoUtil.getProduceNo(produceMapper));
+        }
         //修改产品
         int flag = produceMapper.updateProduce(produce);
 
@@ -143,7 +151,7 @@ public class ProduceServiceImpl implements ProduceService {
 
         Integer produceId = produce.getProduceId();
 
-        int sort = 0;   //专用排序字段
+        int sort = 1;   //专用排序字段
 
         List<ProduceProcess> updateProcessList = new ArrayList<ProduceProcess>();
         List<ProcessNode> updateNodeList = new ArrayList<ProcessNode>();

+ 1 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/pts/PtsEmployeeServiceImpl.java

@@ -69,7 +69,7 @@ public class PtsEmployeeServiceImpl implements PtsEmployeeService {
      * @param employeeNo
      * @return
      */
-    public PtsEmployee getEmployeeByEmployeeNo(String employeeNo){
+    public  PtsEmployee getEmployeeByEmployeeNo(String employeeNo){
         return ptsEmployeeMapper.getEmployeeByEmployeeNo(employeeNo);
     }
 }

+ 5 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/pts/mapper/equipmentMapper.xml

@@ -31,6 +31,9 @@
             <if test="deviceId != null">
                 and device_id = #{deviceId}
             </if>
+            <if test="deviceNumber != null and deviceNumber !='' ">
+                and device_number = #{deviceNumber}
+            </if>
         </where>
         ORDER BY device_id DESC
     </select>
@@ -161,6 +164,8 @@
         LEFT JOIN tb_rst_pts_employee e ON ts.employee_id = e.employee_id
         WHERE
           ts.produce_id = #{produceId}
+          AND process_status = 1
+          ORDER  BY  process_sort
     </select>
 
     <!-- 获取员工集合 -->

+ 2 - 5
watero-rst-service/src/main/java/com/iamberry/rst/service/pts/mapper/produceMapper.xml

@@ -193,21 +193,18 @@
             <if test="produceNo !=null and produceNo !=''">
                 produce_no = #{produceNo},
             </if>
-            <if test="produceType !=null and produceType !=''">
+            <if test="produceType !=null">
                 produce_type = #{produceType},
             </if>
             <if test="produceName !=null and produceName !=''">
                 produce_name = #{produceName},
             </if>
-            <if test="produceStatus !=null and produceStatus !=''">
+            <if test="produceStatus !=null">
                 produce_status = #{produceStatus},
             </if>
             <if test="produceRemake !=null and produceRemake !=''">
                 produce_remake = #{produceRemake},
             </if>
-            <if test="produceType !=null and produceType !=''">
-                produce_type = #{produceType},
-            </if>
         </set>
         WHERE
             produce_id = #{produceId}

+ 3 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/pts/mapper/ptsEmployeeMapper.xml

@@ -25,6 +25,9 @@
             <if test="employeeNo !=null and employeeNo !=''">
                 and employee_no = #{employeeNo}
             </if>
+            <if test="employeeState !=null">
+                and employee_state = #{employeeState}
+            </if>
         </where>
     </select>
 

+ 5 - 1
watero-rst-service/src/main/java/com/iamberry/rst/util/ProduceNoUtil.java

@@ -2,6 +2,7 @@ package com.iamberry.rst.util;
 
 import com.iamberry.rst.core.pts.Produce;
 import com.iamberry.rst.service.pts.mapper.ProduceMapper;
+import org.springframework.beans.factory.annotation.Autowired;
 
 import javax.print.DocFlavor;
 import java.util.LinkedList;
@@ -19,7 +20,10 @@ public class ProduceNoUtil {
             "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"};
 
     //已删除的产品,工序的编号为#
-    private final static  String NO_NUMBER = "#";
+    public final static  String NO_NUMBER = "#";
+
+    private ProduceNoUtil() {
+    }
 
     /**
      * 获取产品编号

+ 42 - 14
watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/AdminMachineController.java

@@ -2,7 +2,9 @@ package com.iamberry.rst.controllers.pts;
 
 import com.iamberry.rst.core.order.Order;
 import com.iamberry.rst.core.order.RentType;
+import com.iamberry.rst.core.page.PageRequest;
 import com.iamberry.rst.core.page.PagedResult;
+import com.iamberry.rst.core.pts.PtsEmployee;
 import com.iamberry.rst.core.pts.PtsMachine;
 import com.iamberry.rst.core.pts.PtsMachineLogs;
 import com.iamberry.rst.faces.pts.*;
@@ -42,15 +44,9 @@ public class AdminMachineController {
     public ModelAndView listOrder(
             @RequestParam(value= "pageSize",defaultValue= "10" ,required=false) Integer pageSize,
             @RequestParam(value = "pageNO", defaultValue = "1",required=false) Integer pageNO,
-            @RequestParam(value = "totalNum", defaultValue = "0",required=false) Integer totalNum,
+            @RequestParam(value = "pageTotal", required = false) Integer pageTotal,
             PtsMachine ptsMachine){
         ModelAndView mv = new ModelAndView("pts/machine/machine_list");
-        PagedResult<PtsMachine> pagedResult = machineService.listMachine(pageNO, pageSize, ptsMachine, totalNum == 0);
-
-        if(totalNum != 0) {
-            pagedResult.setTotal(totalNum);
-            pagedResult.setPages((int) Math.ceil((double)totalNum/pageSize));
-        }
         StringBuilder sb = new StringBuilder("/admin/machine/_machine_list?pageSize=" + pageSize);
 
         if (StringUtils.isNotEmpty(ptsMachine.getMachineBarcode())) {
@@ -68,12 +64,21 @@ public class AdminMachineController {
             sb.append(ptsMachine.getMachineProcessState());
             mv.addObject("machineProcessState",ptsMachine.getMachineProcessState());
         }
-        sb.append("&totalNum=");
-        sb.append(totalNum == 0 ? pagedResult.getTotal() : totalNum);
-        sb.append("&pageNO=");
+
+        PageRequest<PtsMachine> pageRequest = new PageRequest<PtsMachine>(ptsMachine, pageNO, pageSize, pageTotal == null);
+        PagedResult<PtsMachine> pagedResult = machineService.listMachine(pageRequest);
+
+        long total = 0;
+        if (pageTotal == null) {
+            total = pagedResult.getPages();
+        } else {
+            total = pageTotal;
+            pagedResult.setPages(total);
+        }
         //查询最新一条机器id
         Integer machineId = machineService.maxMachineId();
         mv.addObject("machineId",machineId);
+        sb.append("&pageTotal=").append(total).append("&pageNO=");
         mv.addObject("page", pagedResult);
         mv.addObject("url", sb.toString());
         return mv;
@@ -122,14 +127,37 @@ public class AdminMachineController {
      */
     @RequiresPermissions("machine:select_all:machine")
     @RequestMapping("/_machine_print_list")
-    public ModelAndView listPrintMachine(PtsMachine ptsMachine){
+    public ModelAndView listPrintMachine(HttpServletRequest request,PtsMachine ptsMachine,
+                                        @RequestParam(value= "pageSize",defaultValue= "10" ,required=false) Integer pageSize,
+                                         @RequestParam(value = "pageNO", defaultValue = "1",required=false) Integer pageNO,
+                                         @RequestParam(value = "totalNum", defaultValue = "0",required=false) Integer totalNum){
         ModelAndView mv = new ModelAndView("pts/machine/machine_print_List");
-        List<PtsMachine> machineList = machineService.listPrintOrder(ptsMachine);
+        mv.addObject("machineIsPrint",ptsMachine.getMachineIsPrint() == null?"1":ptsMachine.getMachineIsPrint());
+
+        StringBuilder sb = new StringBuilder("/admin/machine/_machine_print_list?pageSize=" + pageSize);
+
+        if(ptsMachine == null ||  ptsMachine.getMachineIsPrint() == null || ptsMachine.getMachineIsPrint() == 1){ //未打印
+            List<PtsMachine> machineList = machineService.listPrintOrder(ptsMachine);
+            mv.addObject("machineList",machineList);
+        }else{  //已打印
+            PagedResult<PtsMachine> pagedResult = machineService.getPrintOrderList(pageNO, pageSize, ptsMachine, totalNum == 0);
+            if(totalNum != 0) {
+                pagedResult.setTotal(totalNum);
+                pagedResult.setPages((int) Math.ceil((double)totalNum/pageSize));
+            }
+            sb.append("&machineIsPrint=");
+            if(ptsMachine.getMachineIsPrint() != null && ptsMachine.getMachineIsPrint() == 2){
+                sb.append(ptsMachine.getMachineIsPrint());
+            }
+            sb.append("&totalNum=");
+            sb.append(totalNum == 0 ? pagedResult.getTotal() : totalNum);
+            sb.append("&pageNO=");
+            mv.addObject("page", pagedResult);
+            mv.addObject("url", sb.toString());
+        }
         //查询最新一条机器id
         Integer machineId = machineService.maxMachineId();
         mv.addObject("machineId",machineId);
-        mv.addObject("machineIsPrint",ptsMachine.getMachineIsPrint() == null?"1":ptsMachine.getMachineIsPrint());
-        mv.addObject("machineList", machineList);
         return mv;
     }
 

+ 13 - 5
watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/AdminPtsEmployeeController.java

@@ -35,11 +35,11 @@ public class AdminPtsEmployeeController {
     @RequestMapping("/_employee_list")
     @RequiresPermissions("employee:list_employee:employee")
     public ModelAndView getEmployeeList(HttpServletRequest request,
-                                    @RequestParam(value= "pageSize",defaultValue= "10" ,required=false) Integer pageSize,
-                                    @RequestParam(value = "pageNO", defaultValue = "1",required=false) Integer pageNO,
-                                    @RequestParam(value = "totalNum", defaultValue = "0",required=false) Integer totalNum) {
+                                        @RequestParam(value= "pageSize",defaultValue= "10" ,required=false) Integer pageSize,
+                                        @RequestParam(value = "pageNO", defaultValue = "1",required=false) Integer pageNO,
+                                        @RequestParam(value = "totalNum", defaultValue = "0",required=false) Integer totalNum) {
         ModelAndView mv = new ModelAndView("pts/employee/employee_list");
-
+        StringBuilder sb = new StringBuilder("/admin/employee/_employee_list?pageSize=" + pageSize);
         PtsEmployee employee = new PtsEmployee();
 
         String employeeName = request.getParameter("employeeName");
@@ -49,15 +49,23 @@ public class AdminPtsEmployeeController {
 
         if (employeeName != null && !"".equals(employeeName)) {
             employee.setEmployeeName(employeeName);
+            sb.append("&employeeName=");
+            sb.append(employeeName);
         }
         if (employeeNo != null && !"".equals(employeeNo)) {
             employee.setEmployeeNo(employeeNo);
+            sb.append("&employeeNo=");
+            sb.append(employeeNo);
         }
         if (employeeTel != null && !"".equals(employeeTel)) {
             employee.setEmployeeTel(employeeTel);
+            sb.append("&employeeTel=");
+            sb.append(employeeTel);
         }
         if (employeeState != null && !"".equals(employeeState)) {
             employee.setEmployeeState(Integer.valueOf(employeeState));
+            sb.append("&employeeState=");
+            sb.append(employeeState);
         }
 
         PagedResult<PtsEmployee> pagedResult = ptsEmployeeService.getEmployeeList(pageNO, pageSize, employee, totalNum == 0);
@@ -65,7 +73,7 @@ public class AdminPtsEmployeeController {
             pagedResult.setTotal(totalNum);
             pagedResult.setPages((int) Math.ceil((double)totalNum/pageSize));
         }
-        StringBuilder sb = new StringBuilder("/admin/employee/_employee_list?pageSize=" + pageSize);
+
         sb.append("&totalNum=");
         sb.append(totalNum == 0 ? pagedResult.getTotal() : totalNum);
         sb.append("&pageNO=");

+ 30 - 1
watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/EquipmentController.java

@@ -120,7 +120,7 @@ public class EquipmentController {
                                          @RequestParam(value = "pageNO", defaultValue = "1", required = false) int pageNO,
                                          @RequestParam(value = "pageTotal", required = false) Integer pageTotal,
                                          @RequestParam(value = "pageSize", defaultValue = "10", required = false) int pageSize
-                                         ) throws Exception {
+    ) throws Exception {
         ModelAndView mv = new ModelAndView("pts/device/device_list");
         StringBuilder url = new StringBuilder("/admin/equipment/select_device_list?pageSize=" + pageSize);
         String deviceNumber = request.getParameter("deviceNumber");
@@ -129,18 +129,26 @@ public class EquipmentController {
         String deviceRemake = request.getParameter("deviceRemake");
         PtsDevice device = new PtsDevice();
         if (StringUtil.isNotEmpty(deviceNumber)) {
+            url.append("&deviceNumber=");
+            url.append(deviceNumber);
             device.setDeviceNumber(deviceNumber);
             mv.addObject("deviceNumber", deviceNumber);
         }
         if (StringUtil.isNotEmpty(deviceName)) {
+            url.append("&deviceName=");
+            url.append(deviceName);
             device.setDeviceName(deviceName);
             mv.addObject("deviceName", deviceName);
         }
         if (StringUtil.isNotEmpty(deviceStatus)) {
+            url.append("&deviceStatus=");
+            url.append(deviceStatus);
             device.setDeviceStatus(Integer.parseInt(deviceStatus));
             mv.addObject("deviceStatus", device.getDeviceStatus());
         }
         if (StringUtil.isNotEmpty(deviceRemake)) {
+            url.append("&deviceRemake=");
+            url.append(deviceRemake);
             device.setDeviceRemake(deviceRemake);
             mv.addObject("deviceRemake", deviceRemake);
         }
@@ -296,4 +304,25 @@ public class EquipmentController {
             return msg;
         }
     }
+    /**
+     * 查询数据库是否有已存在的信息
+     * @param request
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping("/is_equipment")
+    public ResponseJson getEmployee(HttpServletRequest request){
+        String deviceNumber = request.getParameter("deviceNumber");
+        if(deviceNumber == null  || "".equals(deviceNumber)){
+            return new ResponseJson(500, "设备编号为空", 501);
+        }
+        PtsDevice ptsDevice = new PtsDevice();
+        ptsDevice.setDeviceNumber(deviceNumber);
+        List<PtsDevice>  ptsDevicelist = equipmentService.listDeviceByNo(ptsDevice);
+        if (ptsDevicelist != null && ptsDevicelist.size() > 0 ){
+            return new ResponseJson(200, "SUCCESS", 200);
+        }else {
+            return new ResponseJson(500, "设备不存在", 502);
+        }
+    }
 }

+ 2 - 2
watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/MachineController.java

@@ -108,9 +108,9 @@ public class MachineController {
             ProduceProcess produceProcess = produceService.getProduceProcess(produce.getProduceId(),processNo);
             ProcessNode processNode = produceService.getprocessNode(produceProcess.getProcessId(),nodeNo);
             PtsDevice ptsDevice = deviceService.getDevice(produceProcess.getDriveId());
-            PtsEmployee ptsEmployee =ptsEmployeeService.getPtsEmployeeById(employeeId);
+            PtsEmployee ptsEmployee =ptsEmployeeService.getPtsEmployeeById(produceProcess.getEmployeeId());
             ptsMachineLogs.setDeviceId(produceProcess.getDriveId());
-            ptsMachineLogs.setEmployeeId(employeeId);
+            ptsMachineLogs.setEmployeeId(produceProcess.getEmployeeId());
             ptsMachineLogs.setProduceId(produce.getProduceId());
             ptsMachineLogs.setProcessId(produceProcess.getProcessId());
             ptsMachineLogs.setMachineId(ptsMachine.getMachineId());

+ 1 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/PtsEmployeeAppController.java

@@ -41,6 +41,7 @@ public class PtsEmployeeAppController {
         }
         PtsEmployee ptsEmployee = new PtsEmployee();
         ptsEmployee.setEmployeeNo(employeeNo);
+        ptsEmployee.setEmployeeState(1);
         ptsEmployee = ptsEmployeeService.getPtsEmployee(ptsEmployee); //查询员工信息
         if (ptsEmployee == null) {
             rsj.setResultCode(500);

+ 29 - 21
watero-rst-web/src/main/webapp/WEB-INF/views/base/page_util.ftl

@@ -24,29 +24,37 @@
 
 
 <div align="right" style="margin-right: 18px">
-<div class="divBody">
-    <div id="testDIV"></div>
-    <form action="" id="myForm" method="post"></form>
-    <div class="btn-group">
+    <div class="divBody">
+        <div id="testDIV"></div>
+        <form action="" id="myForm" method="post"></form>
+        <div class="btn-group">
         <span class="btn btn-lowblue radius">
-            <#if page.pageNo == 1>
-                <a class="active">上一页</a>
-            <#else>
-                <a href="${path}${url}${page.pageNo-1}" class="aBtn bold">上一页</a>
-            </#if>
+        <#if page.pageNo == 1>
+            <a class="active">上一页</a>
+        <#else>
+            <a href="${path}${url}${page.pageNo-1}" class="aBtn bold">上一页</a>
+        </#if>
         </span>
-        <#if page.pages lte 6>
+        <#if page.pages lte 5>
             <#assign begin=1/>
             <#assign end=page.pages/>
         <#else>
             <#assign begin=(page.pageNo - 2)/>
             <#assign end=(page.pageNo + 3)/>
-            <#if begin lt 1>
+            <#if begin lt 2>
                 <#assign begin=1/>
-                <#assign end=1/>
+                <#assign end=5/>
             <#else>
-                <#assign begin=(page.pages - 5)/>
-                <#assign end=(page.pages)/>
+                <#if (page.pageNo + 2) lte page.pages>
+                    <#assign begin=(page.pageNo - 2)/>
+                    <#assign end=(page.pageNo + 2)/>
+                <#elseif (page.pageNo + 1) lte page.pages>
+                    <#assign begin=(page.pageNo - 3)/>
+                    <#assign end=(page.pageNo + 1)/>
+                <#else>
+                    <#assign begin=(page.pageNo - 4)/>
+                    <#assign end=(page.pages)/>
+                </#if>
             </#if>
         </#if>
 
@@ -59,21 +67,21 @@
         </#list>
 
         <#if end==page.pages><a class="active">...</a></#if>
-        <span class="btn btn-lowblue radius">
+            <span class="btn btn-lowblue radius">
             <#if (page.pageNo == page.pages || page.pages == 0)>
                 <a class="active">下一页</a>
             <#else>
                 <a href="${path }${url}${page.pageNo+1}" class="aBtn bold">下一页</a>
             </#if>
 		</span>
-        <span class="btn" style="cursor: default;">
+            <span class="btn" style="cursor: default;">
     			您当前位于:${page.pageNo}页
     	</span>
 
-        <span class="btn" style="cursor: default;">共<a class="active">${page.pages}</a>页</span>
-        <span class="btn" style="cursor: default;">到<a class="active" style="max-height: 36px;min-height: 34px"><input type="text" id="pageCode" value="${page.pageNo}" class="input-text radius" style="width: 36px;height:22px;text-align: center;" maxlength="3"/></a>页</span>
-        <span class="btn btn-lowblue radius"><a href="javascript:_go();" class="active">确定</a></span>
-        <a href="#" style="overflow:hidden" class="active"></a>
+            <span class="btn" style="cursor: default;">共<a class="active">${page.pages}</a>页</span>
+            <span class="btn" style="cursor: default;">到<a class="active" style="max-height: 36px;min-height: 34px"><input type="text" id="pageCode" value="${page.pageNo}" class="input-text radius" style="width: 36px;height:22px;text-align: center;" maxlength="3"/></a>页</span>
+            <span class="btn btn-lowblue radius"><a href="javascript:_go();" class="active">确定</a></span>
+            <a href="#" style="overflow:hidden" class="active"></a>
+        </div>
     </div>
-</div>
 </div>

+ 5 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/home/pc_index.ftl

@@ -28,9 +28,14 @@
         .acrossTab li.active{color:#fff;}
     </style>
     <title>Watero-RST 1.0</title>
+    <script language="JavaScript" type="text/javascript">
+        /*用于login页面判断是否有父级页面,如果有就强制跳转*/
+        var PARENT_IS_LOGIN = 1;
+    </script>
 </head>
 <body>
 <header class="navbar-wrapper">
+    <input type="hidden" id="parent_is_login" value="1" placeholder="用于判断是否存在父级页面!">
     <div class="navbar navbar-fixed-top">
         <div class="container-fluid cl"> <a class="logo navbar-logo f-l mr-10 hidden-xs" href="#"><img src="${path}/common/images/index/admin-login.png" style="height: 44px"/></a> <a class="logo navbar-logo-m f-l mr-10 visible-xs" href="#">Watero-RST</a>
             <span class="logo navbar-slogan f-l mr-10 hidden-xs">租赁服务跟踪系统v1.0</span>

+ 11 - 2
watero-rst-web/src/main/webapp/WEB-INF/views/login.ftl

@@ -19,8 +19,17 @@
     <script>DD_belatedPNG.fix('*');</script>
     <![endif]-->
     <title>后台登录 - Watero RST</title>
-    <script type="text/javascript">
+    <script language="JavaScript" type="text/javascript">
         var root_path = "${path}";
+
+        /*用于判断是否有父级页面,如果有就强制跳转*/
+        function myfun(){
+            var ifmObj = window.parent.PARENT_IS_LOGIN;
+            if(ifmObj != null && ifmObj != "" && typeof(ifmObj) !="undefined" && ifmObj != undefined && ifmObj == 1){
+                parent.location.href = "${path}/_login";
+            }
+        }
+        window.onload = myfun;
     </script>
 </head>
 <body>
@@ -46,7 +55,7 @@
             <div class="row">
                 <div class="formControls col-8 col-offset-3">
                     <label for="online">
-                        <input type="checkbox" name="online" id="remember_me" value="">使我保持登录状态</label>
+                        <input type="checkbox" name="online" id="remember_me" value="">&nbsp;&nbsp;使我保持登录状态</label>
                 </div>
             </div>
             <div class="row loginbox_btn">

+ 2 - 2
watero-rst-web/src/main/webapp/WEB-INF/views/order/businessManager_order_list.ftl

@@ -15,7 +15,7 @@
 <nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页
     <span class="c-gray en">&gt;</span> 订单管理
     <span class="c-gray en">&gt;</span> 业务经理订单列表
-    <a class="btn radius r" style="line-height:1.6em;margin-top:3px;background: #58d2ea;color: #fff;" href="javascript:location.replace(location.href);" title="刷新" ><i class="Hui-iconfont">&#xe68f;</i></a>
+    <a class="btn radius r" style="line-height:1.6em;margin-top:3px;background: #32a3d8;color: #fff;" href="javascript:location.replace(location.href);" title="刷新" ><i class="Hui-iconfont">&#xe68f;</i></a>
 </nav>
 <div class="page-container">
     <form action="${path}/admin/order/select_order_list" method="post" id="myForm">
@@ -103,7 +103,7 @@
             <td class="td-manage">
                 <a style="text-decoration:none" href="javascript:;" title="详情"
                    onclick="admin_add_filter('详情','${path}/admin/order/_select_orderApprovalDetails?orderId=${order.orderId!}','','550');">
-                    <i class="Hui-iconfont">&#xe719;</i>
+                    <i class="Hui-iconfont" style="font-size: 20px;">&#xe719;</i>
                 </a>
         </td>
         </tr>

+ 2 - 2
watero-rst-web/src/main/webapp/WEB-INF/views/order/financialManager_order_list.ftl

@@ -121,8 +121,8 @@
 
 
             <td class="td-manage">
-                <button onclick="through('${order.orderId!}');"class="mui-btn mui-btn-s">已付款</button>
-                <button onclick="confirms('${order.orderId!}');" class="mui-btn mui-btn-b">驳回</button>
+                <button onclick="through('${order.orderId!}');"class="btn btn-default">已付款</button>
+                <button onclick="confirms('${order.orderId!}');" class="btn btn-default">驳回</button>
         </td>
         </tr>
         </#list>

+ 67 - 8
watero-rst-web/src/main/webapp/WEB-INF/views/pts/device/add_device.ftl

@@ -7,25 +7,27 @@
     <style>
         .my-title{font-weight: 500;padding-left: 15px;position: relative;}
         .my-title:after{content: '';position: absolute;left: 0;top:12%;width: 3px;height: 80%;background: #32a3d8;}
-        .my-input{padding: 5px 10px;width: 60%;}
-        .my-input-date{padding: 5px 10px;width: 60%;background: url(http://s.iamberry.com/images/rili-1.png) 98.5% center no-repeat; background-size:auto 80%;}
+        .my-input{padding: 8px 10px;width: 80%;border:1px solid rgba(0,0,0,.1);}
+        .my-input-date{padding: 8px 10px;border:1px solid rgba(0,0,0,.1);width: 80%;background: url(http://s.iamberry.com/images/rili-1.png) 98.5% center no-repeat; background-size:auto 50%;}
         .input-box{margin: 18px 0;}
         .input-dic{float: left;margin:5px 10px 0 0;font-size: 12px;}
         .add-list{list-style-type: none;padding: 10px;background-color: #f5f5f5;width: 60%;float: left;margin: 0;}
         .add-list>li{margin: 10px 0;}
-        .my-textarea{padding: 5px 10px;width: 60%;}
-        .my-btn-reset{padding: 6px 20px;width: 150px; background-color: #fff;color: #32a3d8;border: 1px solid #32a3d8;cursor:pointer;margin: 10px 10px 0 10px;}
-        .my-btn-submit{padding: 6px 20px;width: 150px; background-color: #32a3d8;color: #fff;border: 1px solid #32a3d8;cursor:pointer;margin: 10px 10px 0 10px;}
+        .my-textarea{padding: 5px 10px;width: 80%;border:1px solid rgba(0,0,0,.1);}
+        .my-btn-reset{padding: 10px 20px;width: 150px; background-color: #fff;color: #32a3d8;border: 1px solid #32a3d8;cursor:pointer;margin: 10px 10px 0 10px;}
+        .my-btn-submit{padding: 10px 20px;width: 150px; background-color: #32a3d8;color: #fff;border: 1px solid #32a3d8;cursor:pointer;margin: 10px 10px 0 10px;}
         .my-select{border: 1px solid rgba(0,0,0,.1);padding:6px 50px 6px 15px;width: 60%; height: 34px;margin: 0 10px; -webkit-appearance:none;appearance:none;background: url(http://s.iamberry.com/images/select-1.png) right center no-repeat #fff;background-size:auto 100%;}
+        input[type=radio]{-webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/radio-1.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
+        input[type=radio]:checked{-webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/radio-2.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
     </style>
 </head>
 <body>
 <nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页
     <span class="c-gray en">&gt;</span> PST管理
     <span class="c-gray en">&gt;</span> 添加设备
-    <a class="btn radius r" style="line-height:1.6em;margin-top:3px;background: #32a3d8;color: #fff;" href="javascript:location.replace(location.href);" title="刷新" ><i class="Hui-iconfont">&#xe68f;</i></a>
+    <a class="btn radius r" style="line-height:1.6em;margin-top:3px;background: #32a3d8;color: #fff;border:1px solid #32a3d8;" href="javascript:location.replace(location.href);" title="刷新" ><i class="Hui-iconfont">&#xe68f;</i></a>
 </nav>
-<div style="padding: 10px; padding-left: 250px;">
+<div style="padding: 10px; width: 600px;margin: 0 auto;">
     <form class="form-horizontal" action="${path}/admin/equipment/add_equpment" id="form-admin-add">
         <div class="my-title">设备信息</div>
         <div class="input-box">
@@ -34,7 +36,7 @@
         </div>
         <div class="input-box"><span class="input-dic">设备名称</span><input class="my-input" type="text" value="" name="deviceName" id="deviceName" placeholder="请输入设备名称,中文和英文"/> </div>
         <div class="input-box"><span class="input-dic">购买日期</span><input class="my-input-date" type="text" value="" name="device_date" id="device_date" placeholder="请选择购买日期" onClick="WdatePicker({skin:'whyGreen',maxDate:'%y-%M-%d'})" readonly="readonly"/> </div>
-        <div class="input-box"><span class="input-dic">设备状态</span><label for="radio-10"><input type="radio" id="radio-10" name="deviceStatus" value="1" checked/>正常使用</label><label for="radio-11" style="margin-left: 50px;"><input type="radio" id="radio-11" name="deviceStatus" value="0"/>设备停用</label> </div>
+        <div class="input-box"><span class="input-dic" style="margin-top: 0">设备状态</span><label for="radio-10"><input type="radio" id="radio-10" name="deviceStatus" value="1" checked/>正常使用</label><label for="radio-11" style="margin-left: 50px;"><input type="radio" id="radio-11" name="deviceStatus" value="0"/>设备停用</label> </div>
         <#--<div class="input-box"><span class="input-dic">作用流程</span>
             <ul class="add-list">
 
@@ -88,19 +90,76 @@
         var flag = true;
         var deviceNumber = $('#deviceNumber').val();
         var deviceName = $('#deviceName').val();
+        var device_date = $('#device_date').val();
+        var deviceRemake = $('#deviceRemake').val();
+
         if (deviceNumber == null || !check_number.test(deviceNumber)) {
             flag = false;
             layer.msg('设备编号格式不正确,请重新输入!',{icon: 5,time:1000});
             return flag;
         }
+        $.ajax({
+            cache: true,
+            type: "POST",
+            data: {
+                deviceNumber:deviceNumber
+            },
+            url: "${path}/admin/equipment/is_equipment",
+            async: false,
+            success: function(data){
+                if (data.returnCode == 200) {
+                    flag = false;
+                    layer.msg('该设备编号已存在',{icon: 5,time:1000});
+
+                }
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+
+            }
+        });
+        if(flag == false){
+            return flag;
+        }
         if (deviceName == null || !check_name.test(deviceName)) {
             flag = false;
             layer.msg('设备名称格式不正确,请重新输入!',{icon: 5,time:1000});
             return flag;
         }
+        if (device_date == null || device_date == "" ) {
+            flag = false;
+            layer.msg('购买日期不能为空!',{icon: 5,time:1000});
+            return flag;
+        }
+        if(deviceRemake != null){
+            if(deviceRemake.length > 50){
+                layer.msg('备注长度为0-50个字符!',{icon: 5,time:1000});
+            }
+        }
         return flag;
     }
 
+    /*验证编号*/
+    function ptsValiDataNo(thVal) {
+        $.ajax({
+            cache: true,
+            type: "POST",
+            data: {
+                deviceNumber:thVal
+            },
+            url: "${path}/admin/equipment/is_equipment",
+            async: false,
+            success: function(data){
+                if (data.returnCode == 200) {
+                    layer.msg('该设备编号已存在',{icon: 5,time:1000});
+                    return false;
+                }
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+
+            }
+        });
+    }
+
     function submit_value() {
         var deviceNumber = $('#deviceNumber').val();
         var deviceName = $('#deviceName').val();

+ 80 - 71
watero-rst-web/src/main/webapp/WEB-INF/views/pts/device/device_list.ftl

@@ -7,8 +7,12 @@
         *{padding: 0;margin: 0;}
         .my-input{border: 1px solid rgba(0,0,0,.1);padding: 1px 5px;height: 32px;margin-right: 10px;}
         .my-input::-webkit-input-placeholder,.my-select{color: #dcdcdc;}
-        .my-select{border: 1px solid rgba(0,0,0,.1);padding:6px 50px 6px 15px;height: 34px;margin: 0 10px; -webkit-appearance:none;appearance:none;background: url(images/select-1.png) right center no-repeat;background-size:auto 100%;}
+        .my-select{border: 1px solid rgba(0,0,0,.1);padding:6px 50px 6px 15px;height: 34px;margin: 0 10px; -webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/select-1.png) right center no-repeat;background-size:auto 100%;}
         .my-btn-search{border: 1px solid #32a3d8;padding: 1px 25px;height: 32px;background-color: #32a3d8;color: #fff;}
+        .barcodeImg{margin:10px 0px}
+        .table-bg thead th{background-color: #e2f6ff;}
+        input[type=radio]{-webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/radio-1.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
+        input[type=radio]:checked{-webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/radio-2.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
     </style>
 <#include "/base/list_base.ftl">
 </head>
@@ -19,78 +23,83 @@
     <a class="btn radius r" style="line-height:1.6em;margin-top:3px;background: #32a3d8;color: #fff;" href="javascript:location.replace(location.href);" title="刷新" ><i class="Hui-iconfont">&#xe68f;</i></a>
 </nav>
 <div class="page-container">
-<div class="text-c">
-    <form name="form1" action="${path}/admin/equipment/select_device_list" method="post">
-        <button type="button" style="cursor:pointer;" class="my-btn-search" onclick="add_device();">添加设备</button>
-        <input class="my-input" type="text" name="deviceNumber" value="${deviceNumber!}" placeholder="请输入设备编号"/>
-        <select class="select" name="deviceStatus" style="height: 30px;width: 150px">
-            <option value ="">全部</option>
-            <option value ="0" <#if deviceStatus??><#if deviceStatus == 0>selected="selected"</#if></#if>>停止使用</option>
-            <option value ="1" <#if deviceStatus??><#if deviceStatus == 1>selected="selected"</#if></#if>>正常使用</option>
-        </select>
-        <input class="my-input" type="text" name="deviceName" value="${deviceName!}" placeholder="请输入设备名称"/>
-        <input class="my-input" type="text" name="deviceRemake" value="${deviceRemake!}" placeholder="请输入备注"/>
-        <button style="cursor:pointer;" type="submit" class="my-btn-search">搜索</button>
-    </form>
-</div>
-<div class="mt-20">
-    <table class="table table-border table-bordered table-bg table-hover table-sort">
-        <thead>
-        <tr class="text-c">
-            <th width="100">设备编号</th>
-            <th width="100">设备名称</th>
-            <th width="100">设备备注</th>
-            <th width="100">购买日期</th>
-            <th width="100">状态</th>
-            <th width="150">作用流程岗位</th>
-            <th width="50">操作</th>
-        </tr>
-        </thead>
-        <tbody id="listid">
-        <#list page.dataList as device>
-        <tr>
-            <td class="text-c" width="100">${device.deviceNumber!}</td>
-            <td class="text-c" width="100">${device.deviceName!}</td>
-            <td class="text-c" width="100">${device.deviceRemake!}</td>
-            <td class="text-c" width="100">${(device.deviceDate?string("yyyy-MM-dd"))!''}</td>
-            <td class="text-c" width="100">
-                <#if device.deviceStatus == 0>
-                    停止使用
-                </#if>
-                <#if device.deviceStatus == 1>
-                    正常使用
-                </#if>
-                <#if device.deviceStatus == 2>
-                    设备故障
-                </#if>
-            </td>
-            <td class="text-c" width="100">
-                <#if device.processList??>
-                    <#list device.processList as process>
-                        <#if (process_index + 1) == device.processList?size>
-                            ${process.produceName!}-${process.processName!}
+    <div class="text-c">
+        <form name="form1" action="${path}/admin/equipment/select_device_list" method="post">
+            <button type="button" style="cursor:pointer;float: left;" class="my-btn-search" onclick="add_device();">添加设备</button>
+            <input class="my-input" type="text" name="deviceNumber" value="${deviceNumber!}" placeholder="请输入设备编号"/>
+            <input class="my-input" type="text" name="deviceName" value="${deviceName!}" placeholder="请输入设备名称"/>
+            <input class="my-input" type="text" name="deviceRemake" value="${deviceRemake!}" placeholder="请输入备注"/>
+            <select class="my-select" name="deviceStatus" style="height: 30px;width: 150px">
+                <option value ="">全部</option>
+                <option value ="0" <#if deviceStatus??><#if deviceStatus == 0>selected="selected"</#if></#if>>停止使用</option>
+                <option value ="1" <#if deviceStatus??><#if deviceStatus == 1>selected="selected"</#if></#if>>正常使用</option>
+            </select>
+            <button style="cursor:pointer;" type="submit" class="my-btn-search">搜索</button>
+        </form>
+    </div>
+    <div class="mt-20">
+        <table class="table table-border table-bordered table-bg table-hover table-sort">
+            <thead>
+            <tr class="text-c">
+                <th width="100">设备编号</th>
+                <th width="100">设备名称</th>
+                <th width="100">设备备注</th>
+                <th width="100">购买日期</th>
+                <th width="100">状态</th>
+                <th width="150">作用流程岗位</th>
+                <th width="50">操作</th>
+            </tr>
+            </thead>
+            <tbody id="listid">
+            <#if (page.dataList?size > 0)>
+                <#list page.dataList as device>
+
+                <tr>
+                    <td class="text-c" width="100">${device.deviceNumber!}</td>
+                    <td class="text-c" width="100">${device.deviceName!}</td>
+                    <td class="text-c" width="100">${device.deviceRemake!}</td>
+                    <td class="text-c" width="100">${(device.deviceDate?string("yyyy-MM-dd"))!''}</td>
+                    <td class="text-c" width="100">
+                        <#if device.deviceStatus == 0>
+                            停止使用
+                        </#if>
+                        <#if device.deviceStatus == 1>
+                            正常使用
+                        </#if>
+                        <#if device.deviceStatus == 2>
+                            设备故障
                         </#if>
-                        <#if (process_index + 1) != device.processList?size>
-                        ${process.produceName!}-${process.processName!},
+                    </td>
+                    <td class="text-c" width="100">
+                        <#if device.processList??>
+                            <#list device.processList as process>
+                                <#if (process_index + 1) == device.processList?size>
+                                ${process.produceName!}-${process.processName!}
+                                </#if>
+                                <#if (process_index + 1) != device.processList?size>
+                                ${process.produceName!}-${process.processName!},
+                                </#if>
+                            </#list>
                         </#if>
-                    </#list>
-                </#if>
-            </td>
-            <!-- 遍历操作 -->
-            <td class="td-manage text-c">
-                <a style="text-decoration:none" href="javascript:;" title="查看"
-                   onclick="edit_detail('${path}/admin/equipment/_update_device?deviceId=${device.deviceId!}');">
-                    <i class="Hui-iconfont">&#xe6df;</i>
-                </a>
-                <a style="text-decoration:none" href="javascript:;" title="查看"
-                   onclick="edit_process('${path}/admin/equipment/_update_process?deviceId=${device.deviceId!}');">
-                    <i class="Hui-iconfont">&#xe665;</i>
-                </a>
-            </td>
-        </tr>
-        </#list>
-        </tbody>
-    </table>
+                    </td>
+                    <!-- 遍历操作 -->
+                    <td class="td-manage text-c">
+                        <a style="text-decoration:none" href="javascript:;" title="查看"
+                           onclick="edit_detail('${path}/admin/equipment/_update_device?deviceId=${device.deviceId!}');">
+                            <i class="Hui-iconfont">&#xe6df;</i>
+                        </a>
+                        <a style="text-decoration:none" href="javascript:;" title="查看作用工序"
+                           onclick="edit_process('${path}/admin/equipment/_update_process?deviceId=${device.deviceId!}');">
+                            <i class="Hui-iconfont">&#xe70c;</i>
+                        </a>
+                    </td>
+                </tr>
+                </#list>
+            <#else >
+            <tr><td class="td-manage text-c" colspan = "7">暂时没有设备,请添加</td></tr>
+            </#if>
+            </tbody>
+        </table>
     </div>
 </div>
 <div style="padding-top: 10px;"></div>

+ 37 - 1
watero-rst-web/src/main/webapp/WEB-INF/views/pts/device/update_device.ftl

@@ -17,13 +17,15 @@
         .my-btn-reset{padding: 6px 20px;width: 150px; background-color: #fff;color: #32a3d8;border: 1px solid #32a3d8;cursor:pointer;margin: 10px 10px 0 10px;}
         .my-btn-submit{padding: 6px 20px;width: 150px; background-color: #32a3d8;color: #fff;border: 1px solid #32a3d8;cursor:pointer;margin: 10px 10px 0 10px;}
         .my-select{border: 1px solid rgba(0,0,0,.1);padding:6px 50px 6px 15px;width: 60%; height: 34px;margin: 0 10px; -webkit-appearance:none;appearance:none;background: url(http://s.iamberry.com/images/select-1.png) right center no-repeat #fff;background-size:auto 100%;}
+        input[type=radio]{-webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/radio-1.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
+        input[type=radio]:checked{-webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/radio-2.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
     </style>
 </head>
 <body>
 <nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页
     <span class="c-gray en">&gt;</span> PST管理
     <span class="c-gray en">&gt;</span> 修改设备
-    <a class="btn radius r" style="line-height:1.6em;margin-top:3px;background: #32a3d8;color: #fff;" href="javascript:location.replace(location.href);" title="刷新" ><i class="Hui-iconfont">&#xe68f;</i></a>
+    <a class="btn radius r" style="line-height:1.6em;margin-top:3px;background: #32a3d8;color: #fff;border:1px solid #32a3d8;" href="javascript:location.replace(location.href);" title="刷新" ><i class="Hui-iconfont">&#xe68f;</i></a>
 </nav>
 <div style="padding: 10px;padding-left: 250px;">
     <form class="form-horizontal" action="${path}/admin/equipment/update_device" id="form-admin-add">
@@ -54,16 +56,50 @@
         var flag = true;
         var deviceNumber = $('#deviceNumber').val();
         var deviceName = $('#deviceName').val();
+        var device_date = $('#device_date').val();
+        var deviceRemake = $('#deviceRemake').val();
         if (deviceNumber == null || !check_number.test(deviceNumber)) {
             flag = false;
             layer.msg('设备编号格式不正确,请重新输入!',{icon: 5,time:1000});
             return flag;
         }
+        $.ajax({
+            cache: true,
+            type: "POST",
+            data: {
+                deviceNumber:deviceNumber
+            },
+            url: "${path}/admin/equipment/is_equipment",
+            async: false,
+            success: function(data){
+                if (data.returnCode == 200) {
+                    flag = false;
+                    layer.msg('该设备编号已存在',{icon: 5,time:1000});
+
+                }
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+
+            }
+        });
+        if(flag == false){
+            return flag;
+        }
         if (deviceName == null || !check_name.test(deviceName)) {
             flag = false;
             layer.msg('设备名称格式不正确,请重新输入!',{icon: 5,time:1000});
             return flag;
         }
+        if (device_date == null || device_date == "" ) {
+            flag = false;
+            layer.msg('购买日期不能为空!',{icon: 5,time:1000});
+            return flag;
+        }
+        if(deviceRemake != null){
+            if(deviceRemake.length > 50){
+                layer.msg('备注长度为0-50个字符!',{icon: 5,time:1000});
+            }
+        }
         return flag;
     }
 

+ 73 - 53
watero-rst-web/src/main/webapp/WEB-INF/views/pts/device/update_process.ftl

@@ -56,7 +56,7 @@
         }
 
         .point-blue {
-            background-color: #1c87bf;
+            background-color: #1c87bf !important;
         }
 
         .point-green {
@@ -76,11 +76,15 @@
         }
 
         .content {
-            width: 100%;
+            width: 90% !important;
             margin: 0 auto;
+            border: 1px solid rgba(0,0,0,.1);
+
         }
+
         .content article {
             position: relative;
+            padding-bottom: 20px;
         }
         .content article > h3 {
             width: 100%;
@@ -88,12 +92,13 @@
             font-size: 1.4em;
             color: #fff;
             padding: 10px 0 20px;
-            background-color: #32a3d8;
+            background-color: #32a3d8 !important;
             margin: 0 0 10px 0;
         }
         .content article section {
             padding: 10px 0 10px;
             position: relative;
+            background-color: transparent !important;
         }
         .content article section:before {
             content: "";
@@ -112,14 +117,17 @@
             display: block;
             position: absolute;
             text-align: right;
+            padding-left: 10px;
+            background-color: transparent !important;
         }
         .content article section time > span {
-            display: block;
+            display: block;margin-right: 10px;
         }
         .content article section aside {
             color: #3a3a38;
             margin-left: 55%;
             min-height: 50px;
+            background-color: transparent;
         }
         .content article section aside > span{
             display: block;
@@ -133,34 +141,28 @@
         }
 
         /*设置Select样式*/
-        select {
-            border-width: 0px;
-            border-top-style: none;
-            border-right-style: none;
-            border-left-style: none;
-            border-bottom-style: none;
-            overflow:hidden;
-            -webkit-appearance: none;
-            text-align: center;
-        }
-
-        select option {
-            text-align: center;
-            font-size:15px;
-        }
-
+        select{border: 1px solid rgba(0,0,0,.1);border-radius: 5px;padding:6px 35px 6px 5px;height: 32px;-webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/select-1.png) right center no-repeat !important;background-size:auto 100% !important;margin-right: 10px;width: 85px;}
         .add-title-left{position: absolute;right: 0;top: 15%;}
         .add-title-right{position: absolute;left: 55%;top:33%;}
         .my-btn-edit{padding: 6px 20px;background-color: #fff;color: #32a3d8;border: 1px solid #32a3d8;cursor:pointer;margin: 5px 0 5px 0;}
         .list-main{list-style-type: none;margin: 0;padding: 10px;overflow-x: scroll;white-space: nowrap;}
-        .list-main>li{display: table-cell;min-width: 400px;position: relative;width: 400px;margin-right: 20px;border: 1px solid rgba(0,0,0,.1);}
+        .list-main>li{display: table-cell;min-width: 500px;position: relative;width: 500px;margin-right: 20px;}
+        .list-main >li :hover{
+            background: #f0f0f0;
+        }
     </style>
 <#include "/base/list_base.ftl">
 </head>
 <body>
+<nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页
+    <span class="c-gray en">&gt;</span> PST管理
+    <span class="c-gray en">&gt;</span> 设备列表
+    <span class="c-gray en">&gt;</span> 作用生产流程
+    <a class="btn radius r" style="line-height:1.6em;margin-top:3px;background: #32a3d8;color: #fff;border:1px solid #32a3d8;" href="javascript:location.replace(location.href);" title="刷新" ><i class="Hui-iconfont">&#xe68f;</i></a>
+</nav>
 <div><input type="hidden" value="${deviceId!}" id="deviceId"></div>
 <ul class="list-main">
-    <#--<li>
+<#--<li>
         <div class="content">
             <article>
                 <h3>净水机</h3>
@@ -362,9 +364,12 @@
         </div>
     </li>-->
 </ul>
+
+<div id="produceData"></div>
 <script type="text/javascript">
 
     $(function(){
+        $(".list-main").css("height",$(window).height()-20);
         var deviceId = $('#deviceId').val();
         $.ajax({
             cache: true,
@@ -404,19 +409,21 @@
                                     var employee_list = this;
                                     employee_option += '<option value="' + employee_list.employeeId + '">' + employee_list.employeeName + '</option>';
                                 });
-                                tb_user = '<select id="user' + id_num + '" process="' + this_process.processId + '" onchange="update_process(this,1)">' + employee_option + '</select>&nbsp;&nbsp;&nbsp;&nbsp;';
+                                tb_user = '<select id="user' + id_num + '" process="' + this_process.processId + '" preVal=""  onchange="update_process(this,1)">' + employee_option + '</select>&nbsp;&nbsp;&nbsp;&nbsp;';
                             } else {
                                 var employee_option = '';
+                                var preVal = "";
                                 $.each(employeeList, function(n,nobj){
                                     var employee_list = this;
                                     if (employee_list.employeeId == this_process.employeeId) {
+                                        preVal = employee_list.employeeId;
                                         employee_option += '<option value="' + employee_list.employeeId + '" selected>' + employee_list.employeeName + '</option>';
                                     } else {
                                         employee_option += '<option value="' + employee_list.employeeId + '">' + employee_list.employeeName + '</option>';
                                     }
 
                                 });
-                                tb_user = '<select id="user' + id_num + '" process="' + this_process.processId + '" onchange="update_process(this,1)">' + employee_option + '</select>';
+                                tb_user = '<select id="user' + id_num + '" process="' + this_process.processId + '" preVal="'+ preVal +'" onchange="update_process(this,1)">' + employee_option + '</select>';
                             }
                             if (this_process.deviceName == null || this_process.deviceName == undefined) {
                                 var device_option = '<option value="">添加打卡设备</option>';
@@ -424,18 +431,20 @@
                                     var device_list = this;
                                     device_option += '<option value="' + device_list.deviceId + '">' + device_list.deviceName + '</option>';
                                 });
-                                tb_device = '(<select id="device' + id_num + '" process="' + this_process.processId + '" onchange="update_process(this,2)">' + device_option + '</select>)';
+                                tb_device = '<select id="device' + id_num + '" process="' + this_process.processId + '" preVal="" onchange="update_process(this,2)">' + device_option + '</select>';
                             } else {
                                 var device_option = '';
+                                var preVal = "";
                                 $.each(deviceList, function(n,nobj){
                                     var device_list = this;
                                     if (this_process.driveId == device_list.deviceId) {
+                                        preVal = device_list.deviceId
                                         device_option += '<option value="' + device_list.deviceId + '" selected>' + device_list.deviceName + '</option>';
                                     } else {
                                         device_option += '<option value="' + device_list.deviceId + '">' + device_list.deviceName + '</option>';
                                     }
                                 });
-                                tb_device = '(<select id="device' + id_num + '" process="' + this_process.processId + '" onchange="update_process(this,2)">' + device_option + '</select>)';
+                                tb_device = '<select id="device' + id_num + '" process="' + this_process.processId + '" preVal="'+ preVal +'" onchange="update_process(this,2)">' + device_option + '</select>';
                             }
                             if (j % 2 == 0) {
                                 process += '<section>'
@@ -479,41 +488,52 @@
         });
     });
 
+    $(function () {
+        $(".produceData").change(function(){
+            alert($(this).val());
+        })
+    })
+
     function update_process(obj,num) {
         var processId = obj.getAttribute("process");
         var id = obj.getAttribute("id");
         var value = $('#' + id + ' option:selected').val();
         var data = null;
         layer.confirm('确认要修改吗?',function(index){
-            //num=1则是修改员工信息,num=2则是修改设备信息
-            if (num == 1) {
-                data = {
-                    processId: processId,
-                    employeeId: value
-                }
-            } else if(num == 2) {
-                data = {
-                    processId: processId,
-                    driveId: value
-                }
-            }
-            $.ajax({
-                cache: true,
-                type: "POST",
-                data: data,
-                url: "${path}/admin/equipment/update_process_info",
-                async: false,
-                success: function(dt){
-                    if (dt.returnCode == 200) {
-                        layer.msg('恭喜您,修改成功!',{icon: 1,time:1000});
-                    } else {
-                        layer.msg('对不起,修改失败!',{icon: 5,time:1000});
+                    //num=1则是修改员工信息,num=2则是修改设备信息
+                    if (num == 1) {
+                        data = {
+                            processId: processId,
+                            employeeId: value
+                        }
+                    } else if(num == 2) {
+                        data = {
+                            processId: processId,
+                            driveId: value
+                        }
                     }
+                    $.ajax({
+                        cache: true,
+                        type: "POST",
+                        data: data,
+                        url: "${path}/admin/equipment/update_process_info",
+                        async: false,
+                        success: function(dt){
+                            if (dt.returnCode == 200) {
+                                layer.msg('恭喜您,修改成功!',{icon: 1,time:1000});
+                                var preVal = $(obj).val();
+                                $(obj).attr("preVal",preVal);
+                            } else {
+                                layer.msg('对不起,修改失败!',{icon: 5,time:1000});
+                                var preVal = $(obj).attr("preVal");
+                                $(obj).val(preVal);
+                            }
+                        }
+                    })
+                }, function() {
+                    var preVal = $(obj).attr("preVal");
+                    $(obj).val(preVal);
                 }
-            })
-        }, function() {
-            location.reload();
-        }
         );
     }
 </script>

+ 50 - 39
watero-rst-web/src/main/webapp/WEB-INF/views/pts/employee/employee_list.ftl

@@ -11,26 +11,34 @@
 <#include "/base/list_base.ftl">
     <title>员工列表</title>
     <style>
+        *{padding: 0;margin: 0;}
+        .my-input{border: 1px solid rgba(0,0,0,.1);padding: 1px 5px;height: 32px;margin-right: 10px;}
+        .my-input::-webkit-input-placeholder,.my-select{color: #dcdcdc;}
+        .my-select{border: 1px solid rgba(0,0,0,.1);padding:6px 50px 6px 15px;height: 34px;margin: 0 10px; -webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/select-1.png) right center no-repeat;background-size:auto 100%;}
         .my-btn-search{border: 1px solid #32a3d8;padding: 1px 25px;height: 32px;background-color: #32a3d8;color: #fff;}
+        .barcodeImg{margin:10px 0px}
+        .table-bg thead th{background-color: #e2f6ff;}
+        input[type=radio]{-webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/radio-1.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
+        input[type=radio]:checked{-webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/radio-2.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
     </style>
 </head>
 <body>
 <nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页
     <span class="c-gray en">&gt;</span> 员工管理
     <span class="c-gray en">&gt;</span> 员工列表
-    <a class="btn radius r" style="line-height:1.6em;margin-top:3px;background: #58d2ea;color: #fff;" href="javascript:location.replace(location.href);" title="刷新" ><i class="Hui-iconfont">&#xe68f;</i></a>
+    <a class="btn radius r" style="line-height:1.6em;margin-top:3px;background: #32a3d8;color: #fff;border:1px solid #32a3d8;" href="javascript:location.replace(location.href);" title="刷新" ><i class="Hui-iconfont">&#xe68f;</i></a>
 </nav>
 <div class="page-container">
     <div class="text-c">
         <form action="${path}/admin/employee/_employee_list" method="post">
-            <button type="button" style="cursor:pointer;" class="my-btn-search" onclick="toAddEmployee();">增加员工</button>
-            <input type="text" class="input-text" style="width:150px" value="${employeeNo!}" placeholder="员工编号" id="employeeNo" name="employeeNo">
-            <input type="text" class="input-text" style="width:150px" value="${employeeName!}" placeholder="员工姓名" id="employeeName" name="employeeName">
-            <input type="text" class="input-text" style="width:150px" value="${employeeTel!}" placeholder="员工电话" id="employeeTel" name="employeeTel">
-            <select class="select" name="employeeState" style="height: 30px;width: 150px">
+            <button type="button" style="cursor:pointer; float: left;" class="my-btn-search" onclick="toAddEmployee();">增加员工</button>
+            <input type="text" class="my-input"  style="width:150px" value="${employeeNo!}" placeholder="员工编号" id="employeeNo" name="employeeNo">
+            <input type="text" class="my-input"  style="width:150px" value="${employeeName!}" placeholder="员工姓名" id="employeeName" name="employeeName">
+            <input type="text" class="my-input"  style="width:150px" value="${employeeTel!}" placeholder="员工电话" id="employeeTel" name="employeeTel">
+            <select class="my-select" name="employeeState" style="height: 30px;width: 150px">
                 <option value ="">全部</option>
-                <option value ="0" <#if employeeState??><#if employeeState == "0">selected="selected"</#if></#if>>停止使用</option>
-                <option value ="1" <#if employeeState??><#if employeeState == "1">selected="selected"</#if></#if>>正常使用</option>
+                <option value ="1" <#if employeeState??><#if employeeState == "1">selected="selected"</#if></#if>>在职</option>
+                <option value ="0" <#if employeeState??><#if employeeState == "0">selected="selected"</#if></#if>>离职</option>
             </select>
             <button type="submit" class="btn" style="background: #32a3d8;color: #fff;-webkit-transform:translateY(-5%);" id="" name=""><i class="Hui-iconfont">&#xe665;</i> 搜索</button>
         </form>
@@ -39,10 +47,10 @@
     <div class="mt-20">
         <table class="table table-border table-bordered table-bg table-hover table-sort">
         <thead>
-        <tr>
+       <#-- <tr>
             <th scope="col" colspan="18">员工列表</th>
-            <#--<th scope="col" colspan="2">共有数据:<strong>#{page.total}</strong> 条</th>-->
-        </tr>
+        &lt;#&ndash;<th scope="col" colspan="2">共有数据:<strong>#{page.total}</strong> 条</th>&ndash;&gt;
+        </tr>-->
         <tr class="text-c">
             <th width="80">员工编号</th>
             <th width="100">员工姓名</th>
@@ -56,34 +64,37 @@
         </tr>
         </thead>
         <tbody>
-        <#list page.dataList as employee>
-            <tr class="text-c">
-                <td>${employee.employeeNo!}</td>
-                <td>${employee.employeeName!}</td>
-                <td>${employee.employeeTel!}</td>
-                <td>
-                    <#if employee.employeeState == 0>
-                        离职
-                    <#elseif employee.employeeState == 1>
-                        在职
-                    </#if>
-                </td>
-                <td>${(employee.employeeEntryDate?string("yyyy-MM-dd"))!''}</td>
-                <td>${employee.employeePost!}</td>
-                <td>${(employee.employeeDepartureDate?string("yyyy-MM-dd"))!''}</td>
-                <td>${(employee.employeeCreateTime?string("yyyy-MM-dd HH:mm:ss"))!''}</td>
-                <td>
-                    <a style="text-decoration:none" href="javascript:void(0);" title="编辑" onclick="admin_update_employee(${employee.employeeId!});">
-                        <i class="Hui-iconfont">&#xe6df;</i>
-                    </a>
-                    <a style="text-decoration:none" href="javascript:;" title="查看"
-                       onclick="edit_process('${path}/admin/equipment/_update_process?deviceId=0');">
-                        <i class="Hui-iconfont">&#xe665;</i>
-                    </a>
-                </td>
-            </tr>
-        </#list>
-
+            <#if page.dataList?? &&  (page.dataList?size > 0) >
+                    <#list page.dataList as employee>
+                        <tr class="text-c">
+                            <td>${employee.employeeNo!}</td>
+                            <td>${employee.employeeName!}</td>
+                            <td>${employee.employeeTel!}</td>
+                            <td>
+                                <#if employee.employeeState == 0>
+                                    离职
+                                <#elseif employee.employeeState == 1>
+                                    在职
+                                </#if>
+                            </td>
+                            <td>${(employee.employeeEntryDate?string("yyyy-MM-dd"))!''}</td>
+                            <td>${employee.employeePost!}</td>
+                            <td>${(employee.employeeDepartureDate?string("yyyy-MM-dd"))!''}</td>
+                            <td>${(employee.employeeCreateTime?string("yyyy-MM-dd HH:mm:ss"))!''}</td>
+                            <td>
+                                <a style="text-decoration:none" href="javascript:void(0);" title="编辑" onclick="admin_update_employee(${employee.employeeId!});">
+                                    <i class="Hui-iconfont">&#xe6df;</i>
+                                </a>
+                                <a style="text-decoration:none" href="javascript:;" title="查看作用工序"
+                                   onclick="edit_process('${path}/admin/equipment/_update_process?deviceId=0');">
+                                    <i class="Hui-iconfont">&#xe70c;</i>
+                                </a>
+                            </td>
+                        </tr>
+                    </#list>
+            <#else>
+            <tr><td colspan="9" class="td-manage text-c" >暂时没有员工,请添加!</td></tr>
+            </#if>
         </tbody>
     </table>
     </div>

+ 112 - 60
watero-rst-web/src/main/webapp/WEB-INF/views/pts/employee/save_employee.ftl

@@ -11,16 +11,18 @@
     <style>
         .my-title{font-weight: 500;padding-left: 15px;position: relative;}
         .my-title:after{content: '';position: absolute;left: 0;top:12%;width: 3px;height: 80%;background: #32a3d8;}
-        .my-input{padding: 5px 10px;width: 60%;}
-        .my-input-date{padding: 5px 10px;width: 60%;background: url(${path}/common/images/pts//rili-1.png) 98.5% center no-repeat; background-size:auto 80%;}
+        .my-input{padding: 5px 10px;width: 80%;border:1px solid rgba(0,0,0,.1);}
+        .my-input-date{padding: 5px 10px;border:1px solid rgba(0,0,0,.1);width: 80%;background: url(${path}/common/images/pts//rili-1.png) 98.5% center no-repeat; background-size:auto 80%;}
         .input-box{margin: 18px 0;}
         .input-dic{float: left;margin:5px 10px 0 0;font-size: 12px;}
         .add-list{list-style-type: none;padding: 10px;background-color: #f5f5f5;width: 60%;float: left;margin: 0;}
         .add-list>li{margin: 10px 0;}
-        .my-textarea{padding: 5px 10px;width: 60%;}
+        .my-textarea{padding: 5px 10px;width: 80%;border:1px solid rgba(0,0,0,.1);}
         .my-btn-reset{padding: 6px 20px;width: 150px; background-color: #fff;color: #32a3d8;border: 1px solid #32a3d8;cursor:pointer;margin: 10px 10px 0 10px;}
         .my-btn-submit{padding: 6px 20px;width: 150px; background-color: #32a3d8;color: #fff;border: 1px solid #32a3d8;cursor:pointer;margin: 10px 10px 0 10px;}
         .my-select{border: 1px solid rgba(0,0,0,.1);padding:6px 50px 6px 15px;width: 60%; height: 34px;margin: 0 10px; -webkit-appearance:none;appearance:none;background: url(${path}/common/images/pts/select-1.png) right center no-repeat #fff;background-size:auto 100%;}
+        input[type=radio]{-webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/radio-1.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
+        input[type=radio]:checked{-webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/radio-2.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
     </style>
     <title>添加员工- 员工管理 - RST</title>
 </head>
@@ -28,34 +30,34 @@
 <nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页
     <span class="c-gray en">&gt;</span> 员工管理
     <span class="c-gray en">&gt;</span> 添加员工
-    <a class="btn radius r" style="line-height:1.6em;margin-top:3px;background: #58d2ea;color: #fff;" href="javascript:location.replace(location.href);" title="刷新" ><i class="Hui-iconfont">&#xe68f;</i></a>
+    <a class="btn radius r" style="line-height:1.6em;margin-top:3px;background: #32a3d8;color: #fff;border:1px solid #32a3d8;" href="javascript:location.replace(location.href);" title="刷新" ><i class="Hui-iconfont">&#xe68f;</i></a>
 </nav>
 <article class="page-container">
     <form class="form form-horizontal" id="form-admin-addEmployee">
         <div style="padding: 10px;width: 600px;margin: 0 auto;">
             <div class="my-title">员工信息</div>
-            <div class="input-box"><span class="input-dic">员工编号</span>&nbsp;&nbsp;<input class="my-input" name="employeeNo" id="employeeNo" type="text" value="" placeholder="请输入员工编号" required   maxlength="10" /> <span style="color: red;" id="employeeNoMsg"></span></div>
-            <div class="input-box"><span class="input-dic">员工姓名</span>&nbsp;&nbsp;<input class="my-input" name="employeeName" type="text" value="" placeholder="请输入员工姓名" required   maxlength="20" /> </div>
-            <div class="input-box"><span class="input-dic">员工电话</span>&nbsp;&nbsp;<input class="my-input" name="employeeTel" id="employeeTel" type="text" value="" placeholder="请输入员工手机号码" required   maxlength="11" minlength="11" /><span style="color: red;" id="employeeTelMsg"></span> </div>
+            <div class="input-box"><span class="input-dic">员工编号</span>&nbsp;&nbsp;<input class="my-input" name="employeeNo" id="employeeNo" type="text" value="" placeholder="请输入员工编号" required   maxlength="10"  /> <span style="color: red;" id="employeeNoMsg"></span></div>
+            <div class="input-box"><span class="input-dic">员工姓名</span>&nbsp;&nbsp;<input class="my-input" name="employeeName" id="employeeName" type="text" value="" placeholder="请输入2-10位中文" required   maxlength="10" minlength="2" /> </div>
+            <div class="input-box"><span class="input-dic">手机号码</span>&nbsp;&nbsp;<input class="my-input" name="employeeTel" id="employeeTel" type="text" value="" placeholder="请输入11位的手机号码"  required   maxlength="11" minlength="11" /><span style="color: red;" id="employeeTelMsg"></span> </div>
             <div class="input-box"><span class="input-dic">员工状态</span>&nbsp;&nbsp;
                 <input type="radio" id="employeeState1" name="employeeState" value="1" checked/><label for="employeeState1">在职</label>
                 <input type="radio" id="employeeState2" name="employeeState" value="0"/><label for="employeeState2">离职</label>
             </div>
-            <div class="input-box"><span class="input-dic">清空卡权限</span>
-                <input type="radio" id="employeeClearPower1" name="employeeClearPower" value="1" /><label for="employeeClearPower1">具有</label>
-                <input type="radio" id="employeeClearPower2" name="employeeClearPower" value="0" checked /><label for="employeeClearPower2">不具有</label>
+            <div class="input-box"><span class="input-dic" style="margin-top: 0">清空卡权限</span>
+                <input type="radio" id="employeeClearPower1" name="employeeClearPower" value="0" /><label for="employeeClearPower1">具有</label>
+                <input type="radio" id="employeeClearPower2" name="employeeClearPower" value="1" checked /><label for="employeeClearPower2">不具有</label>
             </div>
 
             <div class="input-box"><span class="input-dic">入职日期</span>&nbsp;&nbsp;<input class="my-input-date" type="text" name="employeeEntryDate" id="employeeEntryDate" value="" placeholder="请选择入职日期" onclick="WdatePicker({skin:'whyGreen'})"  readonly="readonly" /> </div>
-            <div class="input-box" id="isDeparture"><span class="input-dic">离职日期</span>&nbsp;&nbsp;<input class="my-input-date" type="text" name="employeeDepartureDate" id="employeeDepartureDate" value="" placeholder="请选择离职日期"  onclick="WdatePicker({ dateFmt:'yyyy-MM-dd',minDate:'#F{$dp.$D(\'employeeEntryDate\')||\'%y-%M-%d\'}' })"  readonly="readonly"/> <span style="color: red;" id="employeeDepartureDateMsg"></span></div>
-            <div class="input-box"><span class="input-dic">员工岗位</span>&nbsp;&nbsp;<input class="my-input" type="text" name="employeePost" value="" placeholder="请输入员工岗位" required   maxlength="100"/> </div>
+            <div class="input-box" id="isDeparture"><span class="input-dic">离职日期</span>&nbsp;&nbsp;<input class="my-input-date" type="text" name="employeeDepartureDate" id="employeeDepartureDate" value="" placeholder="请选择离职日期"  onclick="WdatePicker({ dateFmt:'yyyy-MM-dd',skin:'whyGreen',minDate:'#F{$dp.$D(\'employeeEntryDate\')||\'%y-%M-%d\'}' })"  readonly="readonly"/></div>
+            <div class="input-box"><span class="input-dic">员工岗位</span>&nbsp;&nbsp;<input class="my-input" type="text" name="employeePost" id="employeePost" value="" placeholder="请输入2-20位中文、英文字符描述" required   maxlength="20"  minlength="2" /> </div>
 
             <div style="clear: both;"></div>
             <div class="input-box"><span class="input-dic">员工备注</span>&nbsp;&nbsp;
-                <textarea rows="3" cols="20" class="my-textarea" name="employeeDesc" ></textarea>
+                <textarea rows="3" cols="20" class="my-textarea" name="employeeDesc" id="employeeDesc"  maxlength="200" msg="员工备注" ></textarea>
             </div>
             <div>
-                <button type="reset" class="my-btn-reset">重置</button><button type="submit" class="my-btn-submit">确认提交</button>
+                <button type="reset" class="my-btn-reset">重置</button><button type="submit" class="my-btn-submit" >确认提交</button>
             </div>
         </div>
     </form>
@@ -66,44 +68,70 @@
     $(document).on('click', '.menuSubid input[type=radio]', function() {
         isSelectShow($(this).val())
     })
+    var check_name = /^[a-zA-Z0-9\u4e00-\u9fa5]+$/;
+    var cnen_name = /^[a-zA-Z\u4e00-\u9fa5]+$/;
+    var china_name = /^[\u4e00-\u9fa5]+$/;
+    var en_name = /^[a-zA-Z0-9]+$/;
 
-  /*  $(function(){
-        $("#form-admin-addEmployee").validate({
-            rules:{
-                subName:{
-                    required:true,
-                    minlength:4,
-                    maxlength:30
+            $(function(){
+        //var validator = $("#form-admin-addEmployee").validate();
+        $("#form-admin-addEmployee").submit(function(){
+            if(!ptsValiDataEmNo()){
+                return false;
+            };
+
+            var employeeName = $("#employeeName").val();
+            if(!(china_name.test(employeeName))){
+                layer.msg('员工姓名格式不正确', {icon: 5, time: 1000});
+                return false;
+            }
+
+            if(!ptsValiDataTel()){
+                return false;
+            };
+
+            if($("#employeeEntryDate").val() == null || $("#employeeEntryDate").val() == ""){
+                layer.msg('入职日期不能为空', {icon: 5, time: 1000});
+                return false;
+            };
+
+            //离职日期
+            var employeeState = $("[name='employeeState']:checked").val();
+            if(employeeState == 0){
+                if($("#employeeDepartureDate").val() == null || $("#employeeDepartureDate").val() == ""){
+                    layer.msg('离职日期不能为空', {icon: 5, time: 1000});
+                    return false;
+                };
+                var employeeEntryDate = $("[name='employeeEntryDate']").val();
+                var employeeDepartureDate = $("[name='employeeDepartureDate']").val();
+                if(!CompareDate(employeeDepartureDate,employeeEntryDate)){
+                    layer.msg('离职日期不能在入职日期之前', {icon: 5, time: 1000});
+                    return false;
                 }
-            },
-            onkeyup:false,
-            focusCleanup:true,
-            success:"valid",
-            submitHandler:function(form){
-                $.post(root_path + "/admin/employee/save_employee", formatJSON(),function(result){
-                    if (result.returnCode != 200 || result.returnCode != 200) {
-                        layer.msg('录入失败,请重试!',{icon: 5,time:3000});
-                    } else {
-                        layer.msg('录入成功!!',{icon: 1,time:2000}, function () {
-                            // 关闭当前页面,并刷新父级页面
-                            window.location.href= '${path}/admin/employee/list_employee';
-                        });
-                    }
-                });
             }
-        });
-    });*/
 
+            var employeePost = $("#employeePost").val();
+            if(!(cnen_name.test(employeePost))){
+                layer.msg('员工岗位格式不正确', {icon: 5, time: 1000});
+                return false;
+            }
+
+//            var employeeDesc = $("#employeeDesc").val();
+//            if(!(check_name.test(employeeDesc))){
+//                layer.msg('员工备注格式不正确', {icon: 5, time: 1000});
+//                return false;
+//            }
 
-    $(function(){
-        //var validator = $("#form-admin-addEmployee").validate();
-        $("#form-admin-addEmployee").submit(function(){
             ajaxReq();
             return false;
         })
-
     })
 
+    function CompareDate(d1,d2)
+    {
+        return ((new Date(d1.replace(/-/g,"\/"))) > (new Date(d2.replace(/-/g,"\/"))));
+    }
+
     /* ajax请求*/
     function ajaxReq(){
         var data = formatJSON();
@@ -124,17 +152,37 @@
     }
 
 
-    /*实时监听文本框-- 员工编号*/
-    document.getElementById("employeeNo").addEventListener("input", function(){
-        ptsValiDataEmNo(this.value);
-    });
-    /*实时监听文本框-- 手机号码*/
-    document.getElementById("employeeTel").addEventListener("input", function(){
-        ptsValiDataTel(this.value);
-    });
+        /*实时监听文本框-- 员工编号*/
+//        document.getElementById("employeeNo").addEventListener("input", function(){
+//            ptsValiDataEmNo();
+//        });
+//    /*实时监听文本框-- 手机号码*/
+//    document.getElementById("employeeTel").addEventListener("input", function(){
+//        ptsValiDataTel(this.value);
+//    });
+//
+//    /*实时监听文本框-- 员工姓名*/
+//    document.getElementById("employeeName").addEventListener("input", function(){
+//        ptsValiDataTel(this.value);
+//    });
+//    /*实时监听文本框-- 手机号码*/
+//    document.getElementById("employeeTel").addEventListener("input", function(){
+//        ptsValiDataTel(this.value);
+//    });
 
     /*验证编号*/
-    function ptsValiDataEmNo(thVal) {
+    function ptsValiDataEmNo() {
+        var thVal = $("#employeeNo").val();
+
+        if( thVal == null || thVal == "" || typeof(thVal) == "undefined"){
+            return false;
+        }
+
+        if(!(en_name.test(thVal))){
+            layer.msg('员工编码格式不正确', {icon: 5, time: 1000});
+            return false;
+        }
+        var flag = false;
         $.ajax({
             cache: true,
             type: "POST",
@@ -145,33 +193,37 @@
             async: false,
             success: function(data){
                 if (data.returnCode == 200) {
-                    $("#employeeNoMsg").html("该员工编号已存在");
-                    return false;
+                    //$("#employeeNoMsg").html("该员工编号已存在");
+                    layer.msg('该员工编号已存在', {icon: 5, time: 1000});
+                    flag = false;
                 }else{
-                    $("#employeeNoMsg").html("");
-                    return true;
+                    //$("#employeeNoMsg").html("");
+                    flag = true;
                 }
             },
             error: function(XmlHttpRequest, textStatus, errorThrown){
-
+                flag = false;
             }
         });
+        return flag;
     }
 
     /*验证手机号码*/
-    function ptsValiDataTel(thVal) {
+    function ptsValiDataTel() {
+        var thVal = $("#employeeTel").val();
+
         if(!(/^1[34578]\d{9}$/.test(thVal))){
-            $("#employeeTelMsg").html("手机号码错误");
+            //$("#employeeTelMsg").html("手机号码错误");
+            layer.msg('手机号码格式化不正确', {icon: 5, time: 1000});
             return false;
         }else{
-            $("#employeeTelMsg").html("");
+            //$("#employeeTelMsg").html("");
             return true;
         }
     }
 
     /*将表单format为JSON*/
     function formatJSON() {
-        debugger;
         var serializeObj={};
         $($("#form-admin-addEmployee").serializeArray()).each(function(){
             if (this.value != "" && this.value != null) {

+ 136 - 43
watero-rst-web/src/main/webapp/WEB-INF/views/pts/employee/update_employee.ftl

@@ -11,16 +11,18 @@
     <style>
         .my-title{font-weight: 500;padding-left: 15px;position: relative;}
         .my-title:after{content: '';position: absolute;left: 0;top:12%;width: 3px;height: 80%;background: #32a3d8;}
-        .my-input{padding: 5px 10px;width: 60%;}
-        .my-input-date{padding: 5px 10px;width: 60%;background: url(${path}/common/images/pts//rili-1.png) 98.5% center no-repeat; background-size:auto 80%;}
+        .my-input{padding: 5px 10px;width: 80%;border:1px solid rgba(0,0,0,.1);}
+        .my-input-date{padding: 5px 10px;width: 80%;border:1px solid rgba(0,0,0,.1);background: url(${path}/common/images/pts//rili-1.png) 98.5% center no-repeat; background-size:auto 80%;}
         .input-box{margin: 18px 0;}
         .input-dic{float: left;margin:5px 10px 0 0;font-size: 12px;}
         .add-list{list-style-type: none;padding: 10px;background-color: #f5f5f5;width: 60%;float: left;margin: 0;}
         .add-list>li{margin: 10px 0;}
-        .my-textarea{padding: 5px 10px;width: 60%;}
-        .my-btn-reset{padding: 6px 20px;width: 150px; background-color: #fff;color: #32a3d8;border: 1px solid #32a3d8;cursor:pointer;margin: 10px 10px 0 10px;}
-        .my-btn-submit{padding: 6px 20px;width: 150px; background-color: #32a3d8;color: #fff;border: 1px solid #32a3d8;cursor:pointer;margin: 10px 10px 0 10px;}
+        .my-textarea{padding: 5px 10px;width: 80%;border:1px solid rgba(0,0,0,.1);}
+        .my-btn-reset{padding: 8px 20px;width: 150px; background-color: #fff;color: #32a3d8;border: 1px solid #32a3d8;cursor:pointer;margin: 10px 10px 0 10px;}
+        .my-btn-submit{padding: 8px 20px;width: 150px; background-color: #32a3d8;color: #fff;border: 1px solid #32a3d8;cursor:pointer;margin: 10px 10px 0 10px;}
         .my-select{border: 1px solid rgba(0,0,0,.1);padding:6px 50px 6px 15px;width: 60%; height: 34px;margin: 0 10px; -webkit-appearance:none;appearance:none;background: url(${path}/common/images/pts/select-1.png) right center no-repeat #fff;background-size:auto 100%;}
+        input[type=radio]{-webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/radio-1.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
+        input[type=radio]:checked{-webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/radio-2.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
     </style>
     <title>添加员工- 员工管理 - RST</title>
 </head>
@@ -28,32 +30,33 @@
 <nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页
     <span class="c-gray en">&gt;</span> 员工管理
     <span class="c-gray en">&gt;</span> 修改员工
-    <a class="btn radius r" style="line-height:1.6em;margin-top:3px;background: #58d2ea;color: #fff;" href="javascript:location.replace(location.href);" title="刷新" ><i class="Hui-iconfont">&#xe68f;</i></a>
+    <a class="btn radius r" style="line-height:1.6em;margin-top:3px;background: #32a3d8;color: #fff;border:1px solid #32a3d8;" href="javascript:location.replace(location.href);" title="刷新" ><i class="Hui-iconfont">&#xe68f;</i></a>
 </nav>
 <article class="page-container">
     <form class="form form-horizontal" id="form-admin-addEmployee">
         <div style="padding: 10px;width: 600px;margin: 0 auto;">
             <div class="my-title">员工信息</div>
             <input type="hidden" name="employeeId" value="${employee.employeeId!}">
-            <div class="input-box"><span class="input-dic">员工编号</span>&nbsp;&nbsp;<input class="my-input" name="employeeNo" type="text" value="${employee.employeeNo!}" placeholder="请输入员工编号" required   maxlength="10" /> </div>
-            <div class="input-box"><span class="input-dic">员工姓名</span>&nbsp;&nbsp;<input class="my-input" name="employeeName" type="text" value="${employee.employeeName!}" placeholder="请输入员工姓名" required   maxlength="20" /> </div>
-            <div class="input-box"><span class="input-dic">员工电话</span>&nbsp;&nbsp;<input class="my-input" name="employeeTel" type="text" value="${employee.employeeTel!}" placeholder="请输入员工手机号码" required   maxlength="11" minlength="11" /> </div>
-            <div class="input-box"><span class="input-dic">员工状态</span>&nbsp;&nbsp;
+            <input type="hidden" id="oldNo" value="${employee.employeeNo!}" >
+            <div class="input-box"><span class="input-dic">员工编号</span>&nbsp;&nbsp;<input class="my-input" name="employeeNo" id="employeeNo" type="text" value="${employee.employeeNo!}" placeholder="请输入员工编号" required   maxlength="10" /> </div>
+            <div class="input-box"><span class="input-dic">员工姓名</span>&nbsp;&nbsp;<input class="my-input" name="employeeName"  id="employeeName" type="text" value="${employee.employeeName!}" placeholder="请输入2-10位中文" required   maxlength="10" minlength="2" /> </div>
+            <div class="input-box"><span class="input-dic">手机号码</span>&nbsp;&nbsp;<input class="my-input" name="employeeTel" id="employeeTel" type="text" value="${employee.employeeTel!}" placeholder="请输入11位的手机号码" required   maxlength="11" minlength="11" /> </div>
+            <div class="input-box"><span class="input-dic" style="margin-top: 0">员工状态</span>&nbsp;&nbsp;
                 <input type="radio" id="employeeState1" name="employeeState" value="1" <#if employee.employeeState == 1>checked</#if>/><label for="employeeState1">在职</label>
                 <input type="radio" id="employeeState2" name="employeeState" value="0" <#if employee.employeeState == 0>checked</#if>/><label for="employeeState2">离职</label>
             </div>
-            <div class="input-box"><span class="input-dic">清空卡权限</span>
-                <input type="radio" id="employeeClearPower1" name="employeeClearPower" value="1" <#if employee.employeeClearPower == 1>checked</#if>/><label for="employeeClearPower1">具有</label>
-                <input type="radio" id="employeeClearPower2" name="employeeClearPower" value="0" <#if employee.employeeClearPower == 0>checked</#if>/><label for="employeeClearPower2">不具有</label>
+            <div class="input-box"><span class="input-dic" style="margin-top: 0">清空卡权限</span>
+                <input type="radio" id="employeeClearPower1" name="employeeClearPower" value="0" <#if employee.employeeClearPower == 0>checked</#if>/><label for="employeeClearPower1">具有</label>
+                <input type="radio" id="employeeClearPower2" name="employeeClearPower" value="1" <#if employee.employeeClearPower == 1>checked</#if>/><label for="employeeClearPower2">不具有</label>
             </div>
 
-            <div class="input-box"><span class="input-dic">入职日期</span>&nbsp;&nbsp;<input class="my-input-date" type="text" name="employeeEntryDate" value="${(employee.employeeEntryDate?string("yyyy-MM-dd"))!''}" placeholder="请选择入职日期" onclick="WdatePicker({skin:'whyGreen'})" readonly="readonly"/> </div>
-            <div class="input-box" id="isDeparture" style="<#if employee.employeeState == 1>display: none</#if>"><span class="input-dic">离职日期</span>&nbsp;&nbsp;<input class="my-input-date" type="text" name="employeeDepartureDate" value="${(employee.employeeDepartureDate?string("yyyy-MM-dd"))!''}" placeholder="请选择离职日期" onclick="WdatePicker({skin:'whyGreen'})" readonly="readonly"/> </div>
-            <div class="input-box"><span class="input-dic">员工岗位</span>&nbsp;&nbsp;<input class="my-input" type="text" name="employeePost" value="${employee.employeePost!}" placeholder="请输入员工岗位" required   maxlength="100"/> </div>
+            <div class="input-box"><span class="input-dic">入职日期</span>&nbsp;&nbsp;<input class="my-input-date" type="text" name="employeeEntryDate" id="employeeEntryDate" value="${(employee.employeeEntryDate?string("yyyy-MM-dd"))!''}" placeholder="请选择入职日期" onclick="WdatePicker({skin:'whyGreen'})" readonly="readonly"/> </div>
+            <div class="input-box" id="isDeparture" style="<#if employee.employeeState == 1>display: none</#if>"><span class="input-dic">离职日期</span>&nbsp;&nbsp;<input class="my-input-date" type="text" name="employeeDepartureDate" id="employeeDepartureDate" value="${(employee.employeeDepartureDate?string("yyyy-MM-dd"))!''}" placeholder="请选择离职日期" onclick="WdatePicker({ dateFmt:'yyyy-MM-dd',skin:'whyGreen' })" readonly="readonly"/> </div>
+            <div class="input-box"><span class="input-dic">员工岗位</span>&nbsp;&nbsp;<input class="my-input" type="text" name="employeePost" id="employeePost" value="${employee.employeePost!}" placeholder="请输入2-20位中文、英文字符描述" required    maxlength="20"  minlength="2" /> </div>
 
             <div style="clear: both;"></div>
             <div class="input-box"><span class="input-dic">员工备注</span>&nbsp;&nbsp;
-                <textarea rows="3" cols="20" class="my-textarea" name="employeeDesc">${employee.employeeDesc!}</textarea>
+                <textarea rows="3" cols="20" class="my-textarea" name="employeeDesc" id="employeeDesc" maxlength="200">${employee.employeeDesc!}</textarea>
             </div>
             <div>
                 <button type="reset" class="my-btn-reset">重置</button><button type="submit" class="my-btn-submit">确认提交</button>
@@ -68,41 +71,79 @@
         isSelectShow($(this).val())
     })
 
-   /* $(function(){
-        $("#form-admin-addEmployee").validate({
-            rules:{
-                subName:{
-                    required:true,
-                    minlength:4,
-                    maxlength:30
-                }
-            },
-            onkeyup:false,
-            focusCleanup:true,
-            success:"valid",
-            submitHandler:function(form){
-                $.post(root_path + "/admin/employee/update_employee", formatJSON(),function(result){
-                    if (result.returnCode != 200 || result.returnCode != 200) {
-                        layer.msg('录入失败,请重试!',{icon: 5,time:3000});
-                    } else {
-                        layer.msg('录入成功!!',{icon: 1,time:2000}, function () {
-                            // 关闭当前页面,并刷新父级页面
-                            window.location.href= '${path}/admin/employee/list_employee';
-                        });
-                    }
-                });
-            }
-        });
-    });*/
+    var check_name = /^[a-zA-Z0-9\u4e00-\u9fa5]+$/;
+    var cnen_name = /^[a-zA-Z\u4e00-\u9fa5]+$/;
+    var china_name = /^[\u4e00-\u9fa5]+$/;
+    var en_name = /^[a-zA-Z0-9]+$/;
 
     $(function(){
         //var validator = $("#form-admin-addEmployee").validate();
         $("#form-admin-addEmployee").submit(function(){
+
+
+            if(!ptsValiDataEmNo()){
+                return false;
+            };
+            var employeeName = $("#employeeName").val();
+            if(!(china_name.test(employeeName))){
+                layer.msg('员工姓名格式不正确', {icon: 5, time: 1000});
+                return false;
+            }
+
+            if(!ptsValiDataTel()){
+                return false;
+            };
+
+            if($("#employeeEntryDate").val() == null || $("#employeeEntryDate").val() == ""){
+                layer.msg('入职日期不能为空', {icon: 5, time: 1000});
+                return false;
+            };
+
+            //离职日期
+            var employeeState = $("[name='employeeState']:checked").val();
+            if(employeeState == 0){
+                if($("#employeeDepartureDate").val() == null || $("#employeeDepartureDate").val() == ""){
+                    layer.msg('离职日期不能为空', {icon: 5, time: 1000});
+                    return false;
+                }
+                var employeeEntryDate = $("[name='employeeEntryDate']").val();
+                var employeeDepartureDate = $("[name='employeeDepartureDate']").val();
+                if(!CompareDate(employeeDepartureDate,employeeEntryDate)){
+                    layer.msg('离职日期不能在入职日期之前', {icon: 5, time: 1000});
+                    return false;
+                }
+            }
+
+            var employeePost = $("#employeePost").val();
+            if(!(cnen_name.test(employeePost))){
+                layer.msg('员工岗位格式不正确', {icon: 5, time: 1000});
+                return false;
+            }
+
+//            var employeeDesc = $("#employeeDesc").val();
+//            if( employeeDesc != null && employeeDesc != "" && typeof(employeeDesc) != "undefined"){
+//                alert("++"+employeeDesc+"+++");
+//                if(!(check_name.test(employeeDesc))){
+//                    layer.msg('员工备注格式不正确', {icon: 5, time: 1000});
+//                    return false;
+//                }
+//            }
             ajaxReq();
             return false;
         })
     })
 
+    /*比较时间*/
+    function CompareDate(d1,d2)
+    {
+        return ((new Date(d1.replace(/-/g,"\/"))) > (new Date(d2.replace(/-/g,"\/"))));
+    }
+
+    /*实时监听文本框-- 员工编号*/
+//    document.getElementById("employeeNo").addEventListener("input", function(){
+//        ptsValiDataEmNo();
+//    });
+
     function ajaxReq(){
         var data = formatJSON();
         $.ajax({
@@ -122,6 +163,58 @@
         });
     }
 
+    /*验证编号*/
+    function ptsValiDataEmNo() {
+        var thVal = $("#employeeNo").val();
+
+        if( thVal == null || thVal == "" || typeof(thVal) == "undefined"){
+            return false;
+        }
+
+        if($("#oldNo").val() == thVal){
+            return true;
+        }
+
+        if(!(en_name.test(thVal))){
+            layer.msg('员工编码格式不正确', {icon: 5, time: 1000});
+            return false;
+        }
+        var flag = false;
+        $.ajax({
+            cache: true,
+            type: "POST",
+            data: {
+                employeeNo:thVal
+            },
+            url: "${path}/admin/employee/is_employee",
+            async: false,
+            success: function(data){
+                if (data.returnCode == 200) {
+                    layer.msg('该员工编号已存在', {icon: 5, time: 1000});
+                    flag = false;
+                }else{
+                    flag = true;
+                }
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+                flag = false;
+            }
+        });
+        return flag;
+    }
+
+    /*验证手机号码*/
+    function ptsValiDataTel() {
+        var thVal = $("#employeeTel").val();
+        if(!(/^1[34578]\d{9}$/.test(thVal))){
+            layer.msg('手机号码格式化不正确', {icon: 5, time: 1000});
+            return false;
+        }else{
+            return true;
+        }
+    }
+
+
     /*将表单format为JSON*/
     function formatJSON() {
         var serializeObj={};

+ 28 - 7
watero-rst-web/src/main/webapp/WEB-INF/views/pts/machine/machine_List.ftl

@@ -7,18 +7,26 @@
 			*{padding: 0;margin: 0;}
 			.my-input{border: 1px solid rgba(0,0,0,.1);padding: 1px 5px;height: 32px;margin-right: 10px;}
 			.my-input::-webkit-input-placeholder,.my-select{color: #dcdcdc;}
-			.my-select{border: 1px solid rgba(0,0,0,.1);padding:6px 50px 6px 15px;height: 34px;margin: 0 10px; -webkit-appearance:none;appearance:none;background: url(images/select-1.png) right center no-repeat;background-size:auto 100%;}
+			.my-select{border: 1px solid rgba(0,0,0,.1);padding:6px 50px 6px 15px;height: 34px;margin: 0 10px; -webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/select-1.png) right center no-repeat;background-size:auto 100%;}
 			.my-btn-search{border: 1px solid #32a3d8;padding: 1px 25px;height: 32px;background-color: #32a3d8;color: #fff;}
             .barcodeImg{margin:10px 0px}
+            .table-bg thead th{background-color: #e2f6ff;}
+            input[type=radio]{-webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/radio-1.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
+            input[type=radio]:checked{-webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/radio-2.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
 		</style>
 		<#include "/base/list_base.ftl">
 	</head>
 	<body>
+    <nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页
+        <span class="c-gray en">&gt;</span> PST管理
+        <span class="c-gray en">&gt;</span> 机器列表
+        <a class="btn radius r" style="line-height:1.6em;margin-top:3px;background: #32a3d8;color: #fff;border:1px solid #32a3d8;" href="javascript:location.replace(location.href);" title="刷新" ><i class="Hui-iconfont">&#xe68f;</i></a>
+    </nav>
 		<div class="text-c" style="margin-top: 20px;">
 			<form action="${path}/admin/machine/_machine_list" method="post">
 				 	<input class="my-input" type="text" id="printNumber" name="printNumber" value="3" placeholder="打印数量"/>
                 	<input class="my-input" type="hidden" id="settingNumber" name="settingNumber" value="3"/>
-					<button type="button" class="my-btn-search" onclick="setting();" style="margin-right: 50px;">设置</button>
+					<button type="button" class="my-btn-search" onclick="setting();" style="cursor:pointer; margin-right: 50px;">设置</button>
 
 					<input class="my-input" type="text" name="machineBarcode" value="${machineBarcode!''}" placeholder="请输入机器编号"/>
 					<select class="my-select" name="machineIsPrint">
@@ -58,14 +66,14 @@
 							<option value ="2">异常</option>
 						</#if>
 					</select>
-					<button type="submit" class="my-btn-search">搜索</button>
+					<button type="submit" style="cursor:pointer; " class="my-btn-search">搜索</button>
 			</form>
 		</div>
 		<div class="mt-20" style="margin: 20px;">
 			<table class="table table-border table-bordered table-bg table-hover table-sort">
 				<thead>
 				<tr class="text-c">
-					<th width="10">机器条码(点击打印)</th>
+					<th width="100">机器条码(点击打印)</th>
 					<th width="100">机器二维码(点击打印)</th>
 					<th width="100">打印状态</th>
 					<th width="100">销售状态</th>
@@ -225,7 +233,7 @@
                                 }else{
                                     machineProcessState = "异常";
                                 }
-                                var machineSalesDate = null;
+                                var machineSalesDate = "";
 								if(value.machineSalesDate != null && value.machineSalesDate != undefined){
                                     machineSalesDate =  formatDate(value.machineSalesDate);
 								}
@@ -233,16 +241,29 @@
                                 if(value.machineProducedTime != null && value.machineProducedTime != undefined){
                                     machineProducedTime =  formatDate(value.machineProducedTime);
                                 }
+                                var machineHardwareVersion = "";
+                                if(value.machineHardwareVersion != null && value.machineHardwareVersion != undefined){
+                                    machineHardwareVersion =  value.machineHardwareVersion;
+                                }
+
+                                var machineSoftwareVersion = "";
+                                if(value.machineSoftwareVersion != null && value.machineSoftwareVersion != undefined){
+                                    machineSoftwareVersion =  value.machineSoftwareVersion;
+                                }
 
 								$("#listid").prepend('<tr>'
-                                        +'<td class="text-c" width="100">value.machineBarcode</td>'
+                                        +'<td class="text-c" width="100">'+value.machineBarcode+'</td>'
                                         +'<td class="text-c" width="100"><div id="" onclick="print('+value.machineBarcode+')"><img style="width: 50px;height: 50px;" src="'+value.machineQrcode+'"></td>'
                                         +'<td class="text-c" width="100">'+machineIsPrint+'</td>'
                                         +'<td class="text-c" width="100">'+machineSalesState+'</td>'
 										+'<td class="text-c" width="100">'+machineSalesDate+'</td>'
                             			+'<td class="text-c" width="100">'+machineProcessState+'</td>'
                                         +'<td class="text-c" width="100">'+machineProducedTime+'</td>'
-                            			+'<td class="td-manage text-c"></td></tr>');
+                                        +'<td class="text-c" width="50">'+machineHardwareVersion+'</td>'
+                                        +'<td class="text-c" width="50">'+machineSoftwareVersion+'</td>'
+                            			+'<td class="td-manage text-c">'
+                                        +'<a onclick="machineLogs('+value.machineId+');" title="生产流程" href="javascript:;"  class="ml-5" style="text-decoration:none"><i class="Hui-iconfont">&#xe667;</i></a>'
+                                        +'</td></tr>');
 							});
 						}
 

+ 186 - 175
watero-rst-web/src/main/webapp/WEB-INF/views/pts/machine/machine_particulars.ftl

@@ -1,196 +1,207 @@
 <!DOCTYPE html>
 <html>
-	<head>
-		<meta charset="UTF-8">
-		<title></title>
-		<style>
-			.my-title{font-weight: 500;padding-left: 15px;position: relative;}
-			.my-title:after{content: '';position: absolute;left: 0;top:12%;width: 3px;height: 80%;background: #32a3d8;}
-			.my-list{list-style-type: none;padding: 0;margin: 0;}
-			.my-list>li{margin: 10px 0;}
-			article, section, time, aside {
-				display: block;
-			}
-			.point-time {
-				content: "";
-				position: absolute;
-				width: 13px;
-				height: 13px;
-				top: 12px;
-				left: 90px;
-				background: #1c87bf;
-				margin-left: -4px;
-				border-radius: 50%;
-				box-shadow: 0 0 0 2px #fff;
-			}
+<head>
+    <meta charset="UTF-8">
+    <title></title>
+    <style>
+        .my-title{font-weight: 500;padding-left: 15px;position: relative;}
+        .my-title:after{content: '';position: absolute;left: 0;top:12%;width: 3px;height: 80%;background: #32a3d8;}
+        .my-list{list-style-type: none;padding: 0;margin: 0;}
+        .my-list>li{margin: 10px 0;}
+        article, section, time, aside {
+            display: block;
+        }
+        .point-time {
+            content: "";
+            position: absolute;
+            width: 13px;
+            height: 13px;
+            top: 12px;
+            left: 90px;
+            background: #1c87bf;
+            margin-left: -4px;
+            border-radius: 50%;
+            box-shadow: 0 0 0 2px #fff;
+        }
 
-			.text-red {
-				color: #f6393f;
-			}
+        .text-red {
+            color: #f6393f;
+        }
 
-			.text-blue {
-				color: #32a3d8;
-			}
+        .text-blue {
+            color: #32a3d8;
+        }
 
-			.text-green {
-				color: #95c91e;
-			}
+        .text-green {
+            color: #95c91e;
+        }
 
-			.text-yellow {
-				color: #ffb902;
-			}
+        .text-yellow {
+            color: #ffb902;
+        }
 
-			.text-purple {
-				color: #d32d93;
-			}
+        .text-purple {
+            color: #d32d93;
+        }
 
-			.point-red {
-				background-color: #f6393f;
-			}
+        .point-red {
+            background-color: #f6393f;
+        }
 
-			.point-blue {
-				background-color: #32a3d8;
-			}
+        .point-blue {
+            background-color: #32a3d8;
+        }
 
-			.point-green {
-				background-color: #24c175;
-			}
+        .point-green {
+            background-color: #24c175;
+        }
 
-			.point-yellow {
-				background-color: #ffb902;
-			}
+        .point-yellow {
+            background-color: #ffb902;
+        }
 
-			.point-purple {
-				background-color: #d32d93;
-			}
+        .point-purple {
+            background-color: #d32d93;
+        }
 
-			.content {
-				width: 100%;
-				margin: 0 auto;
-			}
-			.content article {
-				position: relative;
-			}
-			.content article > h3 {
-				width: 100%;
-				height: 20px;
-				line-height: 20px;
-				text-align: left;
-				text-indent: 3%;
-				font-size: 1.4em;
-				color: #fff;
-				padding: 10px 0 20px;
-				background-color: #dd6d01;
-			}
-			.content article section {
-				padding: 0 0 17px;
-				position: relative;
-			}
-			.content article section:before {
-				content: "";
-				width: 3px;
-				top: 17px;
-				bottom: -17px;
-				left: 91px;
-				background: #84c9e9;
-				position: absolute;
-				-webkit-transform: scaleX(.5);
-			}
-			.content article section.no-before:before{
-				display: none;
-			}
-			.content article section:last-child:before {
-				display: none;
-			}
-			.content article section time {
-				width: 80px;
-				display: block;
-				position: absolute;
-				padding: 8px 0;
-			}
-			.content article section time > span {
-				display: block;
-				text-align: center;
-			}
-			.content article section aside {
-				color: #3a3a38;
-				margin-left: 108px;
-				height: 35px;
-				line-height: 35px;
-			}
-			.content article section .brief {
-				color: #9f9f9f;
-			}
-			.things>.items{margin: 0 15px;}
-			p{margin: 0;}
-		</style>
-	<#include "/base/list_base.ftl">
-	</head>
-	<body>
-		<div style="padding: 10px;">
-			<div class="my-title">产品生产详情</div>
-			<ul class="my-list">
-				<li>机器条码:${ptsMachine.machineBarcode!''}</li>
-				<li>生产状态:<#if ptsMachine.machineProcessState == 1><span class="text-blue">正常</#if>
-							<#if ptsMachine.machineProcessState == 2><span class="text-red">异常</#if></span></li>
-				<li>
-					<div class="content">
-					<article>
-					<#list machineLogsList as list>
-                        <section>
-                            <span class="point-time point-blue"></span>
-                            <time>
-								<#if list_index == 1>生产流程:</#if>
-                            </time>
-                            <aside>
-                                <p class="things">
-								${(list.logsProcessTime?string("yyyy-MM-dd HH:mm:ss"))!''}<span class="items">${list.employeeName!''}</span><span class="items">${list.processName!''}</span><#if list.logsProcessStatus == 0><span class="btn-see-ditails text-red">异常</#if><#if list.logsProcessStatus == 1><span class="btn-see-ditails text-blue">正常</#if></span>
-                                </p>
+        .content {
+            width: 100%;
+            margin: 0 auto;
+            font-size: 12px !important;
+        }
+        .content article {
+            position: relative;
+        }
+        .content article > h3 {
+            width: 100%;
+            height: 20px;
+            line-height: 20px;
+            text-align: left;
+            text-indent: 3%;
+            font-size: 1.4em;
+            color: #fff;
+            padding: 10px 0 20px;
+            background-color: #dd6d01;
+        }
+        .content article section {
+            padding: 0 0 17px;
+            position: relative;
+        }
+        .content article section:before {
+            content: "";
+            width: 3px;
+            top: 17px;
+            bottom: -17px;
+            left: 91px;
+            background: #84c9e9;
+            position: absolute;
+            -webkit-transform: scaleX(.5);
+        }
+        .content article section.no-before:before{
+            display: none;
+        }
+        .content article section:last-child:before {
+            display: none;
+        }
+        .content article section time {
+            width: 80px;
+            display: block;
+            position: absolute;
+            padding: 8px 0;
+        }
+        .content article section time > span {
+            display: block;
+            text-align: center;
+        }
+        .content article section aside {
+            color: #3a3a38;
+            margin-left: 108px;
+            height: 35px;
+            line-height: 35px;
+        }
+        .content article section .brief {
+            color: #9f9f9f;
+        }
+        .content .things{margin-bottom: 0;}
+        .things>.items{margin: 0 15px;}
+        p{margin: 0;}
+        input[type=radio]{-webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/radio-1.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
+        input[type=radio]:checked{-webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/radio-2.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
+    </style>
+<#include "/base/list_base.ftl">
+</head>
+<body>
+<nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页
+    <span class="c-gray en">&gt;</span> PST管理
+    <span class="c-gray en">&gt;</span> 产品生产详情
+    <a class="btn radius r" style="line-height:1.6em;margin-top:3px;background: #32a3d8;color: #fff;border:1px solid #32a3d8;" href="javascript:location.replace(location.href);" title="刷新" ><i class="Hui-iconfont">&#xe68f;</i></a>
+</nav>
+<div style="padding: 10px;">
+    <div class="my-title">产品生产详情</div>
+    <ul class="my-list">
+        <li>机器条码:${ptsMachine.machineBarcode!''}</li>
+        <li>生产状态:<#if ptsMachine.machineProcessState == 1><span class="text-blue">正常</#if>
+		<#if ptsMachine.machineProcessState == 2><span class="text-red">异常</#if></span></li>
+        <li>
+            <div class="content">
+                <article>
+				<#list machineLogsList as list>
+                    <section style="padding-bottom: 37px;">
+                        <span class="point-time point-blue"></span>
+                        <time>
+							<#if list_index == 1>生产流程:</#if>
+                        </time>
+                        <aside>
+                            <p class="things">
+							${(list.logsProcessTime?string("yyyy-MM-dd HH:mm:ss"))!''}<span class="items">${list.employeeName!''}</span><span class="items">${list.processName!''}</span><#if list.logsProcessStatus == 0><span class="btn-see-ditails text-red">异常</#if><#if list.logsProcessStatus == 1><span class="btn-see-ditails text-blue">正常</#if></span>
+                            </p>
+                            <p class="things text-red">
 								<#if list.logsErrorType??>
 									<#if list.logsErrorType == 1>
-										<img style="width: 20px;float: left;margin-top:8px;margin-right: 10px;" src="/common/images/tanhao.png" />提示:<span class="btn-see-ditails text-red">${list.logsProcessPrompt}</span>
+                                        <img style="width: 20px;float: left;margin-top:8px;margin-right: 10px;" src="/rst/common/images/pts/tanhao.png" />提示:<span class="btn-see-ditails text-red">${list.logsProcessPrompt}</span>
 									<#else>
-                                        <img style="width: 20px;float: left;margin-top:8px;margin-right: 10px;" src="/common/images/tanhao.png" />提示:<span class="btn-see-ditails text-red">次品异常</span>
+                                        <img style="width: 20px;float: left;margin-top:8px;margin-right: 10px;" src="/rst/common/images/pts/tanhao.png" />提示:<span class="btn-see-ditails text-red">次品异常</span>
 									</#if>
 								</#if>
-                            </aside>
-                        </section>
+                            </p>
+                        </aside>
+                    </section>
 
-					</#list>
-						<#--<section style="padding-bottom: 37px;">
-							<span class="point-time point-blue"></span>
-							<time>
-								
-							</time>
-							<aside>
-								<p class="things">
-									2017-08-09 12:12:12  <span class="items">王老五</span><span class="items">净水机需求清洗物料</span><span class="btn-see-ditails text-red">异常</span>
-								</p>
-								<p class="things text-red">
-									<img style="width: 20px;float: left;margin-top:8px;margin-right: 10px;" src="/common/images/tanhao.png" />提示:此正常流程为检查水箱是否完好
-								</p>
-							</aside>
-						</section>-->
-						<section>
-							<span class="point-time point-green"></span>
-							<time>
-								销售信息:
-							</time>
-							<aside>
-								<p class="things">
-									<#if ptsMachine.machineSalesState == 2>
-									${(ptsMachine.machineSalesDate?string("yyyy-MM-dd"))!''}售出<#--<span class="items">王老五</span><span class="items">净水机需求清洗物料</span>-->
-									<#else >
-										未售出
-									</#if>
+				</#list>
+				<#--<section style="padding-bottom: 37px;">
+                    <span class="point-time point-blue"></span>
+                    <time>
+
+                    </time>
+                    <aside>
+                        <p class="things">
+                            2017-08-09 12:12:12  <span class="items">王老五</span><span class="items">净水机需求清洗物料</span><span class="btn-see-ditails text-red">异常</span>
+                        </p>
+                        <p class="things text-red">
+                            <img style="width: 20px;float: left;margin-top:8px;margin-right: 10px;" src="/common/images/tanhao.png" />提示:此正常流程为检查水箱是否完好
+                        </p>
+                    </aside>
+                </section>-->
+                    <section>
+                        <span class="point-time point-green"></span>
+                        <time>
+                            销售信息:
+                        </time>
+                        <aside>
+                            <p class="things">
+							<#if ptsMachine.machineSalesState == 2>
+							${(ptsMachine.machineSalesDate?string("yyyy-MM-dd"))!''}售出<#--<span class="items">王老五</span><span class="items">净水机需求清洗物料</span>-->
+							<#else >
+                                未售出
+							</#if>
 
-								</p>
-							</aside>
-						</section>
-					</article>
-				</div>
-				</li>
-			</ul>
-		</div>
-	</body>
+                            </p>
+                        </aside>
+                    </section>
+                </article>
+            </div>
+        </li>
+    </ul>
+</div>
+</body>
 </html>

+ 48 - 30
watero-rst-web/src/main/webapp/WEB-INF/views/pts/machine/machine_print_List.ftl

@@ -7,7 +7,7 @@
             *{padding: 0;margin: 0;}
 			.my-input{border: 1px solid rgba(0,0,0,.1);padding: 1px 5px;height: 32px;margin-right: 10px;}
 			.my-input::-webkit-input-placeholder,.my-select{color: #dcdcdc;}
-			.my-select{border: 1px solid rgba(0,0,0,.1);padding:6px 50px 6px 15px;height: 34px;margin: 0 10px; -webkit-appearance:none;appearance:none;background: url(images/select-1.png) right center no-repeat;background-size:auto 100%;}
+			.my-select{border: 1px solid rgba(0,0,0,.1);padding:6px 50px 6px 15px;height: 34px;margin: 0 10px; -webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/select-1.png) right center no-repeat;background-size:auto 100%;}
 			.my-btn-search{border: 1px solid #32a3d8;padding: 1px 25px;height: 32px;background-color: #32a3d8;color: #fff;}
             .barcodeImg{margin:10px 0px}
 			.isprint{width: 200px;height:50px;}
@@ -16,6 +16,11 @@
 		<#include "/base/list_base.ftl">
 	</head>
 	<body>
+    <nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页
+        <span class="c-gray en">&gt;</span> PST管理
+        <span class="c-gray en">&gt;</span> 机器打印列表
+        <a class="btn radius r" style="line-height:1.6em;margin-top:3px;background: #32a3d8;color: #fff;border:1px solid #32a3d8;" href="javascript:location.replace(location.href);" title="刷新" ><i class="Hui-iconfont">&#xe68f;</i></a>
+    </nav>
 		<div class="text-c" style="margin-top: 20px;">
 			<form action="${path}/admin/machine/_machine_print_list" method="post">
 
@@ -27,38 +32,50 @@
                             <span id="havePrint" onclick="selectIsPrint(2);" class="returnOrderEtc">已打印</span>
                         </div>
                     </div>
-                <input class="my-input" type="hidden" id="machineIsPrint" name="machineIsPrint"/>
-                    每个二维码打印数量:
+                <input class="my-input" type="hidden" id="machineIsPrint" name="machineIsPrint" />
+                <input  class="my-input" type="text" value="每个二维码打印数量:" readonly="readonly" style="border: 0;margin-top: 8px;margin-right: 0"/>
                 <input class="my-input" type="text" id="settingNumber" name="printNumber" value="3" placeholder="打印数量" style="margin-top: 10px;"/>
-                <button type="button" class="my-btn-search" onclick="printList();" style="margin-right: 50px;margin-top: 10px;">打印</button>
-                    <button type="button" class="my-btn-search" onclick="batchUpdatePring();" style="margin-right: 50px;margin-top: 10px;">修改为已打印</button>
+                <button type="button" class="my-btn-search" onclick="printList();" style="cursor:pointer; margin-right: 50px;margin-top: 10px;">打印</button>
+                <button id="updatePrintId" type="button" class="my-btn-search" onclick="batchUpdatePring();" style="cursor:pointer; margin-right: 50px;margin-top: 10px;">修改为已打印</button>
 			</form>
 		</div>
 		<div class="mt-2" style="margin: 20px;">
 			<table class="table table-border table-bordered table-bg table-hover table-sort" style=" width: 50%;margin: 0 auto;">
 				<thead>
 				<tr class="text-c">
-                    <th width="1"><input name='checkbox' type='checkbox' value='' id="all" >全选</th>
+                    <th width="1"><input name='checkbox' type='checkbox' value='' id="all" ></th>
 					<th width="10">产品条码</th>
 					<th width="20">操作</th>
 				</tr>
 				</thead>
 				<tbody id="listid">
+                    <#if machineIsPrint == 1>
+                        <#assign machineList = machineList />
+                    <#else >
+                        <#assign machineList = page.dataList />
+                    </#if>
 					<#list machineList as list>
-						<tr class="text-c">
+						<tr class="text-c" id="${list.machineBarcode }">
                             <td width="2">
                                 <input name='checkbox' type='checkbox' value='${list.machineBarcode }${list.machineQrcode }${list.machineProduceType }' >
                             </td>
 							<td class="text-c" width="10">${list.machineBarcode }</td>
 							<!-- 遍历操作 -->
 							<td class="td-manage text-c">
-								<a onclick="updatePrint('${list.machineBarcode}');" title="修改为已打印" href="javascript:;"  class="ml-5" style="text-decoration:none"><i class="Hui-iconfont">&#xe647;</i></a>
+								<a onclick="updatePrint('${list.machineBarcode}');" title="修改为已打印" href="javascript:;"  class="ml-5" style="text-decoration:none"><i class="Hui-iconfont">&#xe6a7;</i></a>
                                 <a onclick="barCodePrint('${list.machineBarcode }'+'${list.machineQrcode }'+'${list.machineProduceType }');" title="打印" href="javascript:;"  class="ml-5" style="text-decoration:none"><i class="Hui-iconfont">&#xe652;</i></a>
                             </td>
 						</tr>
 					</#list>
 				</tbody>
 			</table>
+
+            <#if machineIsPrint == 2>
+                <tfoot>
+                    <div style="width: 60%;margin: 0 auto;"><#include "/base/page_util.ftl"></div>
+                </tfoot>
+            </#if>
+
 			<input type="hidden" value="${machineId!''}" name="machineId" id="machineId">
             <input type="hidden" value="" name="codeId" id="codeId">
             <div style="position: absolute;top: 80px;height: 23px;display:none;" id="bcTarget" class="barcodeImg"></div>
@@ -87,6 +104,7 @@
                 if(${machineIsPrint} == 2){
                     $("#havePrint").attr("class", "current");
                     $("#machineIsPrint").val(2);
+                    $("#updatePrintId").hide();//隐藏修改打印按钮
                 }
 
             function selectIsPrint(printState) {
@@ -115,10 +133,7 @@
                 var machineProduceType = null;
                 var prints = "";
                 var settingNumber = $("#settingNumber").val();
-                var msg = "每个条形码打印数量为" + settingNumber + "条!";
-                /*layer.confirm(msg, {
-                    btn: ['确认','取消'] //按钮
-                }, function(){*/
+
                 $("input[name='checkbox']:checkbox:checked").each(function () {
                     prints += $(this).val();
                     machineBarcode = $(this).val().substring(0, 13);
@@ -134,9 +149,9 @@
                                     '<span style="position: absolute;top:0px;font-size: 14px;">WaterO可移动智能净水机</span>' +
                                     '<span style="position: absolute;top: 24px;font-size: 12px;">型号:WA-1X</span>' +
                                     '<span style="position: absolute;top: 40px;font-size: 12px;">S/N</span>' +
-                                    '<div style="position: absolute;left: -10px;top: 75px;height: 30px;" id="bcTarget2" class="barcodeImg">' + barcodes + '</div>' +
-                                    '<span style="position: absolute;top: 102px;font-size: 12px;width: 116px;text-align: center;" id="barcodeId">' + machineBarcode + '</span>' +
-                                    '<img style="position: absolute;right: 2px;top:18px;width: 86px;height: 86px;" id="qrcodeImg" src="' + machineQrcode + '" /> ' +
+                                    '<div style="position: absolute;left: -10px;top: 75px;height: 30px;"  class="barcodeImg">' + barcodes + '</div>' +
+                                    '<span style="position: absolute;top: 102px;font-size: 12px;width: 116px;text-align: center;">' + machineBarcode + '</span>' +
+                                    '<img style="position: absolute;right: 2px;top:18px;width: 86px;height: 86px;"  src="' + machineQrcode + '" /> ' +
                                     '<span style="position: absolute;right: 26px;top: 102px;font-size: 12px;">NO.4295</span> ' +
                                     '</div>');
                         }
@@ -145,9 +160,9 @@
                                     '<span style="position: absolute;top:0px;font-size: 14px;">爱贝源冲奶机</span>' +
                                     '<span style="position: absolute;top: 24px;font-size: 12px;">型号:WA-1X</span>' +
                                     '<span style="position: absolute;top: 40px;font-size: 12px;">S/N</span>' +
-                                    '<div style="position: absolute;left: -10px;top: 75px;height: 30px;" id="bcTarget2" class="barcodeImg">' + barcodes + '</div>' +
-                                    '<span style="position: absolute;top: 102px;font-size: 12px;width: 116px;text-align: center;" id="barcodeId">' + machineBarcode + '</span>' +
-                                    '<img style="position: absolute;right: 2px;top:18px;width: 86px;height: 86px;" id="qrcodeImg" src="' + machineQrcode + '" /> ' +
+                                    '<div style="position: absolute;left: -10px;top: 75px;height: 30px;"  class="barcodeImg">' + barcodes + '</div>' +
+                                    '<span style="position: absolute;top: 102px;font-size: 12px;width: 116px;text-align: center;" >' + machineBarcode + '</span>' +
+                                    '<img style="position: absolute;right: 2px;top:18px;width: 86px;height: 86px;"  src="' + machineQrcode + '" /> ' +
                                     '<span style="position: absolute;right: 26px;top: 102px;font-size: 12px;">NO.4295</span> ' +
                                     '</div>');
                         }
@@ -161,15 +176,6 @@
                 } else {
                     layer.msg('未选中需要打印的条形码', {icon: 2, time: 2000});
                 }
-                /* }, function(){
-                     return;
-                 });*/
-
-                /*if (confirm(msg)==true){
-
-                }else{
-                    return;
-                }*/
 
                 prints = "";
             }
@@ -218,6 +224,7 @@
                         "dataType" : "json",
                         "data" :{machineBarcode : machineBarcode},
                         "success" : function(data) {
+                            $("#"+machineBarcode).remove();
                             layer.msg('修改成功', {icon: 1, time: 2000});
                         },
                         "error":function(data){
@@ -266,7 +273,18 @@
                     var barcodes = $("#bcTarget").html();
                     /*$("#barcodeId").html(machineBarcode);
                     $("#qrcodeImg").attr('src',machineQrcode);*/
-                    if(machineProduceType == 1){//净水机模板
+
+                    $("#printlist").append('<div style="width: 268px;height: 152px;position: relative;">' +
+                            '<span style="position: absolute;top:0px;font-size: 14px;">WaterO可移动智能净水机</span>' +
+                            '<span style="position: absolute;top: 24px;font-size: 12px;">型号:WA-1X</span>' +
+                            '<span style="position: absolute;top: 40px;font-size: 12px;">S/N</span>' +
+                            '<div style="position: absolute;left: -10px;top: 75px;height: 30px;" id="bcTarget2" class="barcodeImg">'+barcodes+'</div>' +
+                            '<span style="position: absolute;top: 102px;font-size: 12px;width: 116px;text-align: center;" id="barcodeId">'+machineBarcode+'</span>' +
+                            '<img style="position: absolute;right: 2px;top:18px;width: 86px;height: 86px;" id="qrcodeImg" src="'+machineQrcode+'" /> ' +
+                            '<span style="position: absolute;right: 26px;top: 102px;font-size: 12px;">NO.4295</span> ' +
+                            '</div>');
+
+                    /*if(machineProduceType == 1){//净水机模板
                         $("#printlist").append('<div style="width: 268px;height: 152px;position: relative;">' +
                                 '<span style="position: absolute;top:0px;font-size: 14px;">WaterO可移动智能净水机</span>' +
                                 '<span style="position: absolute;top: 24px;font-size: 12px;">型号:WA-1X</span>' +
@@ -287,10 +305,10 @@
                                 '<img style="position: absolute;right: 2px;top:18px;width: 86px;height: 86px;" id="qrcodeImg" src="'+machineQrcode+'" /> ' +
                                 '<span style="position: absolute;right: 26px;top: 102px;font-size: 12px;">NO.4295</span> ' +
                                 '</div>');
-                    }
+                    }*/
                 }
                 $("#printlist").printArea();
-                $("#printlist").html("");
+
             }
         </script>
 	</body>

+ 13 - 11
watero-rst-web/src/main/webapp/WEB-INF/views/pts/produce/produce_list.ftl

@@ -12,19 +12,23 @@
     <title>生产产品列表</title>
     <style>
         .chanpin-list{margin: 0;padding: 10px;list-style-type: none;}
-        .chanpin-list>li{float: left;width: 230px;border: 1px solid rgba(0,0,0,.1);background-color: #fff;margin-right: 30px;}
+        .chanpin-list>li{display: table-cell;width: 230px;border-left: 1px solid rgba(0,0,0,.1);border-bottom: 1px solid rgba(0,0,0,.1);background-color: #fff;position: relative;border-right: 30px solid transparent;padding-bottom: 30px;}
+        .chanpin-list>li:after{content: '';position: absolute;right: 0;width: 1px;height: 100%;background-color: #ccc;-webkit-transform:scaleX(.5);  top:0;}
         .chanpin-list>li .title{background-color: #32a3d8;text-align: center;color: #fff;padding: 12px 0;}
         .chanpin-list>li .title>span{padding:3px 3px 3px 28px;background: url(${path}/common/images/pts/jiqi-1.png) left center no-repeat;background-size:auto 80%;}
         .items-list{margin: 0;padding: 20px 25px;list-style: none;}
         .items-list>li{margin: 12px 0;font-size: 13px;position: relative;padding-left: 13px;color: #666;}
         .items-list>li:after{content: '';position: absolute;left: 0;top: 5px;width: 5px;height: 5px;border-radius: 50%;border: 1px solid #32a3d8;}
-        .items-list>li:last-child{text-align: center;margin-top: 50px;padding-left: 0;}
-        .items-list>li:last-child:after{display: none;}
-        .my-btn-edit{padding: 6px 20px;background-color: #fff;color: #32a3d8;border: 1px solid #32a3d8;cursor:pointer;}
+        .my-btn-edit{padding: 6px 20px;background-color: #fff;color: #32a3d8;border: 1px solid #32a3d8;cursor:pointer;display: block;
+            width: 100px;
+            left: 50%;
+            position: absolute;bottom: 10px;margin-left: -50px;}
         .chanpin-list>.li-add{width: 230px;height: 280px;text-align: center;display: table;padding-top: 55px;position: relative;cursor:pointer;}
         .chanpin-list>.li-add:before{content: '';width: 5px;height: 80px; position: absolute;left: 50%;top: 90px;background-color: #32a3d8;border-radius: 50px;}
-        .chanpin-list>.li-add:after{content: '';height: 5px;width: 80px;position: absolute;left: 75px;top: 128px;background-color: #32a3d8;border-radius: 50px;}
+        .chanpin-list>.li-add:after{content: '';height: 5px;width: 80px;position: absolute;left: 75px;top: 128px;background-color: #32a3d8;border-radius: 50px;-webkit-transform:scaleX(1);}
         .chanpin-list>.li-add>div{display: table-cell;vertical-align: middle;height: 100%;width: 100%;text-align: center;color: #32a3d8;}
+        input[type=radio]{-webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/radio-1.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
+        input[type=radio]:checked{-webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/radio-2.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
     </style>
 </head>
 <body>
@@ -39,22 +43,20 @@
 
         <#list resultList as produce>
             <li>
-                <div class="title">
+                <div class="title" <#if produce.produceStatus == 0>style="background-color: #ccc;"</#if>>
                     <span>${produce.produceName!}</span>
                 </div>
                 <ul class="items-list">
                     <#list produce.process as process>
                         <li>${process.processName!}</li>
                     </#list>
-                    <li>
-                        <button type="button" onclick="updateProduce(${produce.produceId!})" class="my-btn-edit">编辑流程</button>
-                    </li>
                 </ul>
+                <button type="button" onclick="updateProduce(${produce.produceId!})" class="my-btn-edit">编辑流程</button>
             </li>
         </#list>
-            <li class="li-add">
+            <div class="li-add">
                 <div>添加产品</div>
-            </li>
+            </div>
         </ul>
     <div>
 

+ 68 - 60
watero-rst-web/src/main/webapp/WEB-INF/views/pts/produce/save_produce.ftl

@@ -11,50 +11,67 @@
     <style>
         .my-title{font-weight: 500;padding-left: 15px;position: relative;}
         .my-title:after{content: '';position: absolute;left: 0;top:12%;width: 3px;height: 80%;background: #32a3d8;}
-        .my-input{padding: 5px 10px;width: 60%;}
+        .my-input{padding: 5px 10px;width: 80%;border: 1px solid rgba(0,0,0,.1);}
         .input-box{margin: 18px 0;}
         .input-dic{float: left;margin:5px 10px 0 0;font-size: 12px;}
         .add-list{list-style-type: none;padding: 10px;background-color: #f5f5f5;width: 60%;float: left;margin: 0;}
-        .my-btn-edit{padding: 6px 20px;background-color: #fff;color: #32a3d8;border: 1px solid #32a3d8;cursor:pointer;margin: 10px 10px 0 10px;}
-        .my-btn-reset{padding: 6px 20px;width: 150px; background-color: #fff;color: #32a3d8;border: 1px solid #32a3d8;cursor:pointer;margin: 10px 10px 0 10px;}
-        .my-btn-submit{padding: 6px 20px;width: 150px; background-color: #32a3d8;color: #fff;border: 1px solid #32a3d8;cursor:pointer;margin: 10px 10px 0 10px;}
+        .my-btn-edit{padding: 8px 20px;background-color: #fff;color: #32a3d8;border: 1px solid #32a3d8;cursor:pointer;margin:0 10px;}
+        .my-btn-reset{padding: 10px 20px;width: 150px; background-color: #fff;color: #32a3d8;border: 1px solid #32a3d8;cursor:pointer;margin: 10px 10px 0 10px;}
+        .my-btn-submit{padding: 10px 20px;width: 150px; background-color: #32a3d8;color: #fff;border: 1px solid #32a3d8;cursor:pointer;margin: 10px 10px 0 10px;}
         .add-list>li{margin: 10px 0;}
         .cp-list{list-style-type: none;margin: 0;padding: 0;}
         .cp-list>li{position: relative;    cursor: pointer;clear: both;padding: 15px 0;}
-        .my-select{border: 1px solid rgba(0,0,0,.1);padding:6px 50px 6px 15px;height: 34px;margin: 0 10px; -webkit-appearance:none;appearance:none;background: url(images/select-1.png) right center no-repeat;background-size:auto 100%;}
+        .my-select{border: 1px solid rgba(0,0,0,.1);padding:6px 50px 6px 15px;height: 34px;margin: 0 10px; -webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/select-1.png) right center no-repeat;background-size:auto 100%;}
+        input[type=radio]{-webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/radio-1.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
+        input[type=radio]:checked{-webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/radio-2.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
+
+        .pro-height{margin-top: 0px;}
+        .process-sp{margin-top: 0px; line-height: 30px;}
     </style>
     <title>添加生产产品- 生产产品管理 - RST</title>
 </head>
 <body>
+<nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页
+    <span class="c-gray en">&gt;</span> 产品管理
+    <span class="c-gray en">&gt;</span> 添加产品
+    <a class="btn radius r" style="line-height:1.6em;margin-top:3px;background: #58d2ea;color: #fff;" href="javascript:location.replace(location.href);" title="刷新" ><i class="Hui-iconfont">&#xe68f;</i></a>
+</nav>
 <article class="page-container">
     <form class="form form-horizontal" id="form-admin-addProduce">
         <div style="padding: 10px;width: 600px;margin: 0 auto;" class="">
             <div class="my-title">产品信息</div>
-            <div class="input-box"><span class="input-dic">产品名称</span><input class="my-input" name="produceName" type="text" value="" placeholder="请输入产品名称" required   maxlength="20" /> </div>
-            <div class="input-box"><span class="input-dic">产品描述</span><input class="my-input" type="text" name="produceRemake" value="" placeholder="请输入产品描述" required  maxlength="100"/> </div>
+            <div class="input-box"><span class="input-dic">产品名称</span><input class="my-input" name="produceName" id="produceName" type="text" value="" placeholder="请输入产品名称,2-20位中文、英文、数字组合" required   maxlength="20" minlength="2"/> </div>
+            <div class="input-box"><span class="input-dic">产品描述</span><input class="my-input" type="text" name="produceRemake" id="produceRemake" value="" placeholder="请输入产品描述,2-100位中文、英文、数字组合" required  maxlength="100" minlength="2"/> </div>
             <div class="input-box"><span class="input-dic">产品类型</span>
                 <label><input type="radio" name="produceType" value="1" checked>净水机</label>
                 <label><input type="radio" name="produceType" value="2">冲奶机</label>
             </div>
-            <div style="background-color:rgba(0,0,0,.1);height: 1px;margin: 15px 0;"></div>
+
+            <div class="input-box"><span class="input-dic">产品状态</span>
+                <label><input type="radio" name="produceStatus" value="1" checked>正在使用</label>
+                <label><input type="radio" name="produceStatus" value="0">停止使用</label>
+            </div>
+            <div style="background-color:rgba(0,0,0,.1);height: 1px;margin: 15px 0;width: 93%;"></div>
+
             <div class="my-title">节点信息</div>
 
             <ul class="cp-list onrTheProcess" id="sortable">
                 <li id="1" class="processList">
                     <input type="hidden" class="processNumber" value="1">
-                    <div class="input-box"><span class="input-dic process-type">节点类型</span>
+                    <div class="input-box pro-height">
+                        <span class="input-dic process-type process-sp">节点类型</span>
                         <label><input type="radio" name="processType_p1" value="1" checked>生产工序</label>
                         <label><input type="radio" name="processType_p1" value="2">修理工序</label>
                         <button type="button" class="my-btn-edit" onclick="delProcess(this)">删除节点</button>
                     </div>
-                    <div class="input-box"><span class="input-dic">节点名称</span><input class="my-input" name="processName" type="text" value="" placeholder="请输入节点名称" required   maxlength="20"/> </div>
+                    <div class="input-box"><span class="input-dic">节点名称</span><input class="my-input" name="processName" type="text" value="" placeholder="请输入节点名称,2-20位中文、英文、数字组合" required   maxlength="20" minlength="2"/> </div>
                     <div class="input-box"><span class="input-dic">节点操作</span>
                         <ul class="add-list oneTheNode" >
                             <li class="nodeList">
                                 <#--<select class="my-select"><option>1</option></select>-->
                                 <label><input type="radio" name="nodeStatus_p1_n1" value="1" checked>正常</label>
                                 <label><input type="radio" name="nodeStatus_p1_n1" value="0">异常</label>
-                                <input class="my-input" name="nodeDes" type="text" value="" placeholder="请输入节点操作描述,2-20位中文" required minlength="2"   maxlength="20" />
+                                <input class="my-input" name="nodeDes" type="text" value="" placeholder="请输入节点操作描述,2-20位中文、英文、数字组合" required minlength="2"   maxlength="20" />
                                 <i class="Hui-iconfont" onclick="delNode(this)">&#xe60b;</i>
                             </li>
                             <li>
@@ -66,7 +83,7 @@
             </ul>
 
             <div style="clear: both;"></div>
-            <div><button type="button" class="my-btn-edit" onclick="addProcess(this)">增加节点</button></div>
+            <div style="padding-top: 15px;"><button type="button" class="my-btn-edit" onclick="addProcess(this)">增加节点</button></div>
             <div>
                 <button type="reset" class="my-btn-reset" >重置</button><button type="submit" class="my-btn-submit">确认提交</button>
             </div>
@@ -79,53 +96,44 @@
 <script type="text/javascript" src="${path}/common/lib/jquery.ui/jquery-ui.js"></script>
 <script type="text/javascript">
 
-/*
-   $(function(){
-        $("#form-admin-addProduce").validate({
-            rules:{
-                produceName1:{
-                    required:true,
-                    minlength:2,
-                    maxlength:20
-                }
-            },
-            messages: {
-                produceName1: {
-                    required: "*必填!",
-                    rangelength: "*长度为2到20位!",
-                }
-            },
-            //是否在获取焦点时验证
-            //onfocusout:false,
-            //是否在敲击键盘时验证
-            //onkeyup:false,
-            //提交表单后,(第一个)未通过验证的表单获得焦点
-            focusInvalid:true,
-            //当未通过验证的元素获得焦点时,移除错误提示
-            focusCleanup:true,
-
-//            onkeyup:false,
-//            focusCleanup:true,
-//            success:"valid",
-            submitHandler:function(form){
-                $.post(root_path + "/admin/produce/save_produce", formatJSON(),function(result){
-                    if (result.returnCode != 200 || result.returnCode != 200) {
-                        layer.msg('录入失败,请重试!',{icon: 5,time:3000});
-                    } else {
-                        layer.msg('录入成功!!',{icon: 1,time:2000}, function () {
-                            // 关闭当前页面,并刷新父级页面
-                            window.location.href= '${path}/admin/produce/_produce_list';
-                        });
-                    }
-                });
-            }
-        });
-    });*/
-
+    var check_name = /^[a-zA-Z0-9\u4e00-\u9fa5,.!;,。!;:“”\\"\\ ]+$/;
+    var cnen_name = /^[a-zA-Z0-9\u4e00-\u9fa5]+$/;
 
     $(function(){
         //var validator = $("#form-admin-addProduce").validate();
         $("#form-admin-addProduce").submit(function(){
+
+            var produceName = $("#produceName").val();
+            if(!(cnen_name.test(produceName))){
+                layer.msg('产品名称输入格式不正确', {icon: 5, time: 1000});
+                return false;
+            }
+
+            var produceRemake = $("#produceRemake").val();
+            if(!(cnen_name.test(produceRemake))){
+                layer.msg('产品描述输入格式不正确', {icon: 5, time: 1000});
+                return false;
+            }
+
+            var flag = true;
+            $("input[name='processName']").each(function () {
+                if( !(cnen_name.test($(this).val())) ){
+                    layer.msg('节点名称输入格式不正确', {icon: 5, time: 1000});
+                    flag = false;
+                }
+            })
+            if(!flag)
+                return false;
+
+            $("input[name='nodeDes']").each(function () {
+                if( !(check_name.test($(this).val())) ){
+                    layer.msg('节点操作描述输入格式不正确', {icon: 5, time: 1000});
+                    flag = false;
+                }
+            })
+            if(!flag)
+                return false;
+
             ajaxReq();
             return false;
         })
@@ -179,7 +187,8 @@
         produce.json = JSON.stringify(proessList);      //将工序变成json存入到产品对象中
         produce.produceName = $("[name='produceName']").val();//获取产品名称
         produce.produceRemake = $("[name='produceRemake']").val();//获取产品描述
-        produce.produceType = $("[name='produceType']").val();//获取产品描述
+        produce.produceType = $("[name='produceType']:checked").val();//获取产品类型
+        produce.produceStatus = $("[name='produceStatus']:checked").val();//获取产品状态
         return produce;
     }
 
@@ -193,7 +202,7 @@
                 //+'<select class="my-select"><option>1</option></select>&nbsp;'
                 +'<label><input type="radio" name="nodeStatus_p'+ processNumber +'_n'+ nodeNumber +'" value="1" checked>正常</label>&nbsp;'
                 +'<label><input type="radio" name="nodeStatus_p'+ processNumber +'_n'+ nodeNumber +'" value="0">异常</label>&nbsp;'
-                +'<input class="my-input" name="nodeDes" type="text" value="" placeholder="请输入节点操作描述,2-20位中文"   required  minlength="2"  maxlength="20"/>&nbsp;'
+                +'<input class="my-input" name="nodeDes" type="text" value="" placeholder="请输入节点操作描述,2-20位中文、英文、数字组合"   required  minlength="2"  maxlength="20"/>&nbsp;'
                 +'<i class="Hui-iconfont" onclick="delNode(this)">&#xe60b;</i>'
                 +'</li>';
         $(node).parent().before(nodeHtml);
@@ -211,14 +220,14 @@
                 + '<label><input type="radio" name="processType_p'+ processNumber +'" value="2">修理工序</label>'
                 + '<button type="button" class="my-btn-edit" onclick="delProcess(this)">删除节点</button>'
                 + '</div>'
-                + '<div class="input-box"><span class="input-dic">节点名称</span><input class="my-input" name="processName" type="text" value="" placeholder="请输入节点名称"  required   maxlength="20"/> </div>'
+                + '<div class="input-box"><span class="input-dic">节点名称</span><input class="my-input" name="processName" type="text" value="" placeholder="请输入节点名称,2-20位中文、英文、数字组合"  required   maxlength="20"/> </div>'
                 + '<div class="input-box"><span class="input-dic">节点操作</span>'
                 + '<ul class="add-list oneTheNode">'
                 + '<li class="nodeList">'
                 //  + '<select class="my-select"><option>1</option></select>&nbsp;'
                 + '<label><input type="radio" name="nodeStatus_p'+ processNumber +'_n1" value="1" checked>正常</label>&nbsp;'
                 + '<label><input type="radio" name="nodeStatus_p'+ processNumber +'_n1" value="0">异常</label>&nbsp;'
-                + '<input class="my-input" name="nodeDes" type="text" value="" placeholder="请输入节点操作描述,2-20位中文"  required  minlength="2"  maxlength="20"/>&nbsp;'
+                + '<input class="my-input" name="nodeDes" type="text" value="" placeholder="请输入节点操作描述,2-20位中文、英文、数字组合"  required  minlength="2"  maxlength="20"/>&nbsp;'
                 + '<i class="Hui-iconfont" onclick="delNode(this)">&#xe60b;</i>'
                 + '</li>'
                 + '<li><button type="button" class="my-btn-edit" onclick="addProNode(this)">增加节点操作</button></li>'
@@ -238,7 +247,6 @@
             layer.msg('至少要有一个节点!',{icon: 5,time:3000});
         }else{
             $(node).parents(".processList").remove();
-            delProcessIds += delProcessIds;
         }
     }
 

+ 68 - 55
watero-rst-web/src/main/webapp/WEB-INF/views/pts/produce/update_produce.ftl

@@ -11,33 +11,44 @@
     <style>
         .my-title{font-weight: 500;padding-left: 15px;position: relative;}
         .my-title:after{content: '';position: absolute;left: 0;top:12%;width: 3px;height: 80%;background: #32a3d8;}
-        .my-input{padding: 5px 10px;width: 60%;}
+        .my-input{padding: 5px 10px;width: 80%;border:1px solid rgba(0,0,0,.1)}
         .input-box{margin: 18px 0;}
         .input-dic{float: left;margin:5px 10px 0 0;font-size: 12px;}
         .add-list{list-style-type: none;padding: 10px;background-color: #f5f5f5;width: 60%;float: left;margin: 0;}
-        .my-btn-edit{padding: 6px 20px;background-color: #fff;color: #32a3d8;border: 1px solid #32a3d8;cursor:pointer;margin: 10px 10px 0 10px;}
+        .my-btn-edit{padding: 6px 20px;background-color: #fff;color: #32a3d8;border: 1px solid #32a3d8;cursor:pointer;margin: 0 10px;}
         .my-btn-reset{padding: 6px 20px;width: 150px; background-color: #fff;color: #32a3d8;border: 1px solid #32a3d8;cursor:pointer;margin: 10px 10px 0 10px;}
         .my-btn-submit{padding: 6px 20px;width: 150px; background-color: #32a3d8;color: #fff;border: 1px solid #32a3d8;cursor:pointer;margin: 10px 10px 0 10px;}
         .add-list>li{margin: 10px 0;}
         .cp-list{list-style-type: none;margin: 0;padding: 0;}
         .cp-list>li{position: relative;    cursor: pointer;clear: both;padding: 15px 0;}
-        .my-select{border: 1px solid rgba(0,0,0,.1);padding:6px 50px 6px 15px;height: 34px;margin: 0 10px; -webkit-appearance:none;appearance:none;background: url(images/select-1.png) right center no-repeat;background-size:auto 100%;}
+        .my-select{border: 1px solid rgba(0,0,0,.1);padding:6px 50px 6px 15px;height: 34px;margin: 0 10px; -webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/select-1.png) right center no-repeat;background-size:auto 100%;}
+        input[type=radio]{-webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/radio-1.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
+        input[type=radio]:checked{-webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/radio-2.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
     </style>
     <title>修改生产产品- 生产产品管理 - RST</title>
 </head>
 <body>
+<nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页
+    <span class="c-gray en">&gt;</span> 产品管理
+    <span class="c-gray en">&gt;</span> 修改产品
+    <a class="btn radius r" style="line-height:1.6em;margin-top:3px;background: #58d2ea;color: #fff;" href="javascript:location.replace(location.href);" title="刷新" ><i class="Hui-iconfont">&#xe68f;</i></a>
+</nav>
 <article class="page-container">
     <form class="form form-horizontal" id="form-admin-addProduce">
         <div style="padding: 10px;width: 600px;margin: 0 auto;" class="">
             <div class="my-title">产品信息</div>
             <input type="hidden" name="produceId" value="${produce.produceId!}">
-            <div class="input-box"><span class="input-dic">产品名称</span><input class="my-input" name="produceName" type="text" value="${produce.produceName!}" placeholder="请输入产品名称" maxlength="20"  required /> </div>
-            <div class="input-box"><span class="input-dic">产品描述</span><input class="my-input" type="text" name="produceRemake" value="${produce.produceRemake!}" placeholder="请输入产品描述" maxlength="100"  required /> </div>
+            <div class="input-box"><span class="input-dic">产品名称</span><input class="my-input" name="produceName" type="text" value="${produce.produceName!}" placeholder="请输入产品名称,2-20位中文、英文、数字组合" maxlength="20"  required /> </div>
+            <div class="input-box"><span class="input-dic">产品描述</span><input class="my-input" type="text" name="produceRemake" value="${produce.produceRemake!}" placeholder="请输入产品描述,2-100位中文、英文、数字组合" maxlength="100"  required /> </div>
             <div class="input-box"><span class="input-dic">产品类型</span>
                 <label><input type="radio" name="produceType" value="1" <#if produce.produceType == 1>checked</#if>>净水机</label>
                 <label><input type="radio" name="produceType" value="2" <#if produce.produceType == 2>checked</#if>>冲奶机</label>
             </div>
-            <div style="background-color:rgba(0,0,0,.1);height: 1px;margin: 15px 0;"></div>
+            <div class="input-box"><span class="input-dic">产品状态</span>
+                <label><input type="radio" name="produceStatus" value="1" <#if produce.produceStatus == 1>checked</#if>>正在使用</label>
+                <label><input type="radio" name="produceStatus" value="0" <#if produce.produceStatus == 0>checked</#if>>停止使用</label>
+            </div>
+            <div style="background-color:rgba(0,0,0,.1);height: 1px;margin: 15px 0;width: 93%;"></div>
             <div class="my-title">节点信息</div>
 
 
@@ -51,7 +62,7 @@
                             <label><input type="radio" name="processType_p${process_index + 1}" value="2" <#if process.processType == 2>checked</#if>>修理工序</label>
                             <button type="button" class="my-btn-edit" onclick="delProcess(this)">删除节点</button>
                         </div>
-                        <div class="input-box"><span class="input-dic">节点名称</span><input class="my-input" name="processName" type="text" value="${process.processName!}" placeholder="请输入节点名称" maxlength="20" required/> </div>
+                        <div class="input-box"><span class="input-dic">节点名称</span><input class="my-input" name="processName" type="text" value="${process.processName!}" placeholder="请输入节点名称,2-20位中文、英文、数字组合" maxlength="20" required/> </div>
                         <div class="input-box"><span class="input-dic">节点操作</span>
                             <ul class="add-list oneTheNode" >
                                 <#list process.nodes as nodes>
@@ -60,7 +71,7 @@
                                         <#--<select class="my-select"><option>1</option></select>-->
                                         <label><input type="radio" name="nodeStatus_p${process_index + 1}_n${nodes_index + 1}" value="1" <#if nodes.nodeStatus == 1>checked</#if>>正常</label>
                                         <label><input type="radio" name="nodeStatus_p${process_index + 1}_n${nodes_index + 1}" value="0" <#if nodes.nodeStatus == 0>checked</#if>>异常</label>
-                                        <input class="my-input" name="nodeDes" type="text" value="${nodes.nodeDes!}" placeholder="请输入节点操作描述,2-20位中文" maxlength="20" minlength="2"  required/>
+                                        <input class="my-input" name="nodeDes" type="text" value="${nodes.nodeDes!}" placeholder="请输入节点操作描述,2-20位中文、英文、数字组合" maxlength="20" minlength="2"  required/>
                                         <i class="Hui-iconfont" onclick="delNode(this)">&#xe60b;</i>
                                     </li>
                                 </#list>
@@ -75,7 +86,7 @@
 
 
             <div style="clear: both;"></div>
-            <div><button type="button" class="my-btn-edit" onclick="addProcess(this)">增加节点</button></div>
+            <div style="padding-top: 15px;"><button type="button" class="my-btn-edit" onclick="addProcess(this)">增加节点</button></div>
             <div>
                 <button type="reset" class="my-btn-reset" >重置</button><button type="submit" class="my-btn-submit">确认提交</button>
             </div>
@@ -88,52 +99,48 @@
 <script type="text/javascript" src="${path}/common/lib/jquery.ui/jquery-ui.js"></script>
 <script type="text/javascript">
 
+    var check_name = /^[a-zA-Z0-9\u4e00-\u9fa5,.!;,。!;:“”\\"\\ ]+$/;
+    var cnen_name = /^[a-zA-Z0-9\u4e00-\u9fa5]+$/;
+
     var delProcessIds="",delNodeIds="";
+    $(function(){
+        //var validator = $("#signupForm").validate();
+        $("#form-admin-addProduce").submit(function(){
 
-    //动态显示隐藏所属菜单
-//    $(document).on('click', '.menuSubid input[type=radio]', function() {
-//        isSelectShow($(this).val())
-//    })
+            var produceName = $("#produceName").val();
+            if(!(cnen_name.test(produceName))){
+                layer.msg('产品名称输入格式不正确', {icon: 5, time: 1000});
+                return false;
+            }
 
- /*   $(function(){
-        $("#form-admin-addProduce").validate({
-            rules:{
-                subName:{
-                    required:true,
-                    minlength:4,
-                    maxlength:30
-                }
-            },
-            onkeyup:false,
-            focusCleanup:true,
-            success:"valid",
-            submitHandler:function(form){
-                $.post(root_path + "/admin/produce/update_produce", formatJSON(),function(result){
-                    if (result.returnCode != 200 || result.returnCode != 200) {
-                        layer.msg('录入失败,请重试!',{icon: 5,time:3000});
-                    } else {
-                        layer.msg('录入成功!!',{icon: 1,time:2000}, function () {
-                            // 关闭当前页面,并刷新父级页面
-                            window.location.href= '${path}/admin/produce/_produce_list';
-                        });
-                    }
-                });
+            var produceRemake = $("#produceRemake").val();
+            if(!(cnen_name.test(produceRemake))){
+                layer.msg('产品描述输入格式不正确', {icon: 5, time: 1000});
+                return false;
             }
-        });
-    });*/
 
+            var flag = true;
+            $("input[name='processName']").each(function () {
+                if( !(cnen_name.test($(this).val())) ){
+                    layer.msg('节点名称输入格式不正确', {icon: 5, time: 1000});
+                    flag = false;
+                }
+            })
+            if(!flag)
+                return false;
 
+            $("input[name='nodeDes']").each(function () {
+                if( !(check_name.test($(this).val())) ){
+                    layer.msg('节点操作描述输入格式不正确', {icon: 5, time: 1000});
+                    flag = false;
+                }
+            })
+            if(!flag)
+                return false;
 
-    $(function(){
-        //var validator = $("#signupForm").validate();
-        $("#form-admin-addProduce").submit(function(){
             ajaxReq();
             return false;
         })
-//        jQuery.validator.addMethod("processName", function(value, element) {
-//               var mobile = /[^\w\u4e00-\u9fa5]/;
-//               return this.optional(element) || (mobile.test(value));
-//            }, "请正确填写您的手机号码");
     })
 
     function ajaxReq(){
@@ -189,7 +196,8 @@
         produce.produceId = $("[name='produceId']").val();//获取产品id
         produce.produceName = $("[name='produceName']").val();//获取产品名称
         produce.produceRemake = $("[name='produceRemake']").val();//获取产品描述
-        produce.produceType = $("[name='produceType']").val();//获取产品描述
+        produce.produceType = $("[name='produceType']:checked").val();//获取产品类型
+        produce.produceStatus = $("[name='produceStatus']:checked").val();//获取产品状态
 
         produce.delProcessIds = delProcessIds;    //需要删除的工序id
         produce.delNodeIds = delNodeIds;           //需要删除的节点操作id
@@ -200,7 +208,6 @@
      * 获取id
      */
     function getDelId(node,delIdName){
-        debugger;
         var delId = $(node).find("[name='"+ delIdName +"']").val();
         if(delId == null || delId == "" || typeof(delId)=="undefined" || delId == undefined ){
             delId = 0;
@@ -218,7 +225,7 @@
                 //+'<select class="my-select"><option>1</option></select>&nbsp;'
                 +'<label><input type="radio" name="nodeStatus_p'+ processNumber +'_n'+ nodeNumber +'" value="1" checked>正常</label>&nbsp;'
                 +'<label><input type="radio" name="nodeStatus_p'+ processNumber +'_n'+ nodeNumber +'" value="0">异常</label>&nbsp;'
-                +'<input class="my-input" name="nodeDes" type="text" value=""  placeholder="请输入节点操作描述,2-20位中文" maxlength="20" minlength="2"  required/>&nbsp;'
+                +'<input class="my-input" name="nodeDes" type="text" value=""  placeholder="请输入节点操作描述,2-20位中文、英文、数字组合" maxlength="20" minlength="2"  required/>&nbsp;'
                 +'<i class="Hui-iconfont" onclick="delNode(this)">&#xe60b;</i>'
                 +'</li>';
         $(node).parent().before(nodeHtml);
@@ -236,14 +243,14 @@
                 + '<label><input type="radio" name="processType_p'+ processNumber +'" value="2">修理工序</label>'
                 + '<button type="button" class="my-btn-edit" onclick="delProcess(this)">删除节点</button>'
                 + '</div>'
-                + '<div class="input-box"><span class="input-dic">节点名称</span><input class="my-input" name="processName" type="text" value="" placeholder="请输入节点名称" maxlength="20"  required/> </div>'
+                + '<div class="input-box"><span class="input-dic">节点名称</span><input class="my-input" name="processName" type="text" value="" placeholder="请输入节点名称,2-20位中文、英文、数字组合" maxlength="20"  required/> </div>'
                 + '<div class="input-box"><span class="input-dic">节点操作</span>'
                 + '<ul class="add-list oneTheNode">'
                 + '<li class="nodeList">'
                 //  + '<select class="my-select"><option>1</option></select>&nbsp;'
                 + '<label><input type="radio" name="nodeStatus_p'+ processNumber +'_n1" value="1" checked>正常</label>&nbsp;'
                 + '<label><input type="radio" name="nodeStatus_p'+ processNumber +'_n1" value="0">异常</label>&nbsp;'
-                + '<input class="my-input" name="nodeDes" type="text" value=""  placeholder="请输入节点操作描述,2-20位中文" maxlength="20" minlength="2"  required/>&nbsp;'
+                + '<input class="my-input" name="nodeDes" type="text" value=""  placeholder="请输入节点操作描述,2-20位中文、英文、数字组合" maxlength="20" minlength="2"  required/>&nbsp;'
                 + '<i class="Hui-iconfont" onclick="delNode(this)">&#xe60b;</i>'
                 + '</li>'
                 + '<li><button type="button" class="my-btn-edit" onclick="addProNode(this)">增加节点操作</button></li>'
@@ -258,15 +265,19 @@
      * @param node
      */
     function delProcess(node) {
-        debugger;
         var processNumber = $(node).parents(".onrTheProcess").find(".processList").length;
         if(parseInt(processNumber) < 2){
             layer.msg('至少要有一个节点!',{icon: 5,time:3000});
         }else{
             var processId = $(node).parents(".processList").find("[name='processId']").val();
-            delProcessIds += processId+",";
+            if(processId != null && processId != "" && typeof(processId)!="undefined"){
+                delProcessIds += processId+",";
+            }
             $(node).parents(".processList").find("[name='nodeId']").each(function(){
-                delNodeIds += $(this).val()+",";
+                var nodeId = $(this).val();
+                if(nodeId != null && nodeId != "" && typeof(nodeId)!="undefined"){
+                    delNodeIds += nodeId +",";
+                }
             });
 
             $(node).parents(".processList").remove();
@@ -283,7 +294,9 @@
             layer.msg('至少要有一个节点操作!',{icon: 5,time:3000});
         }else{
             var nodeId = $(node).parents(".nodeList").find("[name='nodeId']").val();
-            delNodeIds += nodeId  + ",";
+            if(nodeId != null && nodeId != "" && typeof(nodeId)!="undefined"){
+                delNodeIds += nodeId +",";
+            }
             $(node).parents(".nodeList").remove();
         }
     }
@@ -305,7 +318,7 @@
 //        $("#sortable>li").each(function(){
 //            console.log($(this).attr("id"));
 //        });
-    });
+//    });
 </script>
 </body>
 </html>

+ 4 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/sys/add_admin.ftl

@@ -10,6 +10,10 @@
     <title>添加更换滤芯 - 更换滤芯管理 - H-ui.filter v2.4</title>
     <meta name="keywords" content="${path}">
     <meta name="description" content="H-ui.admin v3.0,是一款由国人开发的轻量级扁平化网站后台模板,完全免费开源的网站后台管理系统模版,适合中小型CMS后台系统。">
+    <style>
+        input[type=radio]{-webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/radio-1.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
+        input[type=radio]:checked{-webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/radio-2.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
+    </style>
 </head>
 <body>
 <article class="page-container">

+ 1 - 1
watero-rst-web/src/main/webapp/WEB-INF/views/sys/list_admin.ftl

@@ -12,7 +12,7 @@
     <title>系统管理 - 管理员列表 - Watero-RST 1.0</title>
 </head>
 <body>
-<nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页 <span class="c-gray en">&gt;</span> 系统管理 <span class="c-gray en">&gt;</span> 管理员列表 <a class="btn btn-success radius r" style="line-height:1.6em;margin-top:3px" href="javascript:location.replace(location.href);" title="刷新" ><i class="Hui-iconfont">&#xe68f;</i></a></nav>
+<nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页 <span class="c-gray en">&gt;</span> 系统管理 <span class="c-gray en">&gt;</span> 管理员列表 <a class="btn btn-success radius r" style="line-height:1.6em;margin-top:3px;background: #32a3d8;color: #fff;border:1px solid #32a3d8;" href="javascript:location.replace(location.href);" title="刷新" ><i class="Hui-iconfont">&#xe68f;</i></a></nav>
 <div class="page-container">
     <#--<div class="cl pd-5 bg-1 bk-gray mt-20"> <span class="l"><a href="javascript:;" onclick="admin_add('添加管理员','admin-add.html','800','500')" class="btn btn-primary radius"><i class="Hui-iconfont">&#xe600;</i> 添加管理员</a></span></div>-->
      <table class="table table-border table-bordered table-hover">

+ 3 - 3
watero-rst-web/src/main/webapp/common/css/login/login.css

@@ -1,4 +1,4 @@
-.loginWraper{background: #fff url(../../images/login/admin-login-bg.jpg) no-repeat top;}
+.loginWraper{background: #fff url(../../images/login/admin-login-bg.png) no-repeat top;}
 .loginBox{padding-top: 88px;background: url(../../images/login/admin-loginform-bg.png) top right no-repeat;background-size:90% 80%;padding-bottom: 50px;}
 .input-text, .textarea {border: 0;border-bottom: solid 1px #ddd;text-indent: 2em;}
 .user_count{background: url(../../images/login/ipt_head.png) left center no-repeat /30px !important;}
@@ -8,7 +8,7 @@
 .my-btn-login{width: 90% !important;}
 @media screen and (orientation:portrait) and (-webkit-min-device-pixel-ratio:2){
 /*mobile竖屏*/
-.loginWraper {background: #fff url(../../images/login/admin-login-bg.jpg) no-repeat top right;background-size: auto 50%;}
+.loginWraper {background: #fff url(../../images/login/admin-login-bg.png) no-repeat top right;background-size: auto 50%;}
 .loginBox {padding-top: 58px;background: url(../../images/login/admin-loginform-bg.png) top center no-repeat;background-size: 58% 78%;padding-bottom: 31px;}
 .input-text, .textarea {text-indent: 2em;}
 .validate{background: none !important;text-indent: 0; width: 160px !important;}
@@ -18,7 +18,7 @@
 }
  @media screen and (orientation:landscape) and (-webkit-min-device-pixel-ratio:2){
 /*mobile横屏*/
-.loginWraper {background: #fff url(../../images/login/admin-login-bg.jpg) no-repeat top right;background-size: 100% auto;}
+.loginWraper {background: #fff url(../../images/login/admin-login-bg.png) no-repeat top right;background-size: 100% auto;}
 .loginBox{padding-top: 88px;background: url(../../images/login/admin-loginform-bg.png) top center no-repeat;background-size:90% 80%;padding-bottom: 50px;}
 .my-btn-login{width:80% !important;}
 }

BIN
watero-rst-web/src/main/webapp/common/images/login/admin-login-bg.png


watero-rst-web/src/main/webapp/common/images/jiqi-1.png → watero-rst-web/src/main/webapp/common/images/pts/jiqi-1.png


BIN
watero-rst-web/src/main/webapp/common/images/pts/radio-1.png


BIN
watero-rst-web/src/main/webapp/common/images/pts/radio-2.png


+ 1 - 0
wateroPF-wechat-web/src/main/java/com/iamberry/wechat/handles/pay/ResponseWechatPayHandler.java

@@ -124,6 +124,7 @@ public class ResponseWechatPayHandler {
 	private SystemService systemService;
 	@Autowired
 	private EfastOrderService efastOrderService;
+
 	/**
 	 * 销售订单支付回调方法
 	 */