Sfoglia il codice sorgente

Merge branch 'master' of http://101.36.160.140:21044/depot-tianjin/depot-web-tianjin

maopixin 2 anni fa
parent
commit
4c0b0e5759
62 ha cambiato i file con 10430 aggiunte e 94270 eliminazioni
  1. 38 15
      .gitignore
  2. 6 6
      Dockerfile
  3. 8 8
      LICENSE
  4. 203 203
      depot-web.iml
  5. 157 157
      pom.xml
  6. 69 2
      src/main/resources/static/app/basic/storehouse/controller/StorehouseCtrl.js
  7. 210 26
      src/main/resources/static/app/basic/storehouse/views/Storehouse-edit.html
  8. 29 4
      src/main/resources/static/app/intelligent/grainDetection/controller/insectPestDetectionCtrl.js
  9. 45 32
      src/main/resources/static/app/intelligent/grainDetection/views/insectPestDetection-edit.html
  10. 9 0
      src/main/resources/static/app/layout/partials/navigation.tpl.html
  11. 201 0
      src/main/resources/static/app/storage/controller/safeProduceDangerHandle.js
  12. 205 0
      src/main/resources/static/app/storage/controller/safeProduceRiskCtrl.js
  13. 19 1
      src/main/resources/static/app/storage/drug/drugInfo/views/drugInfo-edit.html
  14. 233 0
      src/main/resources/static/app/storage/grainCard/controller/foodHandleCtr.js
  15. 114 0
      src/main/resources/static/app/storage/grainCard/service/foodHandleService.js
  16. 255 0
      src/main/resources/static/app/storage/grainCard/views/foodHandle-edit.html
  17. 114 0
      src/main/resources/static/app/storage/grainCard/views/foodHandle-list.html
  18. 78 1
      src/main/resources/static/app/storage/module.js
  19. 118 0
      src/main/resources/static/app/storage/service/safeDangerHandleService.js
  20. 120 0
      src/main/resources/static/app/storage/service/safeProduceRiskService.js
  21. 232 0
      src/main/resources/static/app/storage/views/safeproduce/safeDangerHandle-edit.html
  22. 69 0
      src/main/resources/static/app/storage/views/safeproduce/safeDangerHandle-list.html
  23. 116 0
      src/main/resources/static/app/storage/views/safeproduce/safeRiskLevelCtrl-edit.html
  24. 144 0
      src/main/resources/static/app/storage/views/safeproduce/safeRiskLevelCtrl-list.html
  25. 0 77
      src/main/resources/static/bower_components/echarts/build/.jshintrc
  26. 0 160
      src/main/resources/static/bower_components/echarts/build/amd2common.js
  27. 0 236
      src/main/resources/static/bower_components/echarts/build/build.js
  28. 0 154
      src/main/resources/static/bower_components/echarts/build/config.js
  29. 0 165
      src/main/resources/static/bower_components/echarts/build/mangleString.js
  30. 0 40
      src/main/resources/static/bower_components/echarts/build/optimize.js
  31. 0 72
      src/main/resources/static/bower_components/echarts/build/pre-publish.js
  32. 0 38
      src/main/resources/static/bower_components/echarts/build/rollup-plugin-ec-dev.js
  33. 0 60
      src/main/resources/static/bower_components/echarts/build/rollup-plugin-ec-lang.js
  34. 0 35
      src/main/resources/static/bower_components/echarts/build/rollup-plugin-ec-remove-dev.js
  35. 0 71
      src/main/resources/static/bower_components/echarts/src/util/throttle.js
  36. 0 71
      src/main/resources/static/bower_components/echarts/test/build/esm2cjs/expect/.jshintrc
  37. 0 74
      src/main/resources/static/bower_components/echarts/test/build/esm2cjs/expect/basic.expect.js
  38. 0 7
      src/main/resources/static/bower_components/echarts/test/build/esm2cjs/expect/export-default0.expect.js
  39. 0 8
      src/main/resources/static/bower_components/echarts/test/build/esm2cjs/expect/export-default1.expect.js
  40. 0 7
      src/main/resources/static/bower_components/echarts/test/build/esm2cjs/expect/export-default2.expect.js
  41. 0 7
      src/main/resources/static/bower_components/echarts/test/build/esm2cjs/expect/export-default3.expect.js
  42. 0 8
      src/main/resources/static/bower_components/echarts/test/build/esm2cjs/expect/forbiden-export.expect.js
  43. 0 74
      src/main/resources/static/bower_components/echarts/test/build/esm2cjs/src/basic.src.js
  44. 0 6
      src/main/resources/static/bower_components/echarts/test/build/esm2cjs/src/export-default0.src.js
  45. 0 8
      src/main/resources/static/bower_components/echarts/test/build/esm2cjs/src/export-default1.src.js
  46. 0 8
      src/main/resources/static/bower_components/echarts/test/build/esm2cjs/src/export-default2.src.js
  47. 0 8
      src/main/resources/static/bower_components/echarts/test/build/esm2cjs/src/export-default3.src.js
  48. 0 16
      src/main/resources/static/bower_components/echarts/test/build/esm2cjs/src/forbiden-export.src.js
  49. 0 11
      src/main/resources/static/bower_components/echarts/test/build/removeDEV/expect/code.expect.js
  50. 0 33
      src/main/resources/static/bower_components/echarts/test/build/removeDEV/src/code.src.js
  51. 0 88
      src/main/resources/static/bower_components/echarts/test/build/test-transform.js
  52. 7638 7638
      src/main/resources/static/bower_components/echarts/test/data/energy.json
  53. 0 34
      src/main/resources/static/bower_components/echarts/test/ut/MIT.LICENSE
  54. 0 78
      src/main/resources/static/bower_components/summernote/build/grunt-build.js
  55. 0 5179
      src/main/resources/static/build/vendor.datatables.js
  56. 0 1337
      src/main/resources/static/build/vendor.graphs.js
  57. 0 2119
      src/main/resources/static/build/vendor.js
  58. 0 9464
      src/main/resources/static/build/vendor.ui.js
  59. 0 19365
      src/main/resources/static/pdfJs/build/pdf.js
  60. 0 1
      src/main/resources/static/pdfJs/build/pdf.js.map
  61. 0 47057
      src/main/resources/static/pdfJs/build/pdf.worker.js
  62. 0 1
      src/main/resources/static/pdfJs/build/pdf.worker.js.map

+ 38 - 15
.gitignore

@@ -1,15 +1,38 @@
1
-# ---> Java
2
-*.class
3
-target
4
-# Mobile Tools for Java (J2ME)
5
-.mtj.tmp/
6
-
7
-# Package Files #
8
-*.jar
9
-*.war
10
-*.ear
11
-
12
-# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
13
-hs_err_pid*
14
-
15
-.DS_Store
1
+# ---> Java
2
+*.class
3
+
4
+# Mobile Tools for Java (J2ME)
5
+.mtj.tmp/
6
+
7
+# Package Files #
8
+*.jar
9
+*.war
10
+*.ear
11
+
12
+# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
13
+hs_err_pid*
14
+
15
+
16
+.DS_Store
17
+node_modules
18
+/dist
19
+build
20
+
21
+# local env files
22
+.env.local
23
+.env.*.local
24
+
25
+# Log files
26
+npm-debug.log*
27
+yarn-debug.log*
28
+yarn-error.log*
29
+
30
+# Editor directories and files
31
+.idea
32
+.vscode
33
+*.suo
34
+*.ntvs*
35
+*.njsproj
36
+*.sln
37
+*.sw?
38
+云南智能化粮库系统使用手册.pdf

+ 6 - 6
Dockerfile

@@ -1,6 +1,6 @@
1
-FROM 192.168.123.25:31104/unis/java:8
2
-
3
-ADD ./target/depot-web.jar /root
4
-CMD ["sh", "-c", "cd /root; java -Djava.security.egd=file:/dev/./urandom -jar /root/depot-web.jar --depot-web.server.enable-self-preservation=false"]
5
-EXPOSE 9025
6
-
1
+FROM 192.168.123.25:31104/unis/java:8
2
+
3
+ADD ./target/depot-web.jar /root
4
+CMD ["sh", "-c", "cd /root; java -Djava.security.egd=file:/dev/./urandom -jar /root/depot-web.jar --depot-web.server.enable-self-preservation=false"]
5
+EXPOSE 9025
6
+

+ 8 - 8
LICENSE

@@ -1,8 +1,8 @@
1
-MIT License
2
-Copyright (c) <year> <copyright holders>
3
-
4
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
5
-
6
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
7
-
8
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1
+MIT License
2
+Copyright (c) <year> <copyright holders>
3
+
4
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
5
+
6
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
7
+
8
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

+ 203 - 203
depot-web.iml

@@ -1,204 +1,204 @@
1
-<?xml version="1.0" encoding="UTF-8"?>
2
-<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
3
-  <component name="FacetManager">
4
-    <facet type="Spring" name="Spring">
5
-      <configuration />
6
-    </facet>
7
-    <facet type="web" name="Web">
8
-      <configuration>
9
-        <webroots />
10
-      </configuration>
11
-    </facet>
12
-  </component>
13
-  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
14
-    <output url="file://$MODULE_DIR$/target/classes" />
15
-    <output-test url="file://$MODULE_DIR$/target/test-classes" />
16
-    <content url="file://$MODULE_DIR$">
17
-      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
18
-      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
19
-      <excludeFolder url="file://$MODULE_DIR$/target" />
20
-    </content>
21
-    <orderEntry type="inheritedJdk" />
22
-    <orderEntry type="sourceFolder" forTests="false" />
23
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.0.4.RELEASE" level="project" />
24
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.0.4.RELEASE" level="project" />
25
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.0.4.RELEASE" level="project" />
26
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.0.4.RELEASE" level="project" />
27
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.0.4.RELEASE" level="project" />
28
-    <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" />
29
-    <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" />
30
-    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.10.0" level="project" />
31
-    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.10.0" level="project" />
32
-    <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.25" level="project" />
33
-    <orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.3.2" level="project" />
34
-    <orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.19" level="project" />
35
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.0.4.RELEASE" level="project" />
36
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.9.6" level="project" />
37
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.9.6" level="project" />
38
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.9.6" level="project" />
39
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:2.0.4.RELEASE" level="project" />
40
-    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:8.5.32" level="project" />
41
-    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:8.5.32" level="project" />
42
-    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:8.5.32" level="project" />
43
-    <orderEntry type="library" name="Maven: org.hibernate.validator:hibernate-validator:6.0.11.Final" level="project" />
44
-    <orderEntry type="library" name="Maven: javax.validation:validation-api:2.0.1.Final" level="project" />
45
-    <orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.3.2.Final" level="project" />
46
-    <orderEntry type="library" name="Maven: com.fasterxml:classmate:1.3.4" level="project" />
47
-    <orderEntry type="library" name="Maven: org.openjfx:javafx.base:11.0.0-SNAPSHOT" level="project" />
48
-    <orderEntry type="library" name="Maven: org.openjfx:javafx.base:linux:11.0.0-SNAPSHOT" level="project" />
49
-    <orderEntry type="library" name="Maven: org.openjfx:javafx.base:mac:11.0.0-SNAPSHOT" level="project" />
50
-    <orderEntry type="library" name="Maven: org.openjfx:javafx.base:win:11.0.0-SNAPSHOT" level="project" />
51
-    <orderEntry type="library" name="Maven: org.springframework:spring-web:5.0.8.RELEASE" level="project" />
52
-    <orderEntry type="library" name="Maven: org.springframework:spring-beans:5.0.8.RELEASE" level="project" />
53
-    <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.0.8.RELEASE" level="project" />
54
-    <orderEntry type="library" name="Maven: org.springframework:spring-aop:5.0.8.RELEASE" level="project" />
55
-    <orderEntry type="library" name="Maven: org.springframework:spring-context:5.0.8.RELEASE" level="project" />
56
-    <orderEntry type="library" name="Maven: org.springframework:spring-expression:5.0.8.RELEASE" level="project" />
57
-    <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-starter:1.2.3" level="project" />
58
-    <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-autoconfigure:1.2.3" level="project" />
59
-    <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper:5.1.2" level="project" />
60
-    <orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:1.0" level="project" />
61
-    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-config:2.0.0.RELEASE" level="project" />
62
-    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter:2.0.0.RELEASE" level="project" />
63
-    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-context:2.0.0.RELEASE" level="project" />
64
-    <orderEntry type="library" name="Maven: org.springframework.security:spring-security-crypto:5.0.7.RELEASE" level="project" />
65
-    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-commons:2.0.0.RELEASE" level="project" />
66
-    <orderEntry type="library" name="Maven: org.springframework.security:spring-security-rsa:1.0.5.RELEASE" level="project" />
67
-    <orderEntry type="library" name="Maven: org.bouncycastle:bcpkix-jdk15on:1.56" level="project" />
68
-    <orderEntry type="library" name="Maven: org.bouncycastle:bcprov-jdk15on:1.56" level="project" />
69
-    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-config-client:2.0.0.RELEASE" level="project" />
70
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.9.0" level="project" />
71
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.9.6" level="project" />
72
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.9.6" level="project" />
73
-    <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:1.3.1" level="project" />
74
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.0.4.RELEASE" level="project" />
75
-    <orderEntry type="library" name="Maven: com.zaxxer:HikariCP:2.7.9" level="project" />
76
-    <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.0.8.RELEASE" level="project" />
77
-    <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:1.3.1" level="project" />
78
-    <orderEntry type="library" name="Maven: org.mybatis:mybatis:3.4.5" level="project" />
79
-    <orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:1.3.1" level="project" />
80
-    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-netflix-eureka-client:2.0.0.RELEASE" level="project" />
81
-    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-core:2.0.0.RELEASE" level="project" />
82
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.0.4.RELEASE" level="project" />
83
-    <orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.8.13" level="project" />
84
-    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-eureka-client:2.0.0.RELEASE" level="project" />
85
-    <orderEntry type="library" name="Maven: com.netflix.eureka:eureka-client:1.9.2" level="project" />
86
-    <orderEntry type="library" scope="RUNTIME" name="Maven: org.codehaus.jettison:jettison:1.3.7" level="project" />
87
-    <orderEntry type="library" scope="RUNTIME" name="Maven: stax:stax-api:1.0.1" level="project" />
88
-    <orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.netflix-commons:netflix-eventbus:0.3.0" level="project" />
89
-    <orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.netflix-commons:netflix-infix:0.3.0" level="project" />
90
-    <orderEntry type="library" scope="RUNTIME" name="Maven: commons-jxpath:commons-jxpath:1.3" level="project" />
91
-    <orderEntry type="library" scope="RUNTIME" name="Maven: joda-time:joda-time:2.9.9" level="project" />
92
-    <orderEntry type="library" scope="RUNTIME" name="Maven: org.antlr:antlr-runtime:3.4" level="project" />
93
-    <orderEntry type="library" scope="RUNTIME" name="Maven: org.antlr:stringtemplate:3.2.1" level="project" />
94
-    <orderEntry type="library" scope="RUNTIME" name="Maven: antlr:antlr:2.7.7" level="project" />
95
-    <orderEntry type="library" scope="RUNTIME" name="Maven: com.google.code.gson:gson:2.8.5" level="project" />
96
-    <orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.commons:commons-math:2.2" level="project" />
97
-    <orderEntry type="library" name="Maven: com.netflix.archaius:archaius-core:0.7.6" level="project" />
98
-    <orderEntry type="library" name="Maven: com.google.guava:guava:16.0" level="project" />
99
-    <orderEntry type="library" scope="RUNTIME" name="Maven: javax.ws.rs:jsr311-api:1.1.1" level="project" />
100
-    <orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.servo:servo-core:0.12.21" level="project" />
101
-    <orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.jersey:jersey-core:1.19.1" level="project" />
102
-    <orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.jersey:jersey-client:1.19.1" level="project" />
103
-    <orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.jersey.contribs:jersey-apache-client4:1.19.1" level="project" />
104
-    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.6" level="project" />
105
-    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.10" level="project" />
106
-    <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.11" level="project" />
107
-    <orderEntry type="library" scope="RUNTIME" name="Maven: com.google.inject:guice:4.1.0" level="project" />
108
-    <orderEntry type="library" scope="RUNTIME" name="Maven: javax.inject:javax.inject:1" level="project" />
109
-    <orderEntry type="library" scope="RUNTIME" name="Maven: aopalliance:aopalliance:1.0" level="project" />
110
-    <orderEntry type="library" scope="RUNTIME" name="Maven: com.github.vlsi.compactmap:compactmap:1.2.1" level="project" />
111
-    <orderEntry type="library" scope="RUNTIME" name="Maven: com.github.andrewoma.dexx:dexx-collections:0.2" level="project" />
112
-    <orderEntry type="library" name="Maven: com.netflix.eureka:eureka-core:1.9.2" level="project" />
113
-    <orderEntry type="library" scope="RUNTIME" name="Maven: org.codehaus.woodstox:woodstox-core-asl:4.4.1" level="project" />
114
-    <orderEntry type="library" scope="RUNTIME" name="Maven: javax.xml.stream:stax-api:1.0-2" level="project" />
115
-    <orderEntry type="library" scope="RUNTIME" name="Maven: org.codehaus.woodstox:stax2-api:3.1.4" level="project" />
116
-    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-netflix-archaius:2.0.0.RELEASE" level="project" />
117
-    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-ribbon:2.0.0.RELEASE" level="project" />
118
-    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-archaius:2.0.0.RELEASE" level="project" />
119
-    <orderEntry type="library" name="Maven: commons-configuration:commons-configuration:1.8" level="project" />
120
-    <orderEntry type="library" name="Maven: commons-lang:commons-lang:2.6" level="project" />
121
-    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-netflix-ribbon:2.0.0.RELEASE" level="project" />
122
-    <orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon:2.2.5" level="project" />
123
-    <orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.ribbon:ribbon-transport:2.2.5" level="project" />
124
-    <orderEntry type="library" scope="RUNTIME" name="Maven: io.reactivex:rxnetty-contexts:0.4.9" level="project" />
125
-    <orderEntry type="library" scope="RUNTIME" name="Maven: io.reactivex:rxnetty-servo:0.4.9" level="project" />
126
-    <orderEntry type="library" scope="RUNTIME" name="Maven: io.reactivex:rxnetty:0.4.9" level="project" />
127
-    <orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-codec-http:4.1.27.Final" level="project" />
128
-    <orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-transport-native-epoll:4.1.27.Final" level="project" />
129
-    <orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-transport-native-unix-common:4.1.27.Final" level="project" />
130
-    <orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon-core:2.2.5" level="project" />
131
-    <orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon-httpclient:2.2.5" level="project" />
132
-    <orderEntry type="library" scope="RUNTIME" name="Maven: commons-collections:commons-collections:3.2.2" level="project" />
133
-    <orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon-loadbalancer:2.2.5" level="project" />
134
-    <orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.netflix-commons:netflix-statistics:0.1.1" level="project" />
135
-    <orderEntry type="library" name="Maven: io.reactivex:rxjava:1.3.8" level="project" />
136
-    <orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon-eureka:2.2.5" level="project" />
137
-    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.25" level="project" />
138
-    <orderEntry type="library" name="Maven: com.thoughtworks.xstream:xstream:1.4.10" level="project" />
139
-    <orderEntry type="library" name="Maven: xmlpull:xmlpull:1.1.3.1" level="project" />
140
-    <orderEntry type="library" name="Maven: xpp3:xpp3_min:1.1.4c" level="project" />
141
-    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-netflix-zuul:2.0.0.RELEASE" level="project" />
142
-    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-zuul:2.0.0.RELEASE" level="project" />
143
-    <orderEntry type="library" name="Maven: com.netflix.netflix-commons:netflix-commons-util:0.3.0" level="project" />
144
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-actuator:2.0.4.RELEASE" level="project" />
145
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-actuator-autoconfigure:2.0.4.RELEASE" level="project" />
146
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-actuator:2.0.4.RELEASE" level="project" />
147
-    <orderEntry type="library" name="Maven: io.micrometer:micrometer-core:1.0.6" level="project" />
148
-    <orderEntry type="library" name="Maven: org.hdrhistogram:HdrHistogram:2.1.10" level="project" />
149
-    <orderEntry type="library" name="Maven: org.latencyutils:LatencyUtils:2.0.3" level="project" />
150
-    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-netflix-hystrix:2.0.0.RELEASE" level="project" />
151
-    <orderEntry type="library" name="Maven: com.netflix.hystrix:hystrix-core:1.5.12" level="project" />
152
-    <orderEntry type="library" name="Maven: com.netflix.hystrix:hystrix-serialization:1.5.12" level="project" />
153
-    <orderEntry type="library" scope="RUNTIME" name="Maven: com.fasterxml.jackson.module:jackson-module-afterburner:2.9.6" level="project" />
154
-    <orderEntry type="library" name="Maven: com.netflix.hystrix:hystrix-metrics-event-stream:1.5.12" level="project" />
155
-    <orderEntry type="library" name="Maven: com.netflix.hystrix:hystrix-javanica:1.5.12" level="project" />
156
-    <orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.commons:commons-lang3:3.7" level="project" />
157
-    <orderEntry type="library" scope="RUNTIME" name="Maven: org.ow2.asm:asm:5.0.4" level="project" />
158
-    <orderEntry type="library" name="Maven: io.reactivex:rxjava-reactive-streams:1.2.1" level="project" />
159
-    <orderEntry type="library" name="Maven: org.reactivestreams:reactive-streams:1.0.2" level="project" />
160
-    <orderEntry type="library" name="Maven: com.netflix.zuul:zuul-core:1.3.1" level="project" />
161
-    <orderEntry type="library" scope="RUNTIME" name="Maven: commons-io:commons-io:2.4" level="project" />
162
-    <orderEntry type="library" name="Maven: org.springframework.retry:spring-retry:1.2.2.RELEASE" level="project" />
163
-    <orderEntry type="library" name="Maven: org.springframework:spring-core:5.0.8.RELEASE" level="project" />
164
-    <orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.0.8.RELEASE" level="project" />
165
-    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:2.0.4.RELEASE" level="project" />
166
-    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test:2.0.4.RELEASE" level="project" />
167
-    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:2.0.4.RELEASE" level="project" />
168
-    <orderEntry type="library" scope="TEST" name="Maven: com.jayway.jsonpath:json-path:2.4.0" level="project" />
169
-    <orderEntry type="library" scope="TEST" name="Maven: net.minidev:json-smart:2.3" level="project" />
170
-    <orderEntry type="library" scope="TEST" name="Maven: net.minidev:accessors-smart:1.2" level="project" />
171
-    <orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.12" level="project" />
172
-    <orderEntry type="library" scope="TEST" name="Maven: org.assertj:assertj-core:3.9.1" level="project" />
173
-    <orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-core:2.15.0" level="project" />
174
-    <orderEntry type="library" scope="TEST" name="Maven: net.bytebuddy:byte-buddy:1.7.11" level="project" />
175
-    <orderEntry type="library" scope="TEST" name="Maven: net.bytebuddy:byte-buddy-agent:1.7.11" level="project" />
176
-    <orderEntry type="library" scope="TEST" name="Maven: org.objenesis:objenesis:2.6" level="project" />
177
-    <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
178
-    <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-library:1.3" level="project" />
179
-    <orderEntry type="library" scope="TEST" name="Maven: org.skyscreamer:jsonassert:1.5.0" level="project" />
180
-    <orderEntry type="library" scope="TEST" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" />
181
-    <orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:5.0.8.RELEASE" level="project" />
182
-    <orderEntry type="library" scope="TEST" name="Maven: org.xmlunit:xmlunit-core:2.5.1" level="project" />
183
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-redis:2.0.4.RELEASE" level="project" />
184
-    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-redis:2.0.9.RELEASE" level="project" />
185
-    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-keyvalue:2.0.9.RELEASE" level="project" />
186
-    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:2.0.9.RELEASE" level="project" />
187
-    <orderEntry type="library" name="Maven: org.springframework:spring-tx:5.0.8.RELEASE" level="project" />
188
-    <orderEntry type="library" name="Maven: org.springframework:spring-oxm:5.0.8.RELEASE" level="project" />
189
-    <orderEntry type="library" name="Maven: org.springframework:spring-context-support:5.0.8.RELEASE" level="project" />
190
-    <orderEntry type="library" name="Maven: io.lettuce:lettuce-core:5.0.4.RELEASE" level="project" />
191
-    <orderEntry type="library" name="Maven: io.projectreactor:reactor-core:3.1.8.RELEASE" level="project" />
192
-    <orderEntry type="library" name="Maven: io.netty:netty-common:4.1.27.Final" level="project" />
193
-    <orderEntry type="library" name="Maven: io.netty:netty-transport:4.1.27.Final" level="project" />
194
-    <orderEntry type="library" name="Maven: io.netty:netty-buffer:4.1.27.Final" level="project" />
195
-    <orderEntry type="library" name="Maven: io.netty:netty-resolver:4.1.27.Final" level="project" />
196
-    <orderEntry type="library" name="Maven: io.netty:netty-handler:4.1.27.Final" level="project" />
197
-    <orderEntry type="library" name="Maven: io.netty:netty-codec:4.1.27.Final" level="project" />
198
-    <orderEntry type="library" name="Maven: org.springframework.session:spring-session-data-redis:2.0.5.RELEASE" level="project" />
199
-    <orderEntry type="library" name="Maven: org.springframework.session:spring-session-core:2.0.5.RELEASE" level="project" />
200
-    <orderEntry type="library" name="Maven: com.gbase8s:ifxjdbc:1.0" level="project" />
201
-    <orderEntry type="library" name="Maven: com.gbase:druid:1.0.28" level="project" />
202
-    <orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.37" level="project" />
203
-  </component>
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
3
+  <component name="FacetManager">
4
+    <facet type="Spring" name="Spring">
5
+      <configuration />
6
+    </facet>
7
+    <facet type="web" name="Web">
8
+      <configuration>
9
+        <webroots />
10
+      </configuration>
11
+    </facet>
12
+  </component>
13
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
14
+    <output url="file://$MODULE_DIR$/target/classes" />
15
+    <output-test url="file://$MODULE_DIR$/target/test-classes" />
16
+    <content url="file://$MODULE_DIR$">
17
+      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
18
+      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
19
+      <excludeFolder url="file://$MODULE_DIR$/target" />
20
+    </content>
21
+    <orderEntry type="inheritedJdk" />
22
+    <orderEntry type="sourceFolder" forTests="false" />
23
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.0.4.RELEASE" level="project" />
24
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.0.4.RELEASE" level="project" />
25
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.0.4.RELEASE" level="project" />
26
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.0.4.RELEASE" level="project" />
27
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.0.4.RELEASE" level="project" />
28
+    <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" />
29
+    <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" />
30
+    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.10.0" level="project" />
31
+    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.10.0" level="project" />
32
+    <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.25" level="project" />
33
+    <orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.3.2" level="project" />
34
+    <orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.19" level="project" />
35
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.0.4.RELEASE" level="project" />
36
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.9.6" level="project" />
37
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.9.6" level="project" />
38
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.9.6" level="project" />
39
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:2.0.4.RELEASE" level="project" />
40
+    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:8.5.32" level="project" />
41
+    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:8.5.32" level="project" />
42
+    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:8.5.32" level="project" />
43
+    <orderEntry type="library" name="Maven: org.hibernate.validator:hibernate-validator:6.0.11.Final" level="project" />
44
+    <orderEntry type="library" name="Maven: javax.validation:validation-api:2.0.1.Final" level="project" />
45
+    <orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.3.2.Final" level="project" />
46
+    <orderEntry type="library" name="Maven: com.fasterxml:classmate:1.3.4" level="project" />
47
+    <orderEntry type="library" name="Maven: org.openjfx:javafx.base:11.0.0-SNAPSHOT" level="project" />
48
+    <orderEntry type="library" name="Maven: org.openjfx:javafx.base:linux:11.0.0-SNAPSHOT" level="project" />
49
+    <orderEntry type="library" name="Maven: org.openjfx:javafx.base:mac:11.0.0-SNAPSHOT" level="project" />
50
+    <orderEntry type="library" name="Maven: org.openjfx:javafx.base:win:11.0.0-SNAPSHOT" level="project" />
51
+    <orderEntry type="library" name="Maven: org.springframework:spring-web:5.0.8.RELEASE" level="project" />
52
+    <orderEntry type="library" name="Maven: org.springframework:spring-beans:5.0.8.RELEASE" level="project" />
53
+    <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.0.8.RELEASE" level="project" />
54
+    <orderEntry type="library" name="Maven: org.springframework:spring-aop:5.0.8.RELEASE" level="project" />
55
+    <orderEntry type="library" name="Maven: org.springframework:spring-context:5.0.8.RELEASE" level="project" />
56
+    <orderEntry type="library" name="Maven: org.springframework:spring-expression:5.0.8.RELEASE" level="project" />
57
+    <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-starter:1.2.3" level="project" />
58
+    <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-autoconfigure:1.2.3" level="project" />
59
+    <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper:5.1.2" level="project" />
60
+    <orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:1.0" level="project" />
61
+    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-config:2.0.0.RELEASE" level="project" />
62
+    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter:2.0.0.RELEASE" level="project" />
63
+    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-context:2.0.0.RELEASE" level="project" />
64
+    <orderEntry type="library" name="Maven: org.springframework.security:spring-security-crypto:5.0.7.RELEASE" level="project" />
65
+    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-commons:2.0.0.RELEASE" level="project" />
66
+    <orderEntry type="library" name="Maven: org.springframework.security:spring-security-rsa:1.0.5.RELEASE" level="project" />
67
+    <orderEntry type="library" name="Maven: org.bouncycastle:bcpkix-jdk15on:1.56" level="project" />
68
+    <orderEntry type="library" name="Maven: org.bouncycastle:bcprov-jdk15on:1.56" level="project" />
69
+    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-config-client:2.0.0.RELEASE" level="project" />
70
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.9.0" level="project" />
71
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.9.6" level="project" />
72
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.9.6" level="project" />
73
+    <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:1.3.1" level="project" />
74
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.0.4.RELEASE" level="project" />
75
+    <orderEntry type="library" name="Maven: com.zaxxer:HikariCP:2.7.9" level="project" />
76
+    <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.0.8.RELEASE" level="project" />
77
+    <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:1.3.1" level="project" />
78
+    <orderEntry type="library" name="Maven: org.mybatis:mybatis:3.4.5" level="project" />
79
+    <orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:1.3.1" level="project" />
80
+    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-netflix-eureka-client:2.0.0.RELEASE" level="project" />
81
+    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-core:2.0.0.RELEASE" level="project" />
82
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.0.4.RELEASE" level="project" />
83
+    <orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.8.13" level="project" />
84
+    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-eureka-client:2.0.0.RELEASE" level="project" />
85
+    <orderEntry type="library" name="Maven: com.netflix.eureka:eureka-client:1.9.2" level="project" />
86
+    <orderEntry type="library" scope="RUNTIME" name="Maven: org.codehaus.jettison:jettison:1.3.7" level="project" />
87
+    <orderEntry type="library" scope="RUNTIME" name="Maven: stax:stax-api:1.0.1" level="project" />
88
+    <orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.netflix-commons:netflix-eventbus:0.3.0" level="project" />
89
+    <orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.netflix-commons:netflix-infix:0.3.0" level="project" />
90
+    <orderEntry type="library" scope="RUNTIME" name="Maven: commons-jxpath:commons-jxpath:1.3" level="project" />
91
+    <orderEntry type="library" scope="RUNTIME" name="Maven: joda-time:joda-time:2.9.9" level="project" />
92
+    <orderEntry type="library" scope="RUNTIME" name="Maven: org.antlr:antlr-runtime:3.4" level="project" />
93
+    <orderEntry type="library" scope="RUNTIME" name="Maven: org.antlr:stringtemplate:3.2.1" level="project" />
94
+    <orderEntry type="library" scope="RUNTIME" name="Maven: antlr:antlr:2.7.7" level="project" />
95
+    <orderEntry type="library" scope="RUNTIME" name="Maven: com.google.code.gson:gson:2.8.5" level="project" />
96
+    <orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.commons:commons-math:2.2" level="project" />
97
+    <orderEntry type="library" name="Maven: com.netflix.archaius:archaius-core:0.7.6" level="project" />
98
+    <orderEntry type="library" name="Maven: com.google.guava:guava:16.0" level="project" />
99
+    <orderEntry type="library" scope="RUNTIME" name="Maven: javax.ws.rs:jsr311-api:1.1.1" level="project" />
100
+    <orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.servo:servo-core:0.12.21" level="project" />
101
+    <orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.jersey:jersey-core:1.19.1" level="project" />
102
+    <orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.jersey:jersey-client:1.19.1" level="project" />
103
+    <orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.jersey.contribs:jersey-apache-client4:1.19.1" level="project" />
104
+    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.6" level="project" />
105
+    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.10" level="project" />
106
+    <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.11" level="project" />
107
+    <orderEntry type="library" scope="RUNTIME" name="Maven: com.google.inject:guice:4.1.0" level="project" />
108
+    <orderEntry type="library" scope="RUNTIME" name="Maven: javax.inject:javax.inject:1" level="project" />
109
+    <orderEntry type="library" scope="RUNTIME" name="Maven: aopalliance:aopalliance:1.0" level="project" />
110
+    <orderEntry type="library" scope="RUNTIME" name="Maven: com.github.vlsi.compactmap:compactmap:1.2.1" level="project" />
111
+    <orderEntry type="library" scope="RUNTIME" name="Maven: com.github.andrewoma.dexx:dexx-collections:0.2" level="project" />
112
+    <orderEntry type="library" name="Maven: com.netflix.eureka:eureka-core:1.9.2" level="project" />
113
+    <orderEntry type="library" scope="RUNTIME" name="Maven: org.codehaus.woodstox:woodstox-core-asl:4.4.1" level="project" />
114
+    <orderEntry type="library" scope="RUNTIME" name="Maven: javax.xml.stream:stax-api:1.0-2" level="project" />
115
+    <orderEntry type="library" scope="RUNTIME" name="Maven: org.codehaus.woodstox:stax2-api:3.1.4" level="project" />
116
+    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-netflix-archaius:2.0.0.RELEASE" level="project" />
117
+    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-ribbon:2.0.0.RELEASE" level="project" />
118
+    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-archaius:2.0.0.RELEASE" level="project" />
119
+    <orderEntry type="library" name="Maven: commons-configuration:commons-configuration:1.8" level="project" />
120
+    <orderEntry type="library" name="Maven: commons-lang:commons-lang:2.6" level="project" />
121
+    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-netflix-ribbon:2.0.0.RELEASE" level="project" />
122
+    <orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon:2.2.5" level="project" />
123
+    <orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.ribbon:ribbon-transport:2.2.5" level="project" />
124
+    <orderEntry type="library" scope="RUNTIME" name="Maven: io.reactivex:rxnetty-contexts:0.4.9" level="project" />
125
+    <orderEntry type="library" scope="RUNTIME" name="Maven: io.reactivex:rxnetty-servo:0.4.9" level="project" />
126
+    <orderEntry type="library" scope="RUNTIME" name="Maven: io.reactivex:rxnetty:0.4.9" level="project" />
127
+    <orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-codec-http:4.1.27.Final" level="project" />
128
+    <orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-transport-native-epoll:4.1.27.Final" level="project" />
129
+    <orderEntry type="library" scope="RUNTIME" name="Maven: io.netty:netty-transport-native-unix-common:4.1.27.Final" level="project" />
130
+    <orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon-core:2.2.5" level="project" />
131
+    <orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon-httpclient:2.2.5" level="project" />
132
+    <orderEntry type="library" scope="RUNTIME" name="Maven: commons-collections:commons-collections:3.2.2" level="project" />
133
+    <orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon-loadbalancer:2.2.5" level="project" />
134
+    <orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.netflix-commons:netflix-statistics:0.1.1" level="project" />
135
+    <orderEntry type="library" name="Maven: io.reactivex:rxjava:1.3.8" level="project" />
136
+    <orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon-eureka:2.2.5" level="project" />
137
+    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.25" level="project" />
138
+    <orderEntry type="library" name="Maven: com.thoughtworks.xstream:xstream:1.4.10" level="project" />
139
+    <orderEntry type="library" name="Maven: xmlpull:xmlpull:1.1.3.1" level="project" />
140
+    <orderEntry type="library" name="Maven: xpp3:xpp3_min:1.1.4c" level="project" />
141
+    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-netflix-zuul:2.0.0.RELEASE" level="project" />
142
+    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-zuul:2.0.0.RELEASE" level="project" />
143
+    <orderEntry type="library" name="Maven: com.netflix.netflix-commons:netflix-commons-util:0.3.0" level="project" />
144
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-actuator:2.0.4.RELEASE" level="project" />
145
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-actuator-autoconfigure:2.0.4.RELEASE" level="project" />
146
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-actuator:2.0.4.RELEASE" level="project" />
147
+    <orderEntry type="library" name="Maven: io.micrometer:micrometer-core:1.0.6" level="project" />
148
+    <orderEntry type="library" name="Maven: org.hdrhistogram:HdrHistogram:2.1.10" level="project" />
149
+    <orderEntry type="library" name="Maven: org.latencyutils:LatencyUtils:2.0.3" level="project" />
150
+    <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-netflix-hystrix:2.0.0.RELEASE" level="project" />
151
+    <orderEntry type="library" name="Maven: com.netflix.hystrix:hystrix-core:1.5.12" level="project" />
152
+    <orderEntry type="library" name="Maven: com.netflix.hystrix:hystrix-serialization:1.5.12" level="project" />
153
+    <orderEntry type="library" scope="RUNTIME" name="Maven: com.fasterxml.jackson.module:jackson-module-afterburner:2.9.6" level="project" />
154
+    <orderEntry type="library" name="Maven: com.netflix.hystrix:hystrix-metrics-event-stream:1.5.12" level="project" />
155
+    <orderEntry type="library" name="Maven: com.netflix.hystrix:hystrix-javanica:1.5.12" level="project" />
156
+    <orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.commons:commons-lang3:3.7" level="project" />
157
+    <orderEntry type="library" scope="RUNTIME" name="Maven: org.ow2.asm:asm:5.0.4" level="project" />
158
+    <orderEntry type="library" name="Maven: io.reactivex:rxjava-reactive-streams:1.2.1" level="project" />
159
+    <orderEntry type="library" name="Maven: org.reactivestreams:reactive-streams:1.0.2" level="project" />
160
+    <orderEntry type="library" name="Maven: com.netflix.zuul:zuul-core:1.3.1" level="project" />
161
+    <orderEntry type="library" scope="RUNTIME" name="Maven: commons-io:commons-io:2.4" level="project" />
162
+    <orderEntry type="library" name="Maven: org.springframework.retry:spring-retry:1.2.2.RELEASE" level="project" />
163
+    <orderEntry type="library" name="Maven: org.springframework:spring-core:5.0.8.RELEASE" level="project" />
164
+    <orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.0.8.RELEASE" level="project" />
165
+    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:2.0.4.RELEASE" level="project" />
166
+    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test:2.0.4.RELEASE" level="project" />
167
+    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:2.0.4.RELEASE" level="project" />
168
+    <orderEntry type="library" scope="TEST" name="Maven: com.jayway.jsonpath:json-path:2.4.0" level="project" />
169
+    <orderEntry type="library" scope="TEST" name="Maven: net.minidev:json-smart:2.3" level="project" />
170
+    <orderEntry type="library" scope="TEST" name="Maven: net.minidev:accessors-smart:1.2" level="project" />
171
+    <orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.12" level="project" />
172
+    <orderEntry type="library" scope="TEST" name="Maven: org.assertj:assertj-core:3.9.1" level="project" />
173
+    <orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-core:2.15.0" level="project" />
174
+    <orderEntry type="library" scope="TEST" name="Maven: net.bytebuddy:byte-buddy:1.7.11" level="project" />
175
+    <orderEntry type="library" scope="TEST" name="Maven: net.bytebuddy:byte-buddy-agent:1.7.11" level="project" />
176
+    <orderEntry type="library" scope="TEST" name="Maven: org.objenesis:objenesis:2.6" level="project" />
177
+    <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
178
+    <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-library:1.3" level="project" />
179
+    <orderEntry type="library" scope="TEST" name="Maven: org.skyscreamer:jsonassert:1.5.0" level="project" />
180
+    <orderEntry type="library" scope="TEST" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" />
181
+    <orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:5.0.8.RELEASE" level="project" />
182
+    <orderEntry type="library" scope="TEST" name="Maven: org.xmlunit:xmlunit-core:2.5.1" level="project" />
183
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-redis:2.0.4.RELEASE" level="project" />
184
+    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-redis:2.0.9.RELEASE" level="project" />
185
+    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-keyvalue:2.0.9.RELEASE" level="project" />
186
+    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:2.0.9.RELEASE" level="project" />
187
+    <orderEntry type="library" name="Maven: org.springframework:spring-tx:5.0.8.RELEASE" level="project" />
188
+    <orderEntry type="library" name="Maven: org.springframework:spring-oxm:5.0.8.RELEASE" level="project" />
189
+    <orderEntry type="library" name="Maven: org.springframework:spring-context-support:5.0.8.RELEASE" level="project" />
190
+    <orderEntry type="library" name="Maven: io.lettuce:lettuce-core:5.0.4.RELEASE" level="project" />
191
+    <orderEntry type="library" name="Maven: io.projectreactor:reactor-core:3.1.8.RELEASE" level="project" />
192
+    <orderEntry type="library" name="Maven: io.netty:netty-common:4.1.27.Final" level="project" />
193
+    <orderEntry type="library" name="Maven: io.netty:netty-transport:4.1.27.Final" level="project" />
194
+    <orderEntry type="library" name="Maven: io.netty:netty-buffer:4.1.27.Final" level="project" />
195
+    <orderEntry type="library" name="Maven: io.netty:netty-resolver:4.1.27.Final" level="project" />
196
+    <orderEntry type="library" name="Maven: io.netty:netty-handler:4.1.27.Final" level="project" />
197
+    <orderEntry type="library" name="Maven: io.netty:netty-codec:4.1.27.Final" level="project" />
198
+    <orderEntry type="library" name="Maven: org.springframework.session:spring-session-data-redis:2.0.5.RELEASE" level="project" />
199
+    <orderEntry type="library" name="Maven: org.springframework.session:spring-session-core:2.0.5.RELEASE" level="project" />
200
+    <orderEntry type="library" name="Maven: com.gbase8s:ifxjdbc:1.0" level="project" />
201
+    <orderEntry type="library" name="Maven: com.gbase:druid:1.0.28" level="project" />
202
+    <orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.37" level="project" />
203
+  </component>
204 204
 </module>

+ 157 - 157
pom.xml

@@ -1,157 +1,157 @@
1
-<?xml version="1.0" encoding="UTF-8"?>
2
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4
-	<modelVersion>4.0.0</modelVersion>
5
-
6
-	<groupId>com.chinaitop</groupId>
7
-	<artifactId>depot-web</artifactId>
8
-	<version>0.0.1-SNAPSHOT</version>
9
-	<packaging>jar</packaging>
10
-
11
-	<name>depot-web</name>
12
-	<description>Demo project for Spring Boot</description>
13
-
14
-	<parent>
15
-		<groupId>org.springframework.boot</groupId>
16
-		<artifactId>spring-boot-starter-parent</artifactId>
17
-		<version>2.0.4.RELEASE</version>
18
-		<relativePath/> <!-- lookup parent from repository -->
19
-	</parent>
20
-
21
-	<properties>
22
-		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
23
-		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
24
-		<java.version>1.8</java.version>
25
-		<spring-cloud.version>Finchley.RELEASE</spring-cloud.version>
26
-	</properties>
27
-
28
-	<dependencies>
29
-		<dependency>
30
-			<groupId>org.springframework.boot</groupId>
31
-			<artifactId>spring-boot-starter-web</artifactId>
32
-		</dependency>
33
-		<!-- 引入spring boot自带的pagehelper插件 -->
34
-		<dependency>
35
-			<groupId>com.github.pagehelper</groupId>
36
-			<artifactId>pagehelper-spring-boot-starter</artifactId>
37
-			<version>1.2.3</version>
38
-		</dependency>
39
-		<dependency>
40
-			<groupId>org.springframework.cloud</groupId>
41
-			<artifactId>spring-cloud-starter-config</artifactId>
42
-		</dependency>
43
-		<dependency>
44
-			<groupId>org.springframework.cloud</groupId>
45
-			<artifactId>spring-cloud-config-server</artifactId>
46
-		</dependency>
47
-		<dependency>
48
-            <groupId>org.mybatis.spring.boot</groupId>
49
-            <artifactId>mybatis-spring-boot-starter</artifactId>
50
-            <version>1.3.2</version>
51
-        </dependency>
52
-		<dependency>
53
-			<groupId>org.springframework.cloud</groupId>
54
-			<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
55
-		</dependency>
56
-		<dependency>
57
-            <groupId>org.springframework.cloud</groupId>
58
-            <artifactId>spring-cloud-starter-netflix-zuul</artifactId>
59
-        </dependency>
60
-		<!-- 网络抖动出现第一次调用失败,启用了重试功能 -->
61
-        <dependency>
62
-            <groupId>org.springframework.retry</groupId>
63
-            <artifactId>spring-retry</artifactId>
64
-        </dependency>
65
-		<!--<dependency>-->
66
-			<!--<groupId>org.springframework.boot</groupId>-->
67
-			<!--<artifactId>spring-boot-starter-tomcat</artifactId>-->
68
-			<!--<scope>provided</scope>-->
69
-		<!--</dependency>-->
70
-		<!--<dependency>
71
-            <groupId>mysql</groupId>
72
-            <artifactId>mysql-connector-java</artifactId>
73
-        </dependency>-->
74
-		<dependency>
75
-			<groupId>org.springframework.boot</groupId>
76
-			<artifactId>spring-boot-starter-test</artifactId>
77
-			<scope>test</scope>
78
-		</dependency>
79
-		
80
-		<dependency>
81
-			<groupId>org.springframework.boot</groupId>
82
-			<artifactId>spring-boot-starter-data-redis</artifactId>
83
-		</dependency>
84
-		<dependency>  
85
-	        <groupId>org.springframework.session</groupId>  
86
-	        <artifactId>spring-session-data-redis</artifactId>  
87
-		</dependency>
88
-		
89
-		<!-- gbase依赖包 -->  
90
-		<dependency>
91
-	      	<groupId>com.gbase8s</groupId>
92
-	      	<artifactId>ifxjdbc</artifactId>
93
-	      	<version>1.0</version>
94
-	    </dependency>
95
-    	<dependency>
96
-      		<groupId>com.gbase</groupId>
97
-      		<artifactId>druid</artifactId>
98
-      		<version>1.0.28</version>
99
-    	</dependency>
100
-		<!-- 阿里巴巴json -->
101
-		<dependency>
102
-			<groupId>com.alibaba</groupId>
103
-			<artifactId>fastjson</artifactId>
104
-			<version>1.2.37</version>
105
-		</dependency>
106
-	</dependencies>
107
-
108
-	<dependencyManagement>
109
-		<dependencies>
110
-			<dependency>
111
-				<groupId>org.springframework.cloud</groupId>
112
-				<artifactId>spring-cloud-dependencies</artifactId>
113
-				<version>${spring-cloud.version}</version>
114
-				<type>pom</type>
115
-				<scope>import</scope>
116
-			</dependency>
117
-		</dependencies>
118
-	</dependencyManagement>
119
-
120
-	<build>
121
-		<finalName>${project.artifactId}</finalName>
122
-		<plugins>
123
-			<plugin>
124
-				<groupId>org.springframework.boot</groupId>
125
-				<artifactId>spring-boot-maven-plugin</artifactId>
126
-				<version>2.5.5</version>
127
-			</plugin>
128
-		</plugins>
129
-		<!-- 如果不添加此节点mybatis的mapper.xml文件都会被漏掉。 -->
130
-		<resources>
131
-			<resource>
132
-				<directory>src/main/java</directory>
133
-				<includes>
134
-					<include>**/*.properties</include>
135
-					<include>**/*.xml</include>
136
-				</includes>
137
-				<filtering>false</filtering>
138
-			</resource>
139
-			<resource>
140
-				<directory>src/main/resources</directory>
141
-			</resource>
142
-		</resources>
143
-	</build>
144
-
145
-	<repositories>
146
-		<repository>
147
-			<id>spring-milestones</id>
148
-			<name>Spring Milestones</name>
149
-			<url>https://repo.spring.io/milestone</url>
150
-			<snapshots>
151
-				<enabled>false</enabled>
152
-			</snapshots>
153
-		</repository>
154
-	</repositories>
155
-
156
-
157
-</project>
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4
+	<modelVersion>4.0.0</modelVersion>
5
+
6
+	<groupId>com.chinaitop</groupId>
7
+	<artifactId>depot-web</artifactId>
8
+	<version>0.0.1-SNAPSHOT</version>
9
+	<packaging>jar</packaging>
10
+
11
+	<name>depot-web</name>
12
+	<description>Demo project for Spring Boot</description>
13
+
14
+	<parent>
15
+		<groupId>org.springframework.boot</groupId>
16
+		<artifactId>spring-boot-starter-parent</artifactId>
17
+		<version>2.0.4.RELEASE</version>
18
+		<relativePath/> <!-- lookup parent from repository -->
19
+	</parent>
20
+
21
+	<properties>
22
+		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
23
+		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
24
+		<java.version>1.8</java.version>
25
+		<spring-cloud.version>Finchley.RELEASE</spring-cloud.version>
26
+	</properties>
27
+
28
+	<dependencies>
29
+		<dependency>
30
+			<groupId>org.springframework.boot</groupId>
31
+			<artifactId>spring-boot-starter-web</artifactId>
32
+		</dependency>
33
+		<!-- 引入spring boot自带的pagehelper插件 -->
34
+		<dependency>
35
+			<groupId>com.github.pagehelper</groupId>
36
+			<artifactId>pagehelper-spring-boot-starter</artifactId>
37
+			<version>1.2.3</version>
38
+		</dependency>
39
+		<dependency>
40
+			<groupId>org.springframework.cloud</groupId>
41
+			<artifactId>spring-cloud-starter-config</artifactId>
42
+		</dependency>
43
+		<dependency>
44
+			<groupId>org.springframework.cloud</groupId>
45
+			<artifactId>spring-cloud-config-server</artifactId>
46
+		</dependency>
47
+		<dependency>
48
+            <groupId>org.mybatis.spring.boot</groupId>
49
+            <artifactId>mybatis-spring-boot-starter</artifactId>
50
+            <version>1.3.2</version>
51
+        </dependency>
52
+		<dependency>
53
+			<groupId>org.springframework.cloud</groupId>
54
+			<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
55
+		</dependency>
56
+		<dependency>
57
+            <groupId>org.springframework.cloud</groupId>
58
+            <artifactId>spring-cloud-starter-netflix-zuul</artifactId>
59
+        </dependency>
60
+		<!-- 网络抖动出现第一次调用失败,启用了重试功能 -->
61
+        <dependency>
62
+            <groupId>org.springframework.retry</groupId>
63
+            <artifactId>spring-retry</artifactId>
64
+        </dependency>
65
+		<!--<dependency>-->
66
+			<!--<groupId>org.springframework.boot</groupId>-->
67
+			<!--<artifactId>spring-boot-starter-tomcat</artifactId>-->
68
+			<!--<scope>provided</scope>-->
69
+		<!--</dependency>-->
70
+		<!--<dependency>
71
+            <groupId>mysql</groupId>
72
+            <artifactId>mysql-connector-java</artifactId>
73
+        </dependency>-->
74
+		<dependency>
75
+			<groupId>org.springframework.boot</groupId>
76
+			<artifactId>spring-boot-starter-test</artifactId>
77
+			<scope>test</scope>
78
+		</dependency>
79
+		
80
+		<dependency>
81
+			<groupId>org.springframework.boot</groupId>
82
+			<artifactId>spring-boot-starter-data-redis</artifactId>
83
+		</dependency>
84
+		<dependency>  
85
+	        <groupId>org.springframework.session</groupId>  
86
+	        <artifactId>spring-session-data-redis</artifactId>  
87
+		</dependency>
88
+		
89
+		<!-- gbase依赖包 -->  
90
+		<dependency>
91
+	      	<groupId>com.gbase8s</groupId>
92
+	      	<artifactId>ifxjdbc</artifactId>
93
+	      	<version>1.0</version>
94
+	    </dependency>
95
+    	<dependency>
96
+      		<groupId>com.gbase</groupId>
97
+      		<artifactId>druid</artifactId>
98
+      		<version>1.0.28</version>
99
+    	</dependency>
100
+		<!-- 阿里巴巴json -->
101
+		<dependency>
102
+			<groupId>com.alibaba</groupId>
103
+			<artifactId>fastjson</artifactId>
104
+			<version>1.2.37</version>
105
+		</dependency>
106
+	</dependencies>
107
+
108
+	<dependencyManagement>
109
+		<dependencies>
110
+			<dependency>
111
+				<groupId>org.springframework.cloud</groupId>
112
+				<artifactId>spring-cloud-dependencies</artifactId>
113
+				<version>${spring-cloud.version}</version>
114
+				<type>pom</type>
115
+				<scope>import</scope>
116
+			</dependency>
117
+		</dependencies>
118
+	</dependencyManagement>
119
+
120
+	<build>
121
+		<finalName>${project.artifactId}</finalName>
122
+		<plugins>
123
+			<plugin>
124
+				<groupId>org.springframework.boot</groupId>
125
+				<artifactId>spring-boot-maven-plugin</artifactId>
126
+				<version>2.5.5</version>
127
+			</plugin>
128
+		</plugins>
129
+		<!-- 如果不添加此节点mybatis的mapper.xml文件都会被漏掉。 -->
130
+		<resources>
131
+			<resource>
132
+				<directory>src/main/java</directory>
133
+				<includes>
134
+					<include>**/*.properties</include>
135
+					<include>**/*.xml</include>
136
+				</includes>
137
+				<filtering>false</filtering>
138
+			</resource>
139
+			<resource>
140
+				<directory>src/main/resources</directory>
141
+			</resource>
142
+		</resources>
143
+	</build>
144
+
145
+	<repositories>
146
+		<repository>
147
+			<id>spring-milestones</id>
148
+			<name>Spring Milestones</name>
149
+			<url>https://repo.spring.io/milestone</url>
150
+			<snapshots>
151
+				<enabled>false</enabled>
152
+			</snapshots>
153
+		</repository>
154
+	</repositories>
155
+
156
+
157
+</project>

+ 69 - 2
src/main/resources/static/app/basic/storehouse/controller/StorehouseCtrl.js

@@ -544,8 +544,75 @@ angular.module('app.basic')
544 544
         }
545 545
     }
546 546
 	
547
-	$scope.falseEnum = [{id:0,value:"否"},{id:1,value:"能"},{id:9,value:"其他或不确定"}];
548
-
547
+	$scope.falseEnum = [{id:1,value:"能"},{id:0,value:"否"},{id:9,value:"其他或不确定"}];
548
+	$scope.falseEnum2 = [{id:1,value:"是"},{id:0,value:"否"}];
549
+	// 储粮功效
550
+	$scope.clgxList = [
551
+		{ id: 0, value: "A类仓房" },
552
+		{ id: 1, value: "B类仓房" },
553
+		{ id: 2, value: "C类仓房" },
554
+		{ id: 3, value: "D类仓房" },
555
+	];
556
+	// 隔热性能
557
+	$scope.grxnList = [
558
+		{ id: 1, value: "Ⅰ级" },
559
+		{ id: 2, value: "Ⅱ级" },
560
+		{ id: 3, value: "Ⅲ级" },
561
+		{ id: 4, value: "Ⅳ级" },
562
+	];
563
+	// 结构材料
564
+	$scope.jgclList = [
565
+		{ id: 1, value: "Ⅰ级"},
566
+		{ id: 2, value: "Ⅱ级"},
567
+		{ id: 3, value: "Ⅲ级"},
568
+	];
569
+	// 气密性
570
+	$scope.qmxList = [
571
+		{ id: 1, value: "Ⅰ级" },
572
+		{ id: 2, value: "Ⅱ级" },
573
+		{ id: 3, value: "Ⅲ级" },
574
+		{ id: 4, value: "Ⅳ级" },
575
+	];
576
+	// 粮情技术
577
+	$scope.lqjsList = [
578
+		{ id: 1, value: "Ⅰ级" },
579
+		{ id: 2, value: "Ⅱ级" },
580
+		{ id: 3, value: "Ⅲ级" },
581
+		{ id: 4, value: "无粮情检测技术" },
582
+	];
583
+	// 通风系统形式
584
+	$scope.tfxtxsList = [
585
+		{ id: 0, value: "竖向通风"},
586
+		{ id: 1, value: "横向通风"},
587
+		{ id: 2, value: "径向通风"},
588
+		{ id: 3, value: "全网板通风"},
589
+		{ id: 4, value: "其它"},
590
+	];
591
+	// 通风技术
592
+	$scope.tfjsList = [
593
+		{ id: 1, value: "Ⅰ级"},
594
+		{ id: 2, value: "Ⅱ级"},
595
+		{ id: 3, value: "Ⅲ级"},
596
+	];
597
+	// 杀虫技术
598
+	$scope.scjsList = [
599
+		{ id: 1, value: "Ⅰ级"},
600
+		{ id: 2, value: "Ⅱ级"},
601
+	];
602
+	// 控温技术
603
+	$scope.kwjsList = [
604
+		{ id: 1, value: "Ⅰ级"},
605
+		{ id: 2, value: "Ⅱ级"},
606
+		{ id: 3, value: "Ⅲ级"},
607
+	];
608
+	// 挡粮门型式
609
+	$scope.dlmxsList = [
610
+		{ id: 1, value: "“一字型”挡粮板" },
611
+		{ id: 2, value: "“三角形”挡粮门" },
612
+		{ id: 3, value: "“弧形”挡粮门" },
613
+		{ id: 4, value: "围包" },
614
+		{ id: 5, value: "其它型式" },
615
+	];
549 616
 	//添加货位弹出窗口
550 617
 	$scope.editRow = function(warehouse, btnType) {
551 618
 		//先校验仓房必录数据,后添加货位

+ 210 - 26
src/main/resources/static/app/basic/storehouse/views/Storehouse-edit.html

@@ -71,11 +71,13 @@
71 71
 										</tr>
72 72
 										<tr>
73 73
 											<th>
74
-												<label class="label" style="margin-top: 9px;text-align: center;">保管员</label>
74
+												<label class="label" style="margin-top: 9px;text-align: center;">保管员
75
+													<span style="color: red;margin-left: 5px;text-align: center;">*</span>
76
+												</label>
75 77
 											</th>
76 78
 											<th>
77 79
 												<label class="input">
78
-													<input type="text" ng-model="basicStorehouse.dutystoreman" ng-disabled="basicStorehouse.libraryType == 0 || isNotEdit" />
80
+													<input type="text" ng-model="basicStorehouse.dutystoreman" required ng-disabled="basicStorehouse.libraryType == 0 || isNotEdit" />
79 81
 												</label>
80 82
 											</th>
81 83
 											<th>
@@ -242,11 +244,11 @@
242 244
 												</label>
243 245
 											</th>
244 246
 											<th>
245
-												<label class="label" style="margin-top: 9px;text-align: center;">库门位置</label>
247
+												<label class="label" style="margin-top: 9px;text-align: center;">库门位置<span style="color: red;margin-left: 5px;text-align: center;">*</span></label>
246 248
 											</th>
247 249
 											<th>
248 250
 												<label class="input">
249
-													<input type="text" ng-model="basicStorehouse.houseDootPosition" ng-readonly="isNotEdit"
251
+													<input type="text" ng-model="basicStorehouse.houseDootPosition" ng-readonly="isNotEdit" required
250 252
 												name="houseDoorNum">
251 253
 												</label>
252 254
 											</th>
@@ -290,11 +292,11 @@
290 292
 												</label>
291 293
 											</th>
292 294
 											<th>
293
-												<label class="label" style="margin-top: 9px;text-align: center;">库门高度(m)</label>
295
+												<label class="label" style="margin-top: 9px;text-align: center;">库门高度(m)<span style="color: red;margin-left: 5px;text-align: center;">*</span></label>
294 296
 											</th>
295 297
 											<th>
296 298
 												<label class="input">
297
-													<input type="number" ng-model="basicStorehouse.houseDoorHeigth" ng-readonly="isNotEdit"
299
+													<input type="number" ng-model="basicStorehouse.houseDoorHeigth" ng-readonly="isNotEdit" required
298 300
 														name="houseDoorHeight" oninput="if(value.length>4) value=value.slice(0,4)"
299 301
 														onblur="this.value= this.value.match(/\d+(\.\d{0,2})?/) ? this.value.match(/\d+(\.\d{0,2})?/)[0] : ''" />
300 302
 												</label>
@@ -339,11 +341,11 @@
339 341
 												</label>
340 342
 											</th>
341 343
 											<th>
342
-												<label class="label" style="margin-top: 9px;text-align: center;">库门宽度(m)</label>
344
+												<label class="label" style="margin-top: 9px;text-align: center;">库门宽度(m)<span style="color: red;margin-left: 5px;text-align: center;">*</span></label>
343 345
 											</th>
344 346
 											<th>
345 347
 												<label class="input">
346
-													<input type="number" ng-model="basicStorehouse.houseDoorWidth" ng-readonly="isNotEdit"
348
+													<input type="number" ng-model="basicStorehouse.houseDoorWidth" ng-readonly="isNotEdit" required
347 349
 														name="houseDoorWidth" oninput="if(value.length>5) value=value.slice(0,5)" 
348 350
 														onblur="this.value= this.value.match(/\d+(\.\d{0,2})?/) ? this.value.match(/\d+(\.\d{0,2})?/)[0] : ''" />
349 351
 												</label>
@@ -489,34 +491,34 @@
489 491
 												</label>
490 492
 											</th>
491 493
 											<th>
492
-												<label class="label" style="margin-top: 9px;text-align: center;">有无防火防爆防盗设施</label>
494
+												<label class="label" style="margin-top: 9px;text-align: center;">有无防火防爆防盗设施<span style="color: red;margin-left: 5px;text-align: center;">*</span></label>
493 495
 											</th>
494 496
 											<th>
495 497
 												<label class="select">
496 498
 													<select ng-model="basicStorehouse.ywfhfbfdss" ng-disabled="isNotEdit"
497
-														ng-options="enum.id as enum.value for enum in falseEnum"
499
+														ng-options="enum.id as enum.value for enum in falseEnum" required
498 500
 														class="form-control">
499 501
 													</select>
500 502
 												</label>
501 503
 											</th>
502 504
 											<th>
503
-												<label class="label" style="margin-top: 9px;text-align: center;">能否散装储存</label>
505
+												<label class="label" style="margin-top: 9px;text-align: center;">能否散装储存<span style="color: red;margin-left: 5px;text-align: center;">*</span></label>
504 506
 											</th>
505 507
 											<th>
506 508
 												<label class="select">
507
-													<select ng-model="basicStorehouse.nfszcc" ng-disabled="isNotEdit"
509
+													<select ng-model="basicStorehouse.nfszcc" ng-disabled="isNotEdit" required
508 510
 														ng-options="enum.id as enum.value for enum in falseEnum"
509 511
 														class="form-control">
510 512
 													</select>
511 513
 												</label>
512 514
 											</th>
513 515
 											<th>
514
-												<label class="label" style="margin-top: 9px;text-align: center;">有无防鼠防雀防虫装置及设施</label>
516
+												<label class="label" style="margin-top: 9px;text-align: center;">有无防鼠防雀防虫装置及设施<span style="color: red;margin-left: 5px;text-align: center;">*</span></label>
515 517
 											</th>
516 518
 											<th>
517 519
 												<label class="select">
518 520
 													<select ng-model="basicStorehouse.ywfsfqfczz" ng-disabled="isNotEdit"
519
-														ng-options="enum.id as enum.value for enum in falseEnum"
521
+														ng-options="enum.id as enum.value for enum in falseEnum" required
520 522
 														class="form-control">
521 523
 													</select>
522 524
 												</label>
@@ -546,34 +548,34 @@
546 548
 												</label>
547 549
 											</th>
548 550
 											<th>
549
-												<label class="label" style="margin-top: 9px;text-align: center;">有无机械通风设施</label>
551
+												<label class="label" style="margin-top: 9px;text-align: center;">有无机械通风设施<span style="color: red;margin-left: 5px;text-align: center;">*</span></label>
550 552
 											</th>
551 553
 											<th>
552 554
 												<label class="select">
553 555
 													<select ng-model="basicStorehouse.ywjxtfss" ng-disabled="isNotEdit"
554
-														ng-options="enum.id as enum.value for enum in falseEnum"
556
+														ng-options="enum.id as enum.value for enum in falseEnum" required
555 557
 														class="form-control">
556 558
 													</select>
557 559
 												</label>
558 560
 											</th>
559 561
 											<th>
560
-												<label class="label" style="margin-top: 9px;text-align: center;">能否环流熏蒸杀虫</label>
562
+												<label class="label" style="margin-top: 9px;text-align: center;">能否环流熏蒸杀虫<span style="color: red;margin-left: 5px;text-align: center;">*</span></label>
561 563
 											</th>
562 564
 											<th>
563 565
 												<label class="select">
564 566
 													<select ng-model="basicStorehouse.nfhlxzsc" ng-disabled="isNotEdit"
565
-														ng-options="enum.id as enum.value for enum in falseEnum"
567
+														ng-options="enum.id as enum.value for enum in falseEnum" required
566 568
 														class="form-control">
567 569
 													</select>
568 570
 												</label>
569 571
 											</th>
570 572
 											<th>
571
-												<label class="label" style="margin-top: 9px;text-align: center;">能否富氮低氧气调储粮</label>
573
+												<label class="label" style="margin-top: 9px;text-align: center;">能否富氮低氧气调储粮<span style="color: red;margin-left: 5px;text-align: center;">*</span></label>
572 574
 											</th>
573 575
 											<th>
574 576
 												<label class="select">
575 577
 													<select ng-model="basicStorehouse.nffddyqtcl" ng-disabled="isNotEdit"
576
-														ng-options="enum.id as enum.value for enum in falseEnum"
578
+														ng-options="enum.id as enum.value for enum in falseEnum" required
577 579
 														class="form-control">
578 580
 													</select>
579 581
 												</label>
@@ -591,12 +593,194 @@
591 593
 													</select>
592 594
 												</label>
593 595
 											</th>
594
-											<th></th>
595
-											<th></th>
596
-											<th></th>
597
-											<th></th>
598
-											<th></th>
599
-											<th></th>
596
+											<th>
597
+												<label class="label" style="margin-top: 9px;text-align: center;">储粮功效<span style="color: red;margin-left: 5px;text-align: center;">*</span></label>
598
+											</th>
599
+											<th>
600
+												<label class="select">
601
+													<select ng-model="basicStorehouse.clgx" ng-disabled="isNotEdit"
602
+														ng-options="enum.id as enum.value for enum in clgxList" required
603
+														class="form-control">
604
+														<option value="">--请选择--</option>
605
+													</select>
606
+												</label>
607
+											</th>
608
+											<th>
609
+												<label class="label" style="margin-top: 9px;text-align: center;">能否隔热保温<span style="color: red;margin-left: 5px;text-align: center;">*</span></label>
610
+											</th>
611
+											<th>
612
+												<label class="select">
613
+													<select ng-model="basicStorehouse.nfgrbw" ng-disabled="isNotEdit"
614
+														ng-options="enum.id as enum.value for enum in falseEnum" required
615
+														class="form-control">
616
+													</select>
617
+												</label>
618
+											</th>
619
+											<th>
620
+												<label class="label" style="margin-top: 9px;text-align: center;">隔热性能<span style="color: red;margin-left: 5px;text-align: center;">*</span></label>
621
+											</th>
622
+											<th>
623
+												<label class="select">
624
+													<select ng-model="basicStorehouse.grxn" ng-disabled="isNotEdit"
625
+														ng-options="enum.id as enum.value for enum in grxnList" required
626
+														class="form-control">
627
+														<option value="">--请选择--</option>
628
+													</select>
629
+												</label>
630
+											</th>
631
+										</tr>
632
+										<!-- 新增 -->
633
+										<tr>
634
+											<th colspan="2">
635
+												<label class="label" style="margin-top: 9px;text-align: center;">结构材料<span style="color: red;margin-left: 5px;text-align: center;">*</span></label>
636
+											</th>
637
+											<th>
638
+												<label class="select">
639
+													<select ng-model="basicStorehouse.jgcl" ng-disabled="isNotEdit"
640
+														ng-options="enum.id as enum.value for enum in jgclList" required
641
+														class="form-control">
642
+														<option value="">--请选择--</option>
643
+													</select>
644
+												</label>
645
+											</th>
646
+											<th>
647
+												<label class="label" style="margin-top: 9px;text-align: center;">气密性<span style="color: red;margin-left: 5px;text-align: center;">*</span></label>
648
+											</th>
649
+											<th>
650
+												<label class="select">
651
+													<select ng-model="basicStorehouse.jgcl" ng-disabled="isNotEdit"
652
+														ng-options="enum.id as enum.value for enum in qmxList" required
653
+														class="form-control">
654
+														<option value="">--请选择--</option>
655
+													</select>
656
+												</label>
657
+											</th>
658
+											<th>
659
+												<label class="label" style="margin-top: 9px;text-align: center;">粮情技术<span style="color: red;margin-left: 5px;text-align: center;">*</span></label>
660
+											</th>
661
+											<th>
662
+												<label class="select">
663
+													<select ng-model="basicStorehouse.lqjs" ng-disabled="isNotEdit"
664
+														ng-options="enum.id as enum.value for enum in lqjsList" required
665
+														class="form-control">
666
+														<option value="">--请选择--</option>
667
+													</select>
668
+												</label>
669
+											</th>
670
+											<th>
671
+												<label class="label" style="margin-top: 9px;text-align: center;">通风系统型式</label>
672
+											</th>
673
+											<th>
674
+												<label class="select">
675
+													<select ng-model="basicStorehouse.tfxtxs" ng-disabled="isNotEdit"
676
+														ng-options="enum.id as enum.value for enum in lqjsList" required
677
+														class="form-control">
678
+														<option value="">--请选择--</option>
679
+													</select>
680
+												</label>
681
+											</th>
682
+										</tr>
683
+										<tr>
684
+											<th colspan="2">
685
+												<label class="label" style="margin-top: 9px;text-align: center;">通风技术<span style="color: red;margin-left: 5px;text-align: center;">*</span></label>
686
+											</th>
687
+											<th>
688
+												<label class="select">
689
+													<select ng-model="basicStorehouse.tfxtxs" ng-disabled="isNotEdit"
690
+														ng-options="enum.id as enum.value for enum in tfjsList" required
691
+														class="form-control">
692
+														<option value="">--请选择--</option>
693
+													</select>
694
+												</label>
695
+											</th>
696
+											<th>
697
+												<label class="label" style="margin-top: 9px;text-align: center;">杀虫技术<span style="color: red;margin-left: 5px;text-align: center;">*</span></label>
698
+											</th>
699
+											<th>
700
+												<label class="select">
701
+													<select ng-model="basicStorehouse.scjs" ng-disabled="isNotEdit"
702
+														ng-options="enum.id as enum.value for enum in scjsList" required
703
+														class="form-control">
704
+														<option value="">--请选择--</option>
705
+													</select>
706
+												</label>
707
+											</th>
708
+											<th>
709
+												<label class="label" style="margin-top: 9px;text-align: center;">控温技术<span style="color: red;margin-left: 5px;text-align: center;">*</span></label>
710
+											</th>
711
+											<th>
712
+												<label class="select">
713
+													<select ng-model="basicStorehouse.kwjs" ng-disabled="isNotEdit"
714
+														ng-options="enum.id as enum.value for enum in kwjsList" required
715
+														class="form-control">
716
+														<option value="">--请选择--</option>
717
+													</select>
718
+												</label>
719
+											</th>
720
+											<th>
721
+												<label class="label" style="margin-top: 9px;text-align: center;">是否已进行信息化改造<span style="color: red;margin-left: 5px;text-align: center;">*</span></label>
722
+											</th>
723
+											<th>
724
+												<label class="select">
725
+													<select ng-model="basicStorehouse.sfyjxxxhgz" ng-disabled="isNotEdit"
726
+														ng-options="enum.id as enum.value for enum in falseEnum2" required
727
+														class="form-control">
728
+														<option value="">--请选择--</option>
729
+													</select>
730
+												</label>
731
+											</th>
732
+										</tr>
733
+										<tr>
734
+											<th colspan="2">
735
+												<label class="label" style="margin-top: 9px;text-align: center;">挡粮门型式</label>
736
+											</th>
737
+											<th>
738
+												<label class="select">
739
+													<select ng-model="basicStorehouse.dlmxs" ng-disabled="isNotEdit"
740
+														ng-options="enum.id as enum.value for enum in dlmxsList" required
741
+														class="form-control">
742
+														<option value="">--请选择--</option>
743
+													</select>
744
+												</label>
745
+											</th>
746
+											<th>
747
+												<label class="label" style="margin-top: 9px;text-align: center;">建设单位</label>
748
+											</th>
749
+											<th>
750
+												<label class="input">
751
+													<input type="text" ng-model="basicStorehouse.jsdw"
752
+													name="jsdw" maxlength="20" ng-readonly="isNotEdit">
753
+												</label>
754
+											</th>
755
+											<th>
756
+												<label class="label" style="margin-top: 9px;text-align: center;">设计使用年限</label>
757
+											</th>
758
+											<th>
759
+												<label class="input">
760
+													<input type="text" ng-model="basicStorehouse.sjsynx"
761
+													name="sjsynx" maxlength="20" ng-readonly="isNotEdit">
762
+												</label>
763
+											</th>
764
+											<th>
765
+												<label class="label" style="margin-top: 9px;text-align: center;">设计单位 </label>
766
+											</th>
767
+											<th>
768
+												<label class="input">
769
+													<input type="text" ng-model="basicStorehouse.sjdw"
770
+													name="sjdw" maxlength="20" ng-readonly="isNotEdit">
771
+												</label>
772
+											</th>
773
+										</tr>
774
+										<tr>
775
+											<th colspan="2">
776
+												<label class="label" style="margin-top: 9px;text-align: center;">监理单位 </label>
777
+											</th>
778
+											<th>
779
+												<label class="input">
780
+													<input type="text" ng-model="basicStorehouse.jldw"
781
+													name="jldw" maxlength="20" ng-readonly="isNotEdit">
782
+												</label>
783
+											</th>
600 784
 										</tr>
601 785
 									</table>
602 786
 								</fieldset>

+ 29 - 4
src/main/resources/static/app/intelligent/grainDetection/controller/insectPestDetectionCtrl.js

@@ -276,13 +276,13 @@ angular.module('app.intelligent').controller("insectPestDetectionCtrl", function
276 276
     };
277 277
 })
278 278
 // 虫害手工录入
279
-.controller("insectPestEditCtrl", function($scope, $filter, $http, $stateParams, $state, $rootScope, $uibModal, insectPestDetectionService,
280
-                                           warehouseService) {
281
-
279
+.controller("insectPestEditCtrl", function($scope, $filter, $http, $stateParams, $state, $rootScope, $uibModal, insectPestDetectionService, warehouseService) {
282 280
     $scope.insectPests = {};
281
+    $scope.pestList = [ {hczl: '', ckmdzjh: ''}];
283 282
     $scope.saveFlag = false;
284 283
     $scope.insectPests.vUpdatePeople = $rootScope.userInfo.realName;
285 284
     $scope.insectPests.orgId = $rootScope.depotInfo.orgId;
285
+    // console.log($scope.insectPests, $rootScope.depotInfo.orgId);
286 286
 
287 287
     var validator = $("#insectPests-form").validate();
288 288
 
@@ -291,6 +291,11 @@ angular.module('app.intelligent').controller("insectPestDetectionCtrl", function
291 291
         var checkNumber = /^\+?[1-9]\d*$/;
292 292
         return this.optional(element)||(checkNumber.test(value));
293 293
     },"请输入大于0的整数!");
294
+    // 验证密度(头/公斤)
295
+    $.validator.addMethod("validFrequency1",function(value,element, params) {
296
+        var checkNumber = /^\+?([1-9]+\,*)*\d$/;
297
+        return this.optional(element)||(checkNumber.test(value));
298
+    },"请输入正确的数据!");
294 299
 
295 300
     // 货位列表
296 301
     $scope.loadWare = function(houseId) {
@@ -307,8 +312,14 @@ angular.module('app.intelligent').controller("insectPestDetectionCtrl", function
307 312
         $rootScope.back();
308 313
     };
309 314
 
315
+    $scope.addPest = function() {
316
+        $scope.pestList.push({hczl: '', ckmdzjh: ''});
317
+        // console.log($scope.pestList);
318
+    };
319
+
310 320
     // 保存.
311 321
     $scope.saveData = function () {
322
+        console.log($scope.pestList);
312 323
         if (!$scope.saveFlag) {
313 324
             if (validator.form()) {
314 325
                 // 设置saveFlag为true,防止重复提交.
@@ -323,7 +334,21 @@ angular.module('app.intelligent').controller("insectPestDetectionCtrl", function
323 334
                         $scope.insectPests.standTime = $filter('date')(item.value, "yyyy-MM-dd HH:mm:ss");
324 335
                     }
325 336
                 });
326
-
337
+                let hczlStr = '';
338
+                let ckmdzjhStr = '';
339
+                $scope.pestList.forEach(item => {
340
+                    if(item.hczl) {
341
+                        hczlStr = hczlStr + item.hczl + '#'
342
+                    }
343
+                    if(item.ckmdzjh) {
344
+                        ckmdzjhStr = ckmdzjhStr + item.ckmdzjh + '|'
345
+                    }
346
+                });
347
+                hczlStr = hczlStr.slice(0, hczlStr.length - 1);
348
+                ckmdzjhStr = ckmdzjhStr.slice(0, ckmdzjhStr.length - 1);
349
+                console.log(hczlStr, ckmdzjhStr);
350
+                $scope.insectPests.hczl = hczlStr;
351
+                $scope.insectPests.ckmdzjh = ckmdzjhStr;
327 352
                 //保存熏蒸数据
328 353
                 insectPestDetectionService.saveInsectPestDate($scope.insectPests).then(function(data){
329 354
                     if(data.message == "success"){

+ 45 - 32
src/main/resources/static/app/intelligent/grainDetection/views/insectPestDetection-edit.html

@@ -83,42 +83,18 @@
83 83
 												</label>
84 84
 											</th>
85 85
 											<th >
86
-												<label label class="label" style="margin-top: 9px;text-align: center;">害虫种类<span style="color: red;">*</span></label>
87
-											</th>
88
-											<th>
89
-												<section>
90
-													<label class="select">
91
-														<select ng-model="insectPests.hczl" name="hczl"
92
-																ng-options="enum.enumid as enum.enumname for enum in dicDataList[5267]" required>
93
-															<option value="">--请选择--</option>
94
-														</select><i></i>
95
-													</label>
96
-												</section>
97
-											</th>
98
-										</tr>
99
-										<tr>
100
-											<th>
101
-												<label label class="label" style="margin-top: 9px;text-align: center;">密度(头/公斤)<span style="color: red;">*</span></label>
102
-											</th>
103
-											<th>
104
-												<section>
105
-													<label class="input">
106
-														<input class="form-control" type="text" ng-model="insectPests.iValue"
107
-															   name="iValue" validFrequency="true" required>
108
-													</label>
109
-												</section>
110
-											</th>
111
-											<th>
112
-												<label label class="label" style="margin-top: 9px;text-align: center;">虫粮等级</label>
86
+												<label label class="label" style="margin-top: 9px;text-align: center;">虫粮等级<span style="color: red;">*</span></label>
113 87
 											</th>
114 88
 											<th>
115 89
 												<section>
116 90
 													<label class="input">
117 91
 														<input class="form-control" type="text" ng-model="insectPests.cldjpd"
118
-															   name="cldjpd" validFrequency="true">
92
+															   name="cldjpd" validFrequency="true" required>
119 93
 													</label>
120 94
 												</section>
121 95
 											</th>
96
+										</tr>
97
+										<tr>
122 98
 											<th>
123 99
 												<label label class="label" style="margin-top: 9px;text-align: center;">害虫抗药性分析</label>
124 100
 											</th>
@@ -130,8 +106,6 @@
130 106
 													</label>
131 107
 												</section>
132 108
 											</th>
133
-										</tr>
134
-										<tr>
135 109
 											<th>
136 110
 												<label class="label" style="margin-top: 9px;text-align: center;">检测时间<span style="color: red;">*</span></label>
137 111
 											</th>
@@ -149,11 +123,50 @@
149 123
 													<input type="text" ng-model="insectPests.vUpdatePeople" ng-disabled="true">
150 124
 												</label>
151 125
 											</th>
152
-											<th></th>
153
-											<th></th>
154 126
 										</tr>
155 127
 									</table>
156 128
 								</fieldset>
129
+
130
+								<header>
131
+									虫害情况
132
+								</header>
133
+								<div class="row"
134
+									 ng-repeat="item in pestList"
135
+									 ng-style="{ 'padding': $index === 0 ? '25px 14px 5px' : '0px 14px 5px'}"
136
+								>
137
+									<div class="col-md-3">
138
+										<label class="label" style="margin-top: 9px;">虫害种类<span style="color: red;">*</span></label>
139
+										<section>
140
+											<label class="select">
141
+												<select ng-model="item.hczl" name="hczl{{$index}}"
142
+														ng-options="enum.enumid as enum.enumname for enum in dicDataList[5267]" required>
143
+													<option value="">--请选择--</option>
144
+												</select><i></i>
145
+											</label>
146
+										</section>
147
+									</div>
148
+									<div class="col-md-1"></div>
149
+									<div class="col-md-3">
150
+										<label class="label" style="margin-top: 9px;">密度(头/公斤)<span style="color: red;">*</span></label>
151
+										<section>
152
+											<label class="input">
153
+												<input class="form-control" type="text" ng-model="item.ckmdzjh"
154
+														 name="`ckmdzjh{{$index}}`" validFrequency1="true" required>
155
+												<!-- <input class="form-control" type="text" ng-model="pestList.iValue"
156
+														 name="iValue" validFrequency="true" required> -->
157
+											</label>
158
+										</section>
159
+									</div>
160
+								</div>
161
+								<div class="row" style="padding-left: 14px;">
162
+									<div class="col-md-1">
163
+										<button style="padding: 5px 10px;" type="button" class="btn btn-default" ng-click="addPest()">
164
+											<i class="glyphicon glyphicon-plus"></i> 
165
+											<span>新增</span>
166
+										</button>
167
+
168
+									</div>
169
+								</div>
157 170
 								<footer class="text-align-center">
158 171
 									<button type="button" class="btn btn-primary" ng-click="saveData()">保存</button>
159 172
 									<button type="button" class="btn btn-default" ng-click="retList()">取消</button>

+ 9 - 0
src/main/resources/static/app/layout/partials/navigation.tpl.html

@@ -899,6 +899,12 @@
899 899
                                     <li has-func="180" data-ui-sref-active="active">
900 900
                                         <a data-ui-sref="app.storage.safeproduce.notifyList">安全生产通告</a>
901 901
                                     </li>
902
+                                    <li has-func="181" data-ui-sref-active="active">
903
+                                        <a data-ui-sref="app.storage.safeproduce.safeRiskLevelCtrl">安全风险分级管控</a>
904
+                                    </li>
905
+                                    <li has-func="182.5" data-ui-sref-active="active">
906
+                                        <a data-ui-sref="app.storage.safeproduce.safeDangerHandle">安全隐患跟踪处理</a>
907
+                                    </li>
902 908
                                     <!--<li has-func="181" data-ui-sref-active="active">
903 909
                                         <a data-ui-sref="app.storage.safeproduce.recordList">粮库危险作业备案</a>
904 910
                                     </li>-->
@@ -1390,6 +1396,9 @@
1390 1396
                     <li has-func="69" data-ui-sref-active="active">
1391 1397
                         <a data-ui-sref="app.storage.payment.list"> 费用管理</a>
1392 1398
                     </li>
1399
+                    <li has-func="69.5">
1400
+                        <a data-ui-sref="app.storage.foodHandle">粮情处置</a>
1401
+                    </li>
1393 1402
                     <!--<li has-func="125" data-ui-sref-active="active">
1394 1403
                         <a href="http://192.168.60.120:8088/jckz/init-huangFu.html?_U=ystest&_T=e10adc3949ba59abbe56e057f20f883e" target="_blank"> 智能仓房</a>
1395 1404
                     </li>-->

+ 201 - 0
src/main/resources/static/app/storage/controller/safeProduceDangerHandle.js

@@ -0,0 +1,201 @@
1
+"use strict";
2
+
3
+angular
4
+  .module("app.storage")
5
+  .controller(
6
+    "safeProduceDangerHandle",
7
+    function ($scope, $state, $rootScope, safeDangerHandleService) {
8
+      $scope.pageInfo = { pageNum: 1, pageSize: 10 };
9
+      $scope.orgName = $rootScope.depotInfo.orgName;
10
+      $scope.loadData = function () {
11
+        safeDangerHandleService
12
+          .getPageInfo($scope.pageInfo.pageNum, $scope.pageInfo.pageSize)
13
+          .then(
14
+            function (data) {
15
+              console.log(data);
16
+              if (data) {
17
+                $scope.pageInfo.list = data.data.list;
18
+                $scope.pageInfo.hasNextPage = data.data.hasNextPage;
19
+                $scope.pageInfo.nextPage = data.data.nextPage;
20
+                $scope.pageInfo.navigatepageNums = data.data.navigatepageNums;
21
+                $scope.pageInfo.isLastPage = data.data.isLastPage;
22
+                $scope.pageInfo.pages = Math.ceil(
23
+                  data.data.total / $scope.pageInfo.pageSize
24
+                );
25
+              }
26
+              if ($scope.pageInfo.pageNum <= 0) {
27
+                $scope.pageInfo.pageNum = 1;
28
+              }
29
+              if ($scope.pageInfo.pageSize <= 0) {
30
+                $scope.pageInfo.pageSize = 10;
31
+              }
32
+            },
33
+            function (data) {
34
+              console.log(222, data);
35
+            }
36
+          );
37
+      };
38
+
39
+      $scope.loadData();
40
+
41
+      // 打印 导出PDF
42
+      $scope.print = function () {
43
+        $("#print").printArea();
44
+      };
45
+
46
+      // 翻页
47
+      $scope.goPage = function (pageNum) {
48
+        $scope.pageInfo.pageNum = pageNum;
49
+        $scope.loadData();
50
+      };
51
+      // 添加页面
52
+      $scope.showAddDanger = function () {
53
+        $state.go("app.storage.safeproduce.safeProduceDangerHandleSave", {
54
+          id: 0,
55
+          isNotEdit: false,
56
+        });
57
+      };
58
+      // 修改编辑页面
59
+      $scope.showEditDanger = function (id) {
60
+        $state.go("app.storage.safeproduce.safeProduceDangerHandleSave", {
61
+          id: id,
62
+          isNotEdit: false,
63
+        });
64
+      };
65
+
66
+      // 查看页面
67
+      $scope.showViewDanger = function (id) {
68
+        $state.go("app.storage.safeproduce.safeProduceDangerHandleSave", {
69
+          id: id,
70
+          isNotEdit: true,
71
+        });
72
+      };
73
+      // 根据id删除信息
74
+      $scope.removeDanger = function (id) {
75
+        if (!confirm("确定要删除吗?")) {
76
+          return;
77
+        }
78
+        safeDangerHandleService.removeById(id).then(function (data) {
79
+          if (data.message == "success") {
80
+            alert("删除成功");
81
+            $scope.loadData();
82
+          } else {
83
+            alert("删除失败");
84
+          }
85
+        });
86
+      };
87
+    }
88
+  )
89
+  .controller(
90
+    "safeProduceDangerHandleSave",
91
+    function (
92
+      $scope,
93
+      $state,
94
+      $rootScope,
95
+      safeDangerHandleService,
96
+      StorehouseService,
97
+      $stateParams
98
+    ) {
99
+      $scope.orgName = $rootScope.depotInfo.orgName;
100
+      $scope.insertDanger = {
101
+        orgName: $rootScope.depotInfo.orgName,
102
+      };
103
+      console.log($rootScope.depotInfo.orgName);
104
+      $scope.storehouseList = [];
105
+      // $scope.storehouseId = "";
106
+      //下面的判断用于查看页面只读状态
107
+      if ($stateParams.isNotEdit != null) {
108
+        if ($stateParams.isNotEdit == "false") {
109
+          // 修改
110
+          $scope.isNotEdit = false;
111
+        } else if ($stateParams.isNotEdit == "true") {
112
+          // 查看
113
+          $scope.isNotEdit = true;
114
+        }
115
+      } else {
116
+        $scope.isNotEdit = false;
117
+      }
118
+      $scope.loadStore = function () {
119
+        //仓房信息下拉
120
+        StorehouseService.getStorehouseList($rootScope.orgInfo.orgId).then(
121
+          function (data) {
122
+            console.log(data.houseList);
123
+            if (data.houseList.length > 0) {
124
+              $scope.storehouseList = data.houseList; //下拉列表数据
125
+            }
126
+          },
127
+          function (data) {
128
+            console.log(data);
129
+          }
130
+        );
131
+      };
132
+
133
+      
134
+
135
+      $scope.edit = function () {
136
+        console.log("$scope.isNotEdit", $scope.isNotEdit);
137
+        // 编辑
138
+        if ($stateParams.id !== 0) {
139
+          safeDangerHandleService
140
+            .queryById($stateParams.id)
141
+            .then(function (data) {
142
+              console.log(148, data);
143
+              $scope.insertDanger = data.data;
144
+            });
145
+        }
146
+      };
147
+      // $scope.loadStore();
148
+      $scope.edit();
149
+      // 提交表单
150
+      var validator = $("#safeDangerHandle-form").validate();
151
+      $scope.saveData = function () {
152
+        console.log($stateParams.id);
153
+        $scope.insertDanger.solveTime = $(
154
+          "input[name='solveTime']"
155
+        ).val(); // 时间控件获取值
156
+        if (validator.form()) {
157
+          
158
+          $scope.insertDanger.orgId = $rootScope.orgInfo.orgId;
159
+          if (+$stateParams.id !== 0) {
160
+            safeDangerHandleService
161
+              .updateRask(angular.toJson($scope.insertDanger))
162
+              .then(
163
+                function (data) {
164
+                  if (data.message == "success") {
165
+                    alert("修改成功!");
166
+                    //$scope.back();
167
+                    $scope.backLayer();
168
+                  } else {
169
+                    alert("修改失败!");
170
+                  }
171
+                },
172
+                function (data) {
173
+                  console.log(data);
174
+                }
175
+              );
176
+          } else {
177
+            safeDangerHandleService
178
+              .save(angular.toJson($scope.insertDanger))
179
+              .then(
180
+                function (data) {
181
+                  if (data.message == "success") {
182
+                    alert("保存成功!");
183
+                    //$scope.back();
184
+                    $scope.backLayer();
185
+                  } else {
186
+                    alert("保存失败!");
187
+                  }
188
+                },
189
+                function (data) {
190
+                  console.log(data);
191
+                }
192
+              );
193
+          }
194
+        }
195
+      };
196
+      // 返回
197
+      $scope.backLayer = function () {
198
+        $state.go("app.storage.safeproduce.safeDangerHandle");
199
+      };
200
+    }
201
+  );

+ 205 - 0
src/main/resources/static/app/storage/controller/safeProduceRiskCtrl.js

@@ -0,0 +1,205 @@
1
+"use strict";
2
+
3
+angular
4
+  .module("app.storage")
5
+  .controller(
6
+    "safeProduceRiskCtrl",
7
+    function ($scope, $state, $rootScope, safeProduceRiskService) {
8
+      $scope.pageInfo = { pageNum: 1, pageSize: 10 };
9
+      // $scope.startDate = "";
10
+      // $scope.endDate = "";
11
+      $scope.search = {
12
+        searchStartDate: "",
13
+        searchEndDate: "",
14
+      };
15
+
16
+      $scope.loadData = function () {
17
+        $scope.search.searchStartDate = $(
18
+          "input[name='searchStartDate']"
19
+        ).val(); // 时间控件获取值
20
+        $scope.search.searchEndDate = $("input[name='searchEndDate']").val(); // 时间控件获取值
21
+        safeProduceRiskService
22
+          .getPageInfo(
23
+            $scope.pageInfo.pageNum,
24
+            $scope.pageInfo.pageSize,
25
+            $scope.search.searchStartDate,
26
+            $scope.search.searchEndDate
27
+          )
28
+          .then(
29
+            function (data) {
30
+              if (data) {
31
+                $scope.pageInfo = data.data;
32
+                // $scope.pageInfo.pages = Math.ceil(data.data.total / $scope.pageInfo.pageSize);
33
+              }
34
+              if ($scope.pageInfo.pageNum <= 0) {
35
+                $scope.pageInfo.pageNum = 1;
36
+              }
37
+              if ($scope.pageInfo.pageSize <= 0) {
38
+                $scope.pageInfo.pageSize = 10;
39
+              }
40
+            },
41
+            function (data) {
42
+              console.log(222, data);
43
+            }
44
+          );
45
+      };
46
+
47
+      $scope.loadData();
48
+
49
+      // 打印 导出PDF
50
+    $scope.print = function() {
51
+      $("#print").printArea();
52
+  };
53
+
54
+      // 翻页
55
+      $scope.goPage = function (pageNum) {
56
+        $scope.pageInfo.pageNum = pageNum;
57
+        $scope.loadData();
58
+      };
59
+      // 添加页面
60
+      $scope.showAddRisk = function () {
61
+        $state.go("app.storage.safeproduce.safeRiskAdd", {
62
+          id: 0,
63
+          isNotEdit: false,
64
+        });
65
+      };
66
+      // 修改编辑页面
67
+      $scope.showEditRisk = function (id) {
68
+        $state.go("app.storage.safeproduce.safeRiskAdd", {
69
+          id: id,
70
+          isNotEdit: false,
71
+        });
72
+      };
73
+
74
+      // 查看页面
75
+      $scope.showViewRisk = function (id) {
76
+        $state.go("app.storage.safeproduce.safeRiskAdd", {
77
+          id: id,
78
+          isNotEdit: true,
79
+        });
80
+      };
81
+      // 根据id删除信息
82
+      $scope.removeRisk = function (id) {
83
+        if (!confirm("确定要删除吗?")) {
84
+          return;
85
+        }
86
+        safeProduceRiskService.removeById(id).then(function (data) {
87
+          if (data.message == "success") {
88
+            alert("删除成功");
89
+            $scope.loadData();
90
+          } else {
91
+            alert("删除失败");
92
+          }
93
+        });
94
+      };
95
+    }
96
+  )
97
+  .controller(
98
+    "safeProduceRiskCtrlSave",
99
+    function (
100
+      $scope,
101
+      $state,
102
+      $rootScope,
103
+      safeProduceRiskService,
104
+      $stateParams
105
+    ) {
106
+      // $scope.orgName = $rootScope.depotInfo.orgName;
107
+      $scope.insertRisk = {
108
+        libraryPointName: $rootScope.depotInfo.orgName,
109
+        riskTypeId: 1,
110
+      };
111
+      //下面的判断用于查看页面只读状态
112
+      if ($stateParams.isNotEdit != null) {
113
+        if ($stateParams.isNotEdit == "false") {
114
+          // 修改
115
+          $scope.isNotEdit = false;
116
+        } else if ($stateParams.isNotEdit == "true") {
117
+          // 查看
118
+          $scope.isNotEdit = true;
119
+        }
120
+      } else {
121
+        $scope.isNotEdit = false;
122
+      }
123
+
124
+      // 风险分级
125
+      $scope.fxfjList = [
126
+        { id: "A级-重大风险", value: "A级-重大风险" },
127
+        { id: "B级-较大风险", value: "B级-较大风险" },
128
+        { id: "C级-一般风险", value: "C级-一般风险" },
129
+        { id: "D级-低风险", value: "D级-低风险" },
130
+      ];
131
+      // 风险类型
132
+      $scope.fxlxList = [
133
+        { id: "基础设施", value: "基础设施" },
134
+        { id: "网络安全", value: "网络安全" },
135
+        { id: "消防安全", value: "消防安全" },
136
+        { id: "用电安全", value: "用电安全" },
137
+        { id: "作业安全", value: "作业安全" },
138
+        { id: "用药安全", value: "用药安全" },
139
+        { id: "管理风险", value: "管理风险" },
140
+        { id: "其他风险", value: "其他风险" },
141
+      ];
142
+
143
+      $scope.edit = function () {
144
+        console.log("$scope.isNotEdit", $scope.isNotEdit);
145
+        // 编辑
146
+        if ($stateParams.id !== 0) {
147
+          safeProduceRiskService
148
+            .queryById($stateParams.id)
149
+            .then(function (data) {
150
+              console.log(148, data);
151
+              $scope.insertRisk = data.data;
152
+            });
153
+        }
154
+      };
155
+      $scope.edit();
156
+      // 提交表单
157
+      var validator = $("#safeProduceNotify-form").validate();
158
+      $scope.saveData = function () {
159
+        console.log($stateParams.id);
160
+        if (validator.form()) {
161
+          $scope.insertRisk.orgId = $rootScope.orgInfo.orgId;
162
+          $scope.fxlxList.forEach((item, i) => {
163
+            if(item.value === $scope.insertRisk.riskTypeName) {
164
+              $scope.insertRisk.riskTypeId = i;
165
+            }
166
+          });
167
+          if (+$stateParams.id !== 0) {
168
+            safeProduceRiskService.updateRask(angular.toJson($scope.insertRisk)).then(
169
+              function (data) {
170
+                if (data.message == "success") {
171
+                  alert("修改成功!");
172
+                  //$scope.back();
173
+                  $scope.backLayer();
174
+                } else {
175
+                  alert("修改失败!");
176
+                }
177
+              },
178
+              function (data) {
179
+                console.log(data);
180
+              }
181
+            );
182
+          } else {
183
+            safeProduceRiskService.save(angular.toJson($scope.insertRisk)).then(
184
+              function (data) {
185
+                if (data.message == "success") {
186
+                  alert("保存成功!");
187
+                  //$scope.back();
188
+                  $scope.backLayer();
189
+                } else {
190
+                  alert("保存失败!");
191
+                }
192
+              },
193
+              function (data) {
194
+                console.log(data);
195
+              }
196
+            );
197
+          }
198
+        }
199
+      };
200
+      // 返回
201
+      $scope.backLayer = function () {
202
+        $state.go("app.storage.safeproduce.safeRiskLevelCtrl");
203
+      };
204
+    }
205
+  );

+ 19 - 1
src/main/resources/static/app/storage/drug/drugInfo/views/drugInfo-edit.html

@@ -85,6 +85,16 @@
85 85
                                                        ng-readonly="isNotEdit" placeholder="例:500ml" required>
86 86
                                             </label>
87 87
                                         </section>
88
+                                        <section class="col col-6">
89
+                                            <label class="label">储存地点<span style="color: red;">*</span></label>
90
+                                            <label class="select">
91
+                                                <select ng-model="drugInfo.ccdd" name="ccdd" required >
92
+                                                        <option value="">请选择</option>
93
+                                                        <option value="1">药品库</option>
94
+                                                        <option value="2">其他</option>
95
+                                                </select><i></i>
96
+                                            </label>
97
+                                        </section>
88 98
                                     </div>
89 99
                                     <section>
90 100
                                         <label class="label">储存条件</label>
@@ -102,7 +112,15 @@
102 112
                                         </label>
103 113
                                     </section>
104 114
                                     <section>
105
-                                        <label class="label">使用后处理方式</label>
115
+                                        <label class="label">包装物处理方式</label>
116
+                                        <label class="textarea">
117
+                                            <textarea rows="5" ng-model="drugInfo.bzwclfs" name="aqsysms" ng-disabled="isNotEdit"
118
+                                                oninput="if(value.length>1000) value=value.slice(0,1000)">
119
+                                            </textarea>
120
+                                        </label>
121
+                                    </section>
122
+                                    <section>
123
+                                        <label class="label">残渣处理方式</label>
106 124
                                         <label class="textarea">
107 125
                                             <textarea rows="5" ng-model="drugInfo.syhclfs" name="syhclfs" ng-disabled="isNotEdit"
108 126
                                                 oninput="if(value.length>1000) value=value.slice(0,1000)">

+ 233 - 0
src/main/resources/static/app/storage/grainCard/controller/foodHandleCtr.js

@@ -0,0 +1,233 @@
1
+"use strict";
2
+angular
3
+  .module("app.storage")
4
+  .controller(
5
+    "foodHandleCtr",
6
+    function (
7
+      $scope,
8
+      $state,
9
+      $rootScope,
10
+      $uibModal,
11
+      $http,
12
+      $filter,
13
+      warehouseService,
14
+      $stateParams,
15
+      foodHandleService,
16
+      archiveService
17
+    ) {
18
+      $scope.pageInfo = { pageNum: 1, pageSize: 10 };
19
+      $scope.search = {};
20
+      $scope.isArchive = false;
21
+      $scope.isArchiveHouse = 0;
22
+      // 分页列表
23
+      $scope.loadData = function () {
24
+            
25
+            foodHandleService.getPageInfo($scope.pageInfo, $scope.search).then(
26
+              function (data) {
27
+                $scope.pageInfo = data.data;
28
+              },
29
+              function (data) {
30
+                console.log(data);
31
+              }
32
+            );
33
+      };
34
+      $scope.loadData();
35
+      // 货位列表
36
+      $scope.loadWare = function (houseId) {
37
+      console.log("🚀 ~ file: foodHandleCtr.js ~ line 47 ~ houseId", houseId)
38
+        warehouseService
39
+          .getStorehouse($rootScope.orgInfo.orgId, houseId, "0")
40
+          .then(
41
+            function (data) {
42
+              $scope.warelist = data.wareList; //下拉列表数据
43
+              $scope.warehouseObj = data.wares; //查询数据列表货位信息转换
44
+            },
45
+            function (data) {
46
+              console.log(data);
47
+            }
48
+          );
49
+      };
50
+      $scope.loadWare(null);
51
+
52
+      // 添加页面
53
+      $scope.showAddFood = function () {
54
+        $state.go("app.storage.foodHandle.add", {
55
+          id: 0,
56
+          isNotEdit: false,
57
+        });
58
+      };
59
+      // 修改编辑页面
60
+      $scope.showEditFood = function (id) {
61
+        $state.go("app.storage.foodHandle.add", {
62
+          id: id,
63
+          isNotEdit: false,
64
+        });
65
+      };
66
+      // 查看
67
+      $scope.showViewFood = function (id) {
68
+        $state.go("app.storage.foodHandle.add", {
69
+          id: id,
70
+          isNotEdit: true,
71
+        });
72
+      };
73
+
74
+      // 根据id删除信息
75
+      $scope.removeFood = function (id) {
76
+        if (!confirm("确定要删除吗?")) {
77
+          return;
78
+        }
79
+        foodHandleService.removeById(id).then(function (data) {
80
+          if (data.message == "success") {
81
+            alert("删除成功");
82
+            $scope.loadData();
83
+          } else {
84
+            alert("删除失败");
85
+          }
86
+        });
87
+      };
88
+
89
+      //修改按钮
90
+      $scope.editProductGrainList = function (id, spareOne, lypzName) {
91
+        $state.go("app.storage.productGrain.add", {
92
+          id: id,
93
+          spareOne: spareOne,
94
+          lypzName: lypzName,
95
+        });
96
+      };
97
+
98
+      // 翻页
99
+      $scope.goPage = function (pageNum) {
100
+        if ($scope.pageInfo.pageNum != pageNum && pageNum > 0) {
101
+          $scope.pageInfo.pageNum = pageNum;
102
+          $scope.loadData();
103
+        }
104
+      };
105
+    }
106
+  )
107
+  .controller(
108
+    "foodHandleSave",
109
+    function (
110
+      $scope,
111
+      $state,
112
+      $rootScope,
113
+      $uibModal,
114
+      $http,
115
+      $filter,
116
+      warehouseService,
117
+      $stateParams,
118
+      foodHandleService,
119
+      archiveService,
120
+      cerealsCardService,
121
+      StorehouseService,
122
+      keeperService,
123
+      enumService,
124
+      TankService
125
+    ) {
126
+      $scope.insertFoodHandle = {};
127
+      $scope.search = {
128
+        spareOne: "",
129
+        spareTwo: "",
130
+      };
131
+      //下面的判断用于查看页面只读状态
132
+      if ($stateParams.isNotEdit != null) {
133
+        if ($stateParams.isNotEdit == "false") {
134
+          // 修改
135
+          $scope.isNotEdit = false;
136
+        } else if ($stateParams.isNotEdit == "true") {
137
+          // 查看
138
+          $scope.isNotEdit = true;
139
+        }
140
+      } else {
141
+        $scope.isNotEdit = false;
142
+      }
143
+      $scope.loadWare = function (houseId) {
144
+        warehouseService
145
+          .getStorehouse($rootScope.orgInfo.orgId, houseId, "0")
146
+          .then(
147
+            function (data) {
148
+              $scope.warelist = data.wareList; //下拉列表数据
149
+              $scope.warehouseObj = data.wares; //查询数据列表货位信息转换
150
+              console.log($scope.warelist, $scope.warehouseObj);
151
+            },
152
+            function (data) {
153
+              console.log(data);
154
+            }
155
+          );
156
+      };
157
+      $scope.loadWare(null);
158
+      $scope.edit = function () {
159
+        // 编辑
160
+          if ($stateParams.id !== 0) {
161
+            foodHandleService
162
+              .findDataById($stateParams.id)
163
+              .then(function (data) {
164
+                $scope.insertFoodHandle = data.data;
165
+                if($scope.insertFoodHandle.isSolve == 1) {
166
+                  $scope.insertFoodHandle.isSolve = "1"
167
+                }
168
+                if($scope.insertFoodHandle.isSolve == 0) {
169
+                  $scope.insertFoodHandle.isSolve = "0"
170
+                }
171
+                
172
+                $scope.search.spareOne = data.data.storeHouseId;
173
+                $scope.search.spareTwo = data.data.wareHouseId;
174
+              });
175
+          }
176
+      };
177
+      $scope.edit();
178
+
179
+      $scope.insertFoodHandle = {
180
+        orgName: $rootScope.depotInfo.orgName,
181
+      };
182
+
183
+      var validator = $("#safeProduceFood-form").validate();
184
+      $scope.saveData = function () {
185
+        if (validator.form()) {
186
+          $scope.insertFoodHandle.checkDate = $("input[name='checkDate']").val(); // 时间控件获取值
187
+          $scope.insertFoodHandle.orgId = $rootScope.orgInfo.orgId;
188
+          $scope.insertFoodHandle.storeHouseId = $scope.search.spareOne;
189
+          $scope.insertFoodHandle.storehouseName = $rootScope.storehouseObj[$scope.search.spareOne].storehouseName;
190
+          $scope.insertFoodHandle.warehouseName = $scope.warehouseObj[$scope.search.spareTwo].warehouseName;
191
+          $scope.insertFoodHandle.wareHouseId = $scope.search.spareTwo;
192
+          if (+$stateParams.id !== 0) {
193
+            foodHandleService
194
+              .updateFood(angular.toJson($scope.insertFoodHandle))
195
+              .then(
196
+                function (data) {
197
+                  if (data.message == "success") {
198
+                    alert("修改成功!");
199
+                    //$scope.back();
200
+                    $scope.backLayer();
201
+                  } else {
202
+                    alert("修改失败!");
203
+                  }
204
+                },
205
+                function (data) {
206
+                  console.log(data);
207
+                }
208
+              );
209
+          } else {
210
+            foodHandleService
211
+              .saveData(angular.toJson($scope.insertFoodHandle))
212
+              .then(
213
+                function (data) {
214
+                  if (data.message == "success") {
215
+                    alert("保存成功!");
216
+                    //$scope.back();
217
+                    $scope.backLayer();
218
+                  } else {
219
+                    alert("保存失败!");
220
+                  }
221
+                },
222
+                function (data) {
223
+                  console.log(data);
224
+                }
225
+              );
226
+          }
227
+        }
228
+      };
229
+      $scope.backLayer = function () {
230
+        $state.go("app.storage.foodHandle");
231
+      };
232
+    }
233
+  );

+ 114 - 0
src/main/resources/static/app/storage/grainCard/service/foodHandleService.js

@@ -0,0 +1,114 @@
1
+"use strict";
2
+angular.module('app.storage').service("foodHandleService", function ($http, $q, APP_CONFIG, $rootScope) {
3
+    // 分页列表
4
+    this.getPageInfo = function (pageInfo, search) {
5
+        console.log(search.spareTwo);
6
+        var d = $q.defer();
7
+        $http({
8
+            method: 'GET',
9
+            url: APP_CONFIG.depotStorageUrl + '/grainDisposal/getList',
10
+            params: {
11
+                pageNum: pageInfo.pageNum,
12
+                pageSize: pageInfo.pageSize,
13
+                storeHouseName: search.spareOne ? $rootScope.storehouseObj[search.spareOne].storehouseName : "",
14
+                wareHouseName: search.spareTwo ? $rootScope.wares[search.spareTwo].warehouseName : "",
15
+                // createTime: search.createTime,
16
+                orgId: $rootScope.orgInfo.orgId
17
+            }
18
+        }).then(function successCallback(response) {
19
+            // 请求成功执行代码
20
+            d.resolve(response.data);
21
+        }, function errorCallback(response) {
22
+            // 请求失败执行代码
23
+            d.reject("error");
24
+        });
25
+        return d.promise;
26
+    };
27
+    // 成品粮粮情卡保存
28
+    this.saveData = function (data) {
29
+        var d = $q.defer();
30
+        $http({
31
+          method: "POST",
32
+          url: APP_CONFIG.depotStorageUrl + "/grainDisposal/saveData",
33
+          data: {
34
+            riskJson: data,
35
+          },
36
+        }).then(
37
+          function successCallback(response) {
38
+            console.log("success", response);
39
+            // 请求成功执行代码
40
+            d.resolve(response.data);
41
+          },
42
+          function errorCallback(response) {
43
+            console.log("error", response);
44
+            // 请求失败执行代码
45
+            d.reject("error");
46
+          }
47
+        );
48
+        return d.promise;
49
+    };
50
+
51
+    // 根据id查询数据
52
+    this.findDataById = function (id) {
53
+        var d = $q.defer();
54
+        $http({
55
+            method: 'GET',
56
+            url: APP_CONFIG.depotStorageUrl + '/grainDisposal/queryById',
57
+            params: {
58
+                id: id
59
+            }
60
+        }).then(function successCallback(response) {
61
+            // 请求成功执行代码
62
+            d.resolve(response.data);
63
+        }, function errorCallback(response) {
64
+            // 请求失败执行代码
65
+            d.reject("error");
66
+        });
67
+        return d.promise;
68
+    };
69
+
70
+    // 删除
71
+    this.removeById = function (id) {
72
+        var d = $q.defer();
73
+        $http({
74
+          method: "POST",
75
+          url: APP_CONFIG.depotStorageUrl + "/grainDisposal/deleteRisk",
76
+          data: {
77
+            id: id,
78
+          },
79
+        }).then(
80
+          function successCallback(response) {
81
+            // 请求成功执行代码
82
+            d.resolve(response.data);
83
+          },
84
+          function errorCallback(response) {
85
+            // 请求失败执行代码
86
+            d.reject("error");
87
+          }
88
+        );
89
+        return d.promise;
90
+      };
91
+
92
+      // 编辑
93
+      this.updateFood = function(data) {
94
+        var d = $q.defer();
95
+        $http({
96
+          method: "POST",
97
+          url: APP_CONFIG.depotStorageUrl + "/grainDisposal/updateData",
98
+          data: {
99
+            riskJson: data,
100
+          },
101
+        }).then(
102
+          function successCallback(response) {
103
+            // 请求成功执行代码
104
+            d.resolve(response.data);
105
+          },
106
+          function errorCallback(response) {
107
+            // 请求失败执行代码
108
+            d.reject("error");
109
+          }
110
+        );
111
+        return d.promise;
112
+      }
113
+
114
+});

+ 255 - 0
src/main/resources/static/app/storage/grainCard/views/foodHandle-edit.html

@@ -0,0 +1,255 @@
1
+<div id="content">
2
+  <section id="widget-grid" widget-grid>
3
+    <div class="row">
4
+      <article class="col-sm-12 col-md-12 col-lg-12">
5
+        <div
6
+          jarvis-widget
7
+          id="form-grid-widget"
8
+          data-widget-colorbutton="false"
9
+          data-widget-editbutton="false"
10
+          data-widget-custombutton="false"
11
+        >
12
+          <div>
13
+            <div class="widget-body no-padding">
14
+              <form
15
+                id="safeProduceFood-form"
16
+                class="smart-form"
17
+                data-validator-option="validateOptions"
18
+                novalidate="novalidate"
19
+              >
20
+                <button
21
+                  type="submit"
22
+                  class="bv-hidden-submit"
23
+                  style="display: none; width: 0px; height: 0px"
24
+                ></button>
25
+                <header>
26
+                  <a
27
+                    href-void
28
+                    class="btn btn-default btn-xs"
29
+                    ng-click="backLayer()"
30
+                  >
31
+                    <i class="fa fa-angle-left"></i>&nbsp;返回&nbsp;
32
+                  </a>
33
+                  &nbsp;<strong>粮情检查表</strong>
34
+                </header>
35
+                <fieldset>
36
+                  <div class="row">
37
+                    <section class="col col-3">
38
+                      <label class="label"> 仓房名称<span style="color: red">*</span>:</label>
39
+                      <label class="select">
40
+                        <select
41
+                          ng-model="search.spareOne"
42
+                          class="form-control input-sm"
43
+                          name="spareOne"
44
+                          ng-disabled="isNotEdit"
45
+                          ng-options="store.storehouseId as store.storehouseName for store in storehouseObj"
46
+                          ng-change="loadWare(search.storehouseCode)"
47
+                          required
48
+                        >
49
+                          <option value="">请选择</option></select
50
+                        >&emsp;
51
+                      </label>
52
+                    </section>
53
+                    <section class="col col-3">
54
+                      <label class="label"
55
+                        >货位名称:<span style="color: red">*</span></label
56
+                      >
57
+                      <label class="select">
58
+                        <select
59
+                        ng-disabled="isNotEdit"
60
+                          ng-model="search.spareTwo"
61
+                          required
62
+                          class="form-control input-sm"
63
+                          ng-options="ware.warehouseId as ware.warehouseName for ware in warelist"
64
+                        >
65
+                          <option value="">请选择</option></select
66
+                        >&emsp;
67
+                      </label>
68
+                    </section>
69
+                    <section class="col col-3">
70
+                      <label class="label"
71
+                        >粮油品种<span style="color: red">*</span></label
72
+                      >
73
+                      <label class="input">
74
+                        <input
75
+                          type="text"
76
+                          ng-disabled="isNotEdit"
77
+                          required
78
+                          ng-model="insertFoodHandle.grainOilVarieties"
79
+                          name="grainOilVarieties"
80
+                        />
81
+                      </label>
82
+                    </section>
83
+                    <section class="col col-3">
84
+                      <label class="label"
85
+                        >检查日期<span style="color: red">*</span></label
86
+                      >
87
+                      <label class="input form-group">
88
+                        <input
89
+                          ng-disabled="isNotEdit"
90
+                          class="form-control"
91
+                          type="text"
92
+                          required
93
+                          ng-model="insertFoodHandle.checkDate"
94
+                          id="checkDate"
95
+                          name="checkDate"
96
+                          onClick="WdatePicker({lang:'zh-cn'})"
97
+                        />
98
+                      </label>
99
+                    </section>
100
+                  </div>
101
+                  <div class="row">
102
+                    <section class="col col-3">
103
+                      <label class="label"
104
+                        >单位名称<span style="color: red">*</span></label
105
+                      >
106
+                      <label class="input">
107
+                        <input
108
+                          type="text"
109
+                          ng-model="insertFoodHandle.companyName"
110
+                          name="companyName"
111
+                          required
112
+                          ng-disabled="isNotEdit"
113
+                        />
114
+                      </label>
115
+                    </section>
116
+                    <section class="col col-3">
117
+                      <label class="label"
118
+                        >粮情员<span style="color: red">*</span></label
119
+                      >
120
+                      <label class="input">
121
+                        <input
122
+                          type="text"
123
+                          ng-disabled="isNotEdit"
124
+                          required
125
+                          ng-model="insertFoodHandle.grainPerson"
126
+                          name="grainPerson"
127
+                        />
128
+                      </label>
129
+                    </section>
130
+                    <section class="col col-3">
131
+                      <label class="label"
132
+                        >保管组长<span style="color: red">*</span></label
133
+                      >
134
+                      <label class="input">
135
+                        <input
136
+                          type="text"
137
+                          ng-disabled="isNotEdit"
138
+                          required
139
+                          ng-model="insertFoodHandle.custodianLeader"
140
+                          name="custodianLeader"
141
+                        />
142
+                      </label>
143
+                    </section>
144
+                    <section class="col col-3">
145
+                      <label class="label"
146
+                        >保管员<span style="color: red">*</span></label
147
+                      >
148
+                      <label class="input">
149
+                        <input
150
+                          type="text"
151
+                          ng-disabled="isNotEdit"
152
+                          required
153
+                          ng-model="insertFoodHandle.custodian"
154
+                          name="custodian"
155
+                        />
156
+                      </label>
157
+                    </section>
158
+                  </div>
159
+                  <div class="row">
160
+                    <section class="col col-3">
161
+                        <label class="label"
162
+                          >解决情况<span style="color: red">*</span></label
163
+                        >
164
+                        <label class="select">
165
+                            <select
166
+                              ng-model="insertFoodHandle.isSolve"
167
+                              class="form-control input-sm"
168
+                              name="isSolve"
169
+                              required
170
+                            >
171
+                              <option value="">请选择</option>
172
+                              <option value="1">是</option>
173
+                              <option value="0">否</option>
174
+                            </select
175
+                            >&emsp;
176
+                          </label>
177
+                      </section>
178
+                  </div>
179
+                  <header style="margin-left: 0; margin-bottom: 20px">
180
+                    &nbsp;发现粮情
181
+                  </header>
182
+                  <div class="row">
183
+                    <section class="col col-12" style="width: 100%">
184
+                      <label class="label"
185
+                        >现象及原因<span style="color: red">*</span></label
186
+                      >
187
+                      <label class="textarea textarea-resizable">
188
+                        <textarea
189
+                          rows="5"
190
+                          class="custom-scroll"
191
+                          ng-disabled="isNotEdit"
192
+                          ng-model="insertFoodHandle.phenomenonCause"
193
+                          ng-disabled="isNotEdit"
194
+                          name="phenomenonCause"
195
+                          required
196
+                        ></textarea>
197
+                      </label>
198
+                    </section>
199
+                  </div>
200
+                  <div class="row">
201
+                    <section class="col col-12" style="width: 100%">
202
+                      <label class="label">保管员采取的措施</label>
203
+                      <label class="textarea textarea-resizable">
204
+                        <textarea
205
+                          rows="5"
206
+                          class="custom-scroll"
207
+                          ng-disabled="isNotEdit"
208
+                          ng-model="insertFoodHandle.custodianMeasure"
209
+                          ng-disabled="isNotEdit"
210
+                          name="custodianMeasure"
211
+                        ></textarea>
212
+                      </label>
213
+                    </section>
214
+                  </div>
215
+                  <div class="row">
216
+                    <section class="col col-12" style="width: 100%">
217
+                      <label class="label">粮情员处理意见</label>
218
+                      <label class="textarea textarea-resizable">
219
+                        <textarea
220
+                          rows="5"
221
+                          class="custom-scroll"
222
+                          ng-disabled="isNotEdit"
223
+                          ng-model="insertFoodHandle.grainPersonComments"
224
+                          ng-disabled="isNotEdit"
225
+                          name="grainPersonComments"
226
+                        ></textarea>
227
+                      </label>
228
+                    </section>
229
+                  </div>
230
+                </fieldset>
231
+                <footer class="modal-footer text-align-center">
232
+                  <button
233
+                    ng-click="back()"
234
+                    class="btn btn-default btn-lg"
235
+                    data-dismiss="modal"
236
+                  >
237
+                    取消
238
+                  </button>
239
+                  <button
240
+                    ng-click="saveData()"
241
+                    type="button"
242
+                    class="btn btn-primary btn-lg"
243
+                    ng-hide="isNotEdit"
244
+                  >
245
+                    提交
246
+                  </button>
247
+                </footer>
248
+              </form>
249
+            </div>
250
+          </div>
251
+        </div>
252
+      </article>
253
+    </div>
254
+  </section>
255
+</div>

+ 114 - 0
src/main/resources/static/app/storage/grainCard/views/foodHandle-list.html

@@ -0,0 +1,114 @@
1
+<!-- MAIN CONTENT -->
2
+<div id="content">
3
+    <!-- widget grid -->
4
+    <section widget-grid id="widget-grid">
5
+        <div class="row">
6
+            <article class="col-sm-12">
7
+
8
+                <div jarvis-widget id="standard-datatable-widget"
9
+                     data-widget-color="darken" data-widget-editbutton="false">
10
+                    <header>
11
+						<span class="widget-icon"> <i class="fa fa-table"></i>
12
+						</span>
13
+                        <h2>粮情处置</h2>
14
+                    </header>
15
+                    <div>
16
+                        <div class="widget-body no-padding">
17
+                            <div id="DataTables_Table_1_wrapper"
18
+                                 class="dataTables_wrapper form-inline no-footer">
19
+                                <div class="dt-toolbar">
20
+                                    <div class="col-xs-12 col-sm-9">
21
+                                        <div class="form-group">
22
+                                            <a ng-hide="isArchive" class="btn btn-primary btn-sm" ng-click="showAddFood()">
23
+                                                <span class="fa fa-plus"></span>&nbsp;新&nbsp;增
24
+                                            </a>
25
+                                            <label style="margin-left: 10px;"> 仓房名称:
26
+                                                <select ng-model="search.spareOne" class="form-control input-sm"
27
+                                                        ng-options="store.storehouseId as store.storehouseName for store in storehouseObj"
28
+                                                        ng-change="loadWare(search.storehouseCode)">
29
+                                                    <option value="">请选择</option>
30
+                                                </select>&emsp;
31
+                                            </label>
32
+                                            <label> 货位名称:
33
+                                                <select ng-model="search.spareTwo" class="form-control input-sm"
34
+                                                        ng-options="ware.warehouseId as ware.warehouseName for ware in warelist">
35
+                                                    <option value="">请选择</option>
36
+                                                </select>&emsp;
37
+                                            </label>
38
+                                            <a class="btn btn-default btn-sm" ng-click="loadData()">
39
+                                                <i class="fa fa-search"></i>&nbsp;查&nbsp;询
40
+                                            </a>
41
+                                        </div>
42
+                                    </div>
43
+                                    <!-- <div class="col-sm-3 col-xs-6 hidden-xs">
44
+                                        <div class="dataTables_length">
45
+                                            <label>每页显示 <select ng-model="pageInfo.pageSize" ng-change="loadData(pageInfo.pageNum=1)"
46
+                                                ng-options="num as num for num in [10,25,50,100]"
47
+                                                class="form-control input-sm"></select> 条
48
+                                            </label>
49
+                                        </div>
50
+                                    </div> -->
51
+                                </div>
52
+
53
+                                <table class="table table-striped table-bordered table-hover"
54
+                                       width="100%">
55
+                                    <thead>
56
+                                    <tr>
57
+                                        <th class="text-center">序号</th>
58
+                                        <th data-class="expand" class="text-center">仓房名称</th>
59
+                                        <th data-class="expand" class="text-center">货位名称</th>
60
+                                        <th data-hide="expand" class="text-center">粮油品种</th>
61
+                                        <th data-hide="expand" class="text-center">发现粮情日期</th>
62
+                                        <th data-hide="expand" class="text-center">解决情况</th>
63
+                                        <th data-hide="expand" class="text-center">创建日期</th>
64
+                                        <th data-hide="expand" class="text-center">操作</th>
65
+                                    </tr>
66
+                                    </thead>
67
+
68
+                                    <tbody>
69
+                                     <tr ng-repeat="cereals in pageInfo.list">
70
+                                        <td class="text-center">{{$index+1}}</td>
71
+                                        <td class="text-center">{{cereals.storeHouseName}}</td>
72
+                                        <td class="text-center">{{cereals.wareHouseName}}</td>
73
+                                        <td class="text-center">{{cereals.grainOilVarieties}}</td>
74
+                                        <td class="text-center">{{cereals.findGrainDate}}</td>
75
+                                        <td class="text-center">{{cereals.isSolve ? "是" : "否"}}</td>
76
+                                        <td class="text-center">{{cereals.createTime}}</td>
77
+                                        <td class="text-center">
78
+                                            <a href-void ng-click="showViewFood(cereals.id,cereals.spareFour)">查看</a>
79
+                                            <a ng-hide="isArchive" href-void ng-click="showEditFood(cereals.id,cereals.spareOne,cereals.lypzName)">修改</a>
80
+                                            <a ng-hide="isArchive" href-void ng-click="removeFood(cereals.id)">删除</a>
81
+                                        </td>
82
+                                    </tr>
83
+
84
+
85
+                                    <!--<tr>
86
+                                        <td class="text-center">1</td>
87
+                                        <td class="text-center">1</td>
88
+                                        <td class="text-center">1</td>
89
+                                        <td class="text-center">1</td>
90
+                                        <td class="text-center">1</td>
91
+                                        <td class="text-center">1</td>
92
+                                        <td class="text-center">
93
+                                            <a href-void ng-click="checkProductGrainList(cereals.id)">查看</a>
94
+                                            <a href-void ng-click="editProductGrainList(cereals.id,cereals.spareOne,cereals.lypzName)">修改</a>
95
+                                        </td>
96
+                                    </tr>-->
97
+                                   
98
+                                    </tbody>
99
+
100
+                                </table>
101
+                                <div smart-include="app/layout/partials/page.tpl.html"></div>
102
+                            </div>
103
+                        </div>
104
+                    </div>
105
+                </div>
106
+            </article>
107
+        </div>
108
+
109
+    </section>
110
+
111
+</div>
112
+
113
+
114
+

+ 78 - 1
src/main/resources/static/app/storage/module.js

@@ -558,8 +558,34 @@ angular.module('app.storage', ['ui.router', 'datatables', 'datatables.bootstrap'
558 558
                 }
559 559
             })
560 560
 
561
-//成品粮粮情卡
561
+//粮情处置
562
+.state('app.storage.foodHandle', {
563
+    url: '/foodHandle',
564
+    data: {
565
+        title: '粮情处置'
566
+    },
567
+    views: {
568
+        "content@app": {
569
+            controller: 'foodHandleCtr',
570
+            templateUrl: 'app/storage/grainCard/views/foodHandle-list.html'
571
+        }
572
+    }
573
+})
574
+//粮情处置新增/编辑
575
+.state('app.storage.foodHandle.add', {
576
+    url: '/foodHandle/add/:id/:isNotEdit',
577
+    data: {
578
+        title: '新增'
579
+    },
580
+    views: {
581
+        "content@app": {
582
+            controller: 'foodHandleSave',
583
+            templateUrl: 'app/storage/grainCard/views/foodHandle-edit.html'
584
+        }
585
+    }
586
+})
562 587
 
588
+//成品粮粮情卡
563 589
 .state('app.storage.productGrain', {
564 590
     url: '/productGrain/:id/:spareOne/:lypzName',
565 591
     data: {
@@ -627,6 +653,57 @@ angular.module('app.storage', ['ui.router', 'datatables', 'datatables.bootstrap'
627 653
                 }
628 654
             })
629 655
 
656
+            // 安全风险等级管控
657
+            .state('app.storage.safeproduce.safeRiskLevelCtrl', {
658
+                url: '/safeproduce/riskLevelCtrl',
659
+                data: {
660
+                    title: '安全风险分级管控'
661
+                },
662
+                views: {
663
+                    "content@app": {
664
+                        controller: 'safeProduceRiskCtrl',
665
+                        templateUrl: 'app/storage/views/safeproduce/safeRiskLevelCtrl-list.html'
666
+                    }
667
+                }
668
+            })
669
+            .state('app.storage.safeproduce.safeRiskAdd', {
670
+                url: '/safeproduce/riskLevelCtrl/:id/:isNotEdit',
671
+                data: {
672
+                    title: '安全风险分级管控编辑'
673
+                },
674
+                views: {
675
+                    "content@app": {
676
+                        controller: 'safeProduceRiskCtrlSave',
677
+                        templateUrl: 'app/storage/views/safeproduce/safeRiskLevelCtrl-edit.html'
678
+                    }
679
+                }
680
+            })
681
+            // 安全隐患跟踪处理
682
+            .state('app.storage.safeproduce.safeDangerHandle', {
683
+                url: '/safeproduce/dangerHandle',
684
+                data: {
685
+                    title: '安全隐患跟踪处理'
686
+                },
687
+                views: {
688
+                    "content@app": {
689
+                        controller: 'safeProduceDangerHandle',
690
+                        templateUrl: 'app/storage/views/safeproduce/safeDangerHandle-list.html'
691
+                    }
692
+                }
693
+            })
694
+            .state('app.storage.safeproduce.safeProduceDangerHandleSave', {
695
+                url: '/safeproduce/dangerHandle/:id/:isNotEdit',
696
+                data: {
697
+                    title: '安全隐患跟踪处理编辑'
698
+                },
699
+                views: {
700
+                    "content@app": {
701
+                        controller: 'safeProduceDangerHandleSave',
702
+                        templateUrl: 'app/storage/views/safeproduce/safeDangerHandle-edit.html'
703
+                    }
704
+                }
705
+            })
706
+
630 707
             /*--------------安全生产通知---------------*/
631 708
             .state('app.storage.safeproduce.notifyList', {
632 709
                 url: '/safeproduce/list',

+ 118 - 0
src/main/resources/static/app/storage/service/safeDangerHandleService.js

@@ -0,0 +1,118 @@
1
+"use strict";
2
+
3
+angular
4
+  .module("app.storage")
5
+  .service(
6
+    "safeDangerHandleService",
7
+    function ($http, $q, APP_CONFIG, $rootScope) {
8
+      // 安全隐患跟踪处理
9
+      this.getPageInfo = function (pageNum, pageSize) {
10
+        var d = $q.defer();
11
+        $http({
12
+          method: "GET",
13
+          url: APP_CONFIG.depotStorageUrl + "/riskFollow/getList",
14
+          params: {
15
+            pageNum: pageNum,
16
+            pageSize: pageSize,
17
+            orgId: $rootScope.orgInfo.orgId,
18
+          },
19
+        }).then(
20
+          function successCallback(response) {
21
+            // 请求成功执行代码
22
+            d.resolve(response.data);
23
+          },
24
+          function errorCallback(response) {
25
+            // 请求失败执行代码
26
+            d.reject("error");
27
+          }
28
+        );
29
+        return d.promise;
30
+      };
31
+      // 保存
32
+      this.save = function (data) {
33
+        var d = $q.defer();
34
+        $http({
35
+          method: "POST",
36
+          url: APP_CONFIG.depotStorageUrl + "/riskFollow/saveData",
37
+          data: {
38
+            riskJson: data,
39
+          },
40
+        }).then(
41
+          function successCallback(response) {
42
+            console.log("success", response);
43
+            // 请求成功执行代码
44
+            d.resolve(response.data);
45
+          },
46
+          function errorCallback(response) {
47
+            console.log("error", response);
48
+            // 请求失败执行代码
49
+            d.reject("error");
50
+          }
51
+        );
52
+        return d.promise;
53
+      };
54
+      // 删除
55
+      this.removeById = function (id) {
56
+        var d = $q.defer();
57
+        $http({
58
+          method: "POST",
59
+          url: APP_CONFIG.depotStorageUrl + "/riskFollow/deleteRisk",
60
+          data: {
61
+            id: id,
62
+          },
63
+        }).then(
64
+          function successCallback(response) {
65
+            // 请求成功执行代码
66
+            d.resolve(response.data);
67
+          },
68
+          function errorCallback(response) {
69
+            // 请求失败执行代码
70
+            d.reject("error");
71
+          }
72
+        );
73
+        return d.promise;
74
+      };
75
+      // 根据Id查询
76
+      this.queryById = function(id) {
77
+        var d = $q.defer();
78
+        $http({
79
+          method: "GET",
80
+          url: APP_CONFIG.depotStorageUrl + "/riskFollow/queryById",
81
+          params: {
82
+            id,
83
+          },
84
+        }).then(
85
+          function successCallback(response) {
86
+            // 请求成功执行代码
87
+            d.resolve(response.data);
88
+          },
89
+          function errorCallback(response) {
90
+            // 请求失败执行代码
91
+            d.reject("error");
92
+          }
93
+        );
94
+        return d.promise;
95
+      };
96
+      // 编辑
97
+      this.updateRask = function(data) {
98
+        var d = $q.defer();
99
+        $http({
100
+          method: "POST",
101
+          url: APP_CONFIG.depotStorageUrl + "/riskFollow/updateData",
102
+          data: {
103
+            riskJson: data,
104
+          },
105
+        }).then(
106
+          function successCallback(response) {
107
+            // 请求成功执行代码
108
+            d.resolve(response.data);
109
+          },
110
+          function errorCallback(response) {
111
+            // 请求失败执行代码
112
+            d.reject("error");
113
+          }
114
+        );
115
+        return d.promise;
116
+      }
117
+    }
118
+  );

+ 120 - 0
src/main/resources/static/app/storage/service/safeProduceRiskService.js

@@ -0,0 +1,120 @@
1
+"use strict";
2
+
3
+angular
4
+  .module("app.storage")
5
+  .service(
6
+    "safeProduceRiskService",
7
+    function ($http, $q, APP_CONFIG, $rootScope) {
8
+      // 安全风险分级管控分页列表
9
+      this.getPageInfo = function (pageNum, pageSize, startDate, endDate) {
10
+        var d = $q.defer();
11
+        $http({
12
+          method: "GET",
13
+          url: APP_CONFIG.depotStorageUrl + "/riskManagement/getList",
14
+          params: {
15
+            pageNum: pageNum,
16
+            pageSize: pageSize,
17
+            // startDate,
18
+            // endDate,
19
+            orgId: $rootScope.orgInfo.orgId,
20
+          },
21
+        }).then(
22
+          function successCallback(response) {
23
+            // 请求成功执行代码
24
+            d.resolve(response.data);
25
+          },
26
+          function errorCallback(response) {
27
+            // 请求失败执行代码
28
+            d.reject("error");
29
+          }
30
+        );
31
+        return d.promise;
32
+      };
33
+      // 保存
34
+      this.save = function (data) {
35
+        var d = $q.defer();
36
+        $http({
37
+          method: "POST",
38
+          url: APP_CONFIG.depotStorageUrl + "/riskManagement/saveData",
39
+          data: {
40
+            riskJson: data,
41
+          },
42
+        }).then(
43
+          function successCallback(response) {
44
+            console.log("success", response);
45
+            // 请求成功执行代码
46
+            d.resolve(response.data);
47
+          },
48
+          function errorCallback(response) {
49
+            console.log("error", response);
50
+            // 请求失败执行代码
51
+            d.reject("error");
52
+          }
53
+        );
54
+        return d.promise;
55
+      };
56
+      // 删除
57
+      this.removeById = function (id) {
58
+        var d = $q.defer();
59
+        $http({
60
+          method: "POST",
61
+          url: APP_CONFIG.depotStorageUrl + "/riskManagement/deleteRisk",
62
+          data: {
63
+            id: id,
64
+          },
65
+        }).then(
66
+          function successCallback(response) {
67
+            // 请求成功执行代码
68
+            d.resolve(response.data);
69
+          },
70
+          function errorCallback(response) {
71
+            // 请求失败执行代码
72
+            d.reject("error");
73
+          }
74
+        );
75
+        return d.promise;
76
+      };
77
+      // 根据Id查询
78
+      this.queryById = function(id) {
79
+        var d = $q.defer();
80
+        $http({
81
+          method: "GET",
82
+          url: APP_CONFIG.depotStorageUrl + "/riskManagement/queryById",
83
+          params: {
84
+            id,
85
+          },
86
+        }).then(
87
+          function successCallback(response) {
88
+            // 请求成功执行代码
89
+            d.resolve(response.data);
90
+          },
91
+          function errorCallback(response) {
92
+            // 请求失败执行代码
93
+            d.reject("error");
94
+          }
95
+        );
96
+        return d.promise;
97
+      };
98
+      // 编辑
99
+      this.updateRask = function(data) {
100
+        var d = $q.defer();
101
+        $http({
102
+          method: "POST",
103
+          url: APP_CONFIG.depotStorageUrl + "/riskManagement/updateData",
104
+          data: {
105
+            riskJson: data,
106
+          },
107
+        }).then(
108
+          function successCallback(response) {
109
+            // 请求成功执行代码
110
+            d.resolve(response.data);
111
+          },
112
+          function errorCallback(response) {
113
+            // 请求失败执行代码
114
+            d.reject("error");
115
+          }
116
+        );
117
+        return d.promise;
118
+      }
119
+    }
120
+  );

+ 232 - 0
src/main/resources/static/app/storage/views/safeproduce/safeDangerHandle-edit.html

@@ -0,0 +1,232 @@
1
+<div id="content">
2
+  <section id="widget-grid" widget-grid>
3
+    <div class="row">
4
+      <article class="col-sm-12 col-md-12 col-lg-12">
5
+        <div
6
+          jarvis-widget
7
+          id="form-grid-widget"
8
+          data-widget-colorbutton="false"
9
+          data-widget-editbutton="false"
10
+          data-widget-custombutton="false"
11
+        >
12
+          <div>
13
+            <div class="widget-body no-padding">
14
+              <form
15
+                id="safeDangerHandle-form"
16
+                class="smart-form"
17
+                data-validator-option="validateOptions"
18
+                novalidate="novalidate"
19
+              >
20
+                <button
21
+                  type="submit"
22
+                  class="bv-hidden-submit"
23
+                  style="display: none; width: 0px; height: 0px"
24
+                ></button>
25
+                <header>
26
+                  <a
27
+                    href-void
28
+                    class="btn btn-default btn-xs"
29
+                    ng-click="backLayer()"
30
+                  >
31
+                    <i class="fa fa-angle-left"></i>&nbsp;返回&nbsp;
32
+                  </a>
33
+                  &nbsp;<strong>安全隐患跟踪处理</strong>
34
+                </header>
35
+                <fieldset>
36
+                  <div class="row">
37
+                    <section class="col col-3">
38
+                      <label class="label"
39
+                        >单位名称<span style="color: red">*</span></label
40
+                      >
41
+                      <label class="input">
42
+                        <input
43
+                          type="text"
44
+                          ng-model="orgName"
45
+                          name="orgName"
46
+                          ng-disabled="isNotEdit"
47
+                          required
48
+                          readonly="true"
49
+                        />
50
+                      </label>
51
+                    </section>
52
+                    <section class="form-group col col-3">
53
+                      <label class="label"
54
+                        >整改时限<span style="color: red">*</span></label
55
+                      >
56
+                      <label class="select">
57
+                        <input
58
+                        style="padding: 5px 10px;box-sizing: border-box;"
59
+                          ng-disabled="isNotEdit"
60
+                          class="form-control"
61
+                          type="text"
62
+                          ng-model="insertDanger.solveTime"
63
+                          id="solveTime"
64
+                          name="solveTime"
65
+                          onClick="WdatePicker({lang:'zh-cn'})"
66
+                        />
67
+                      </label>
68
+                    </section>
69
+                    <section class="col col-3">
70
+                      <label class="label"
71
+                        >责任单位<span style="color: red">*</span></label
72
+                      >
73
+                      <label class="input">
74
+                        <input
75
+                          type="text"
76
+                          ng-model="insertDanger.responsibleDept"
77
+                          name="responsibleDept"
78
+                          required
79
+                          ng-disabled="isNotEdit"
80
+                        />
81
+                      </label>
82
+                    </section>
83
+                    <section class="col col-3">
84
+                      <label class="label"
85
+                        >责任人<span style="color: red">*</span></label
86
+                      >
87
+                      <label class="input">
88
+                        <input
89
+                          type="text"
90
+                          ng-model="insertDanger.responsiblePerson"
91
+                          name="responsiblePerson"
92
+                          required
93
+                          ng-disabled="isNotEdit"
94
+                        />
95
+                      </label>
96
+                    </section>
97
+                  </div>
98
+                  <!-- <div class="row">
99
+                    <section class="col col-3">
100
+                      <label class="label"
101
+                        >仓房名称<span style="color: red">*</span></label
102
+                      >
103
+                      <label class="input">
104
+                        <select
105
+                          ng-model="storehouseId"
106
+                          class="form-control input-sm"
107
+                          ng-options="store.storehouseId as store.storehouseName for store in storeHouseList"
108
+                        >
109
+                          <option value="">请选择</option></select
110
+                        >&emsp;
111
+                      </label>
112
+                    </section>
113
+                    <section class="col col-3">
114
+                      <label class="label"
115
+                        >货位名称<span style="color: red">*</span></label
116
+                      >
117
+                      <label class="input">
118
+                        <select
119
+                          ng-model="storehouseId"
120
+                          class="form-control input-sm"
121
+                          ng-options="store.storehouseId as store.storehouseName for store in storeHouseList"
122
+                        >
123
+                          <option value="">请选择</option></select
124
+                        >&emsp;
125
+                      </label>
126
+                    </section>
127
+                  </div> -->
128
+                  <div class="row">
129
+                    <section class="col col-12" style="width: 100%">
130
+                      <label class="label"
131
+                        >隐患信息<span style="color: red">*</span></label
132
+                      >
133
+                      <label class="input">
134
+                        <input
135
+                          type="text"
136
+                          ng-model="insertDanger.riskInfo"
137
+                          ng-disabled="isNotEdit"
138
+                          name="riskInfo"
139
+                          required
140
+                        />
141
+                      </label>
142
+                    </section>
143
+                  </div>
144
+                  <div class="row">
145
+                    <section class="col col-12" style="width: 100%">
146
+                      <label class="label"
147
+                        >隐患排查信息<span style="color: red">*</span></label
148
+                      >
149
+                      <label class="input">
150
+                        <input
151
+                          type="text"
152
+                          ng-model="insertDanger.riskCheck"
153
+                          ng-disabled="isNotEdit"
154
+                          name="riskCheck"
155
+                          required
156
+                        />
157
+                      </label>
158
+                    </section>
159
+                  </div>
160
+                  <div class="row">
161
+                    <section class="col col-12" style="width: 100%">
162
+                      <label class="label"
163
+                        >隐患整改验收信息<span style="color: red"
164
+                          >*</span
165
+                        ></label
166
+                      >
167
+                      <label class="input">
168
+                        <input
169
+                          type="text"
170
+                          ng-model="insertDanger.riskSolve"
171
+                          ng-disabled="isNotEdit"
172
+                          required
173
+                          name="riskSolve"
174
+                        />
175
+                      </label>
176
+                    </section>
177
+                  </div>
178
+                  <div class="row">
179
+                    <section class="col col-12" style="width: 100%">
180
+                      <label class="label"
181
+                        >事故基本信息<span style="color: red">*</span></label
182
+                      >
183
+                      <label class="input">
184
+                        <input
185
+                          type="text"
186
+                          ng-model="insertDanger.baseRiskInfo"
187
+                          ng-disabled="isNotEdit"
188
+                          name="baseRiskInfo"
189
+                          required
190
+                        />
191
+                      </label>
192
+                    </section>
193
+                  </div>
194
+                  <div class="row">
195
+                    <section class="col col-12" style="width: 100%">
196
+                      <label class="label">整改验收信息</label>
197
+                      <label class="input">
198
+                        <input
199
+                          type="text"
200
+                          ng-model="insertDanger.solveCheckInfo"
201
+                          ng-disabled="isNotEdit"
202
+                          name="solveCheckInfo"
203
+                        />
204
+                      </label>
205
+                    </section>
206
+                  </div>
207
+                </fieldset>
208
+                <footer class="modal-footer text-align-center">
209
+                  <button
210
+                    ng-click="back()"
211
+                    class="btn btn-default btn-lg"
212
+                    data-dismiss="modal"
213
+                  >
214
+                    取消
215
+                  </button>
216
+                  <button
217
+                    ng-click="saveData()"
218
+                    type="button"
219
+                    class="btn btn-primary btn-lg"
220
+                    ng-hide="isNotEdit"
221
+                  >
222
+                    提交
223
+                  </button>
224
+                </footer>
225
+              </form>
226
+            </div>
227
+          </div>
228
+        </div>
229
+      </article>
230
+    </div>
231
+  </section>
232
+</div>

+ 69 - 0
src/main/resources/static/app/storage/views/safeproduce/safeDangerHandle-list.html

@@ -0,0 +1,69 @@
1
+<!-- MAIN CONTENT -->
2
+<div id="content">
3
+  <!-- widget grid -->
4
+  <section widget-grid id="widget-grid">
5
+      <div class="row">
6
+          <article class="col-sm-12">
7
+
8
+              <div jarvis-widget id="standard-datatable-widget" data-widget-color="darken" data-widget-editbutton="false">
9
+                  <header>
10
+                      <span class="widget-icon"> <i class="fa fa-table"></i> </span>
11
+                      <h2>安全隐患跟踪处理</h2>
12
+                  </header>
13
+                  <div>
14
+                      <div class="widget-body no-padding">
15
+                          <div id="DataTables_Table_1_wrapper" class="dataTables_wrapper form-inline no-footer">
16
+                              <div class="dt-toolbar" style="display: flex;justify-content: space-between;">
17
+                                  <div class="col-xs-3 col-sm-1">
18
+                                      <a has-permission="578" href-void class="btn btn-primary btn-sm" ng-click="showAddDanger()"><i class="fa fa-plus"></i>&nbsp;新&nbsp;增</a>
19
+                                  </div>
20
+                                  <div class="col-sm-5 col-xs-6 hidden-xs">
21
+                                      <div class="dataTables_length" id="DataTables_Table_8_length">
22
+                                          <label>每页显示 <select ng-model="pageInfo.pageSize" ng-change="loadData(pageInfo.pageNum=1)"
23
+                                                              ng-options="num as num for num in [10,25,50,100]"
24
+                                                              class="form-control input-sm"></select> 条
25
+                                          </label>
26
+                                      </div>
27
+                                  </div>
28
+                              </div>
29
+
30
+                              <table class="table table-striped table-bordered table-hover" width="100%">
31
+                                  <thead>
32
+                                  <tr>
33
+                                      <th data-hide="expand">序号</th>
34
+                                      <th data-class="expand">库区名称</th>
35
+                                      <!-- <th data-class="expand">货位名称</th> -->
36
+                                      <th data-hide="expand">隐患信息</th>
37
+                                      <th data-hide="expand">隐患排查信息</th>
38
+                                      <th data-hide="expand">隐患整改信息</th>
39
+                                      <th data-hide="expand"> 操作</th>
40
+                                  </tr>
41
+                                  </thead>
42
+
43
+                                  <tbody>
44
+                                  <tr ng-repeat="listItem in pageInfo.list">
45
+                                      <td>{{ $index + 1 }}</td>
46
+                                      <td>{{ orgName }}</td>
47
+                                      <!-- <td>{{ listItem.warehouseName }}</td> -->
48
+                                      <td>{{ listItem.riskInfo }}</td>
49
+                                      <td>{{ listItem.riskCheck }}</td>
50
+                                      <td>{{ listItem.riskSolve }}</td>
51
+                                      <td>
52
+                                          <a has-permission="579" href-void ng-click="showViewDanger(listItem.id)"><i class="fa fa-info-circle"></i>查看</a>
53
+                                          <a has-permission="580" href-void ng-click="showEditDanger(listItem.id)"><i class="fa fa-edit"></i>修改</a>
54
+                                          <a has-permission="581" href-void ng-click="removeDanger(listItem.id)"><i class="fa fa-trash-o"></i>删除</a>
55
+                                      </td>
56
+                                  </tr>
57
+                                  </tbody>
58
+
59
+                              </table>
60
+
61
+                              <div smart-include="app/layout/partials/page.tpl.html"></div>
62
+                          </div>
63
+                      </div>
64
+                  </div>
65
+              </div>
66
+          </article>
67
+      </div>
68
+  </section>
69
+</div>

+ 116 - 0
src/main/resources/static/app/storage/views/safeproduce/safeRiskLevelCtrl-edit.html

@@ -0,0 +1,116 @@
1
+<div id="content">
2
+  <section id="widget-grid" widget-grid>
3
+      <div class="row">
4
+          <article class="col-sm-12 col-md-12 col-lg-12">
5
+              <div jarvis-widget id="form-grid-widget" data-widget-colorbutton="false" data-widget-editbutton="false"
6
+                   data-widget-custombutton="false">
7
+                  <div>
8
+                      <div class="widget-body no-padding">
9
+                          <form id="safeProduceNotify-form" class="smart-form" data-validator-option="validateOptions" novalidate="novalidate">
10
+                              <button type="submit" class="bv-hidden-submit" style="display: none; width: 0px; height: 0px;"></button>
11
+                              <header>
12
+                                  <a href-void class="btn btn-default btn-xs" ng-click="backLayer()">
13
+                                      <i class="fa fa-angle-left"></i>&nbsp;返回&nbsp;
14
+                                  </a>
15
+                                  &nbsp;<strong>安全风险分级管控</strong>
16
+                              </header>
17
+                              <fieldset>
18
+                                  <div class="row">
19
+                                      <section class="col col-3">
20
+                                          <label class="label">库点名称<span style="color: red;">*</span></label>
21
+                                          <label class="input">
22
+                                              <input type="text" ng-model="insertRisk.libraryPointName" name="fileName"  ng-disabled="isNotEdit" required>
23
+                                          </label>
24
+                                      </section>
25
+                                      <section class="col col-3">
26
+                                          <label class="label">识别人<span style="color: red;">*</span></label>
27
+                                          <label class="input">
28
+                                              <input type="text" ng-model="insertRisk.identifyPerson" name="operationTime" required>
29
+                                          </label>
30
+                                      </section>
31
+                                      <section class="col col-3">
32
+                                          <label class="label">环节部位<span style="color: red;">*</span></label>
33
+                                          <label class="input">
34
+                                              <input type="text" ng-model="insertRisk.linkPart" name="linkPart">
35
+                                          </label>
36
+                                      </section>
37
+                                      <section class="col col-3">
38
+                                          <label class="label">风险分级<span style="color: red;">*</span></label>
39
+                                          <label class="select">
40
+                                            <select 
41
+                                                ng-model="insertRisk.riskClassification"
42
+                                                name="riskClassification" class="form-control input-sm"
43
+                                                ng-options="item.id as item.value for item in fxfjList"
44
+                                                    ng-change="loadWare(houseId)" required>
45
+                                                <option value="">请选择</option>
46
+                                            </select> <i></i>
47
+                                        </label>
48
+                                      </section>
49
+                                  </div>
50
+                                  <div class="row">
51
+                                      <section class="col col-3">
52
+                                          <label class="label">风险类型<span style="color: red;">*</span></label>
53
+                                          <label class="select">
54
+                                            <select 
55
+                                                ng-model="insertRisk.riskTypeName"
56
+                                                name="riskTypeName" class="form-control input-sm"
57
+                                                ng-options="item.id as item.value for item in fxlxList"
58
+                                                    ng-change="loadWare(houseId)" required>
59
+                                                <option value="">请选择</option>
60
+                                            </select> <i></i>
61
+                                        </label>
62
+                                      </section>
63
+                                  </div>
64
+                                  <div class="row">
65
+                                        <section class="col col-12" style="width: 100%;">
66
+                                            <label class="label">风险识别</label>
67
+                                            <label class="textarea textarea-resizable">
68
+                                                <textarea rows="5" class="custom-scroll"  ng-model="insertRisk.riskIdentification"  ng-disabled="isNotEdit" name="riskIdentification"></textarea>
69
+                                            </label>
70
+                                        </section>
71
+                                    </div>
72
+                                  <div class="row">
73
+                                        <section class="col col-12" style="width: 100%;">
74
+                                            <label class="label">可能导致事故类型</label>
75
+                                            <label class="textarea textarea-resizable">
76
+                                                <textarea rows="5" class="custom-scroll"  ng-model="insertRisk.accidentType"  ng-disabled="isNotEdit" name="accidentType"></textarea>
77
+                                            </label>
78
+                                        </section>
79
+                                    </div>
80
+                                  <div class="row">
81
+                                        <section class="col col-12" style="width: 100%;">
82
+                                            <label class="label">风险管控措施<span style="color: red;">*</span></label>
83
+                                            <label class="textarea textarea-resizable">
84
+                                                <textarea rows="5" class="custom-scroll"  ng-model="insertRisk.riskMeasures" 
85
+                                                required
86
+                                                ng-disabled="isNotEdit" name="riskMeasures"></textarea>
87
+                                            </label>
88
+                                        </section>
89
+                                    </div>
90
+                                    <div class="row">
91
+                                        <section class="col col-3">
92
+                                            <label class="label">责任部门</label>
93
+                                            <label class="input">
94
+                                                <input type="text" ng-model="insertRisk.responsibleDept" name="responsibleDept" placeholder="责任部门"  ng-disabled="isNotEdit" required>
95
+                                            </label>
96
+                                        </section>
97
+                                        <section class="col col-3">
98
+                                            <label class="label">责任人</label>
99
+                                            <label class="input">
100
+                                                <input type="text" ng-model="insertRisk.responsiblePerson" name="responsiblePerson" placeholder="责任人" ng-disabled="isNotEdit" required>
101
+                                            </label>
102
+                                        </section>
103
+                                    </div>
104
+                              </fieldset>
105
+                              <footer class="modal-footer text-align-center">
106
+                                  <button ng-click="back()" class="btn btn-default btn-lg" data-dismiss="modal">取消</button>
107
+                                  <button ng-click="saveData()" type="button" class="btn btn-primary btn-lg" ng-hide="isNotEdit">提交</button>
108
+                              </footer>
109
+                          </form>
110
+                      </div>
111
+                  </div>
112
+              </div>
113
+          </article>
114
+      </div>
115
+  </section>
116
+</div>

+ 144 - 0
src/main/resources/static/app/storage/views/safeproduce/safeRiskLevelCtrl-list.html

@@ -0,0 +1,144 @@
1
+<!-- MAIN CONTENT -->
2
+<div id="content">
3
+  <!-- widget grid -->
4
+  <section widget-grid id="widget-grid">
5
+    <div class="row">
6
+      <article class="col-sm-12">
7
+        <div
8
+          jarvis-widget
9
+          id="standard-datatable-widget"
10
+          data-widget-color="darken"
11
+          data-widget-editbutton="false"
12
+        >
13
+          <header>
14
+            <span class="widget-icon"> <i class="fa fa-table"></i> </span>
15
+            <h2>安全风险分级管控</h2>
16
+          </header>
17
+          <div>
18
+            <div class="widget-body no-padding">
19
+              <div
20
+                id="DataTables_Table_1_wrapper"
21
+                class="dataTables_wrapper form-inline no-footer"
22
+              >
23
+                <div class="dt-toolbar">
24
+                  <div class="col-xs-3 col-sm-1">
25
+                    <a
26
+                      has-permission="578"
27
+                      href-void
28
+                      class="btn btn-primary btn-sm"
29
+                      ng-click="showAddRisk()"
30
+                      ><i class="fa fa-plus"></i>&nbsp;新&nbsp;增</a
31
+                    >
32
+                  </div>
33
+                  <div class="col-xs-12 col-sm-6">
34
+                    <div class="form-group">
35
+                      <label>
36
+                        日期:&emsp;<input
37
+                          style="width: 100px"
38
+                          class="form-control"
39
+                          type="text"
40
+                          ng-model="search.searchStartDate"
41
+                          id="searchStartDate"
42
+                          name="searchStartDate"
43
+                          onClick="WdatePicker({lang:'zh-cn',maxDate:'#F{$dp.$D(\'searchEndDate\')}'})"
44
+                        />
45
+                        --&nbsp;<input
46
+                          style="width: 100px"
47
+                          ng-disabled="isArchive"
48
+                          class="form-control"
49
+                          type="text"
50
+                          ng-model="search.searchEndDate"
51
+                          id="searchEndDate"
52
+                          name="searchEndDate"
53
+                          onClick="WdatePicker({lang:'zh-cn',minDate:'#F{$dp.$D(\'searchStartDate\')}'})"
54
+                        />
55
+                        &emsp;
56
+                      </label>
57
+                      <a class="btn btn-default btn-sm" ng-click="loadData()">
58
+                        <i class="fa fa-search"></i>&nbsp;查&nbsp;询</a
59
+                      >
60
+                      <a class="btn btn-primary btn-sm" id="print" ng-click="print()">
61
+                        <i class="fa fa-print"></i>&nbsp;打&nbsp;印</a
62
+                      >
63
+                    </div>
64
+                  </div>
65
+                  <div class="col-sm-5 col-xs-6 hidden-xs">
66
+                    <div
67
+                      class="dataTables_length"
68
+                      id="DataTables_Table_8_length"
69
+                    >
70
+                      <label
71
+                        >每页显示
72
+                        <select
73
+                          ng-model="pageInfo.pageSize"
74
+                          ng-change="loadData(pageInfo.pageNum=1)"
75
+                          ng-options="num as num for num in [10,25,50,100]"
76
+                          class="form-control input-sm"
77
+                        ></select>
78
+                        条
79
+                      </label>
80
+                    </div>
81
+                  </div>
82
+                </div>
83
+
84
+                <table
85
+                  class="table table-striped table-bordered table-hover"
86
+                  width="100%"
87
+                >
88
+                  <thead>
89
+                    <tr>
90
+                      <th data-hide="expand">序号</th>
91
+                      <th data-class="expand">环节/部位</th>
92
+                      <th data-class="expand">风险辨识</th>
93
+                      <th data-hide="expand">风险等级</th>
94
+                      <th data-hide="expand">可能导致事故类型</th>
95
+                      <th data-hide="expand">风险管控措施</th>
96
+                      <th data-hide="expand">责任部门</th>
97
+                      <th data-hide="expand">责任人</th>
98
+                      <th data-hide="expand">操作</th>
99
+                    </tr>
100
+                  </thead>
101
+
102
+                  <tbody>
103
+                    <tr ng-repeat="listItem in pageInfo.list">
104
+                      <td>{{ $index + 1}}</td>
105
+                      <td>{{ listItem.linkPart }}</td>
106
+                      <td>{{ listItem.riskIdentification }}</td>
107
+                      <td>{{listItem.riskClassification}}</td>
108
+                      <td>{{ listItem.accidentType }}</td>
109
+                      <td>{{ listItem.riskMeasures }}</td>
110
+                      <td>{{ listItem.responsibleDept }}</td>
111
+                      <td>{{ listItem.responsiblePerson }}</td>
112
+                      <td>
113
+                        <a
114
+                          has-permission="579"
115
+                          href-void
116
+                          ng-click="showViewRisk(listItem.id)"
117
+                          ><i class="fa fa-info-circle"></i>查看</a
118
+                        >
119
+                        <a
120
+                          has-permission="580"
121
+                          href-void
122
+                          ng-click="showEditRisk(listItem.id)"
123
+                          ><i class="fa fa-edit"></i>修改</a
124
+                        >
125
+                        <a
126
+                          has-permission="581"
127
+                          href-void
128
+                          ng-click="removeRisk(listItem.id)" 
129
+                          ><i class="fa fa-trash-o"></i>删除</a
130
+                        >
131
+                      </td>
132
+                    </tr>
133
+                  </tbody>
134
+                </table>
135
+
136
+                <div smart-include="app/layout/partials/page.tpl.html"></div>
137
+              </div>
138
+            </div>
139
+          </div>
140
+        </div>
141
+      </article>
142
+    </div>
143
+  </section>
144
+</div>

+ 0 - 77
src/main/resources/static/bower_components/echarts/build/.jshintrc

@@ -1,77 +0,0 @@
1
-{
2
-    "bitwise": false,
3
-    "camelcase": true,
4
-    "curly": true,
5
-    "eqeqeq": false,
6
-    "forin": false,
7
-    "immed": true,
8
-    "latedef": false,
9
-    "newcap": true,
10
-    "noarg": false,
11
-    "noempty": true,
12
-    "nonew": true,
13
-    "plusplus": false,
14
-    "quotmark": "single",
15
-    "regexp": false,
16
-    "undef": true,
17
-    "unused": "vars",
18
-    "strict": false,
19
-    "trailing": false,
20
-    "maxparams": 20,
21
-    "maxdepth": 6,
22
-    "maxlen": 200,
23
-
24
-    "asi": false,
25
-    "boss": false,
26
-    "debug": false,
27
-    "eqnull": true,
28
-    "esversion": 6,
29
-    "evil": true,
30
-    "expr": true,
31
-    "funcscope": false,
32
-    "globalstrict": false,
33
-    "iterator": false,
34
-    "lastsemic": false,
35
-    "laxbreak": true,
36
-    "laxcomma": false,
37
-    "loopfunc": false,
38
-    "multistr": false,
39
-    "onecase": false,
40
-    "proto": false,
41
-    "regexdash": false,
42
-    "scripturl": false,
43
-    "smarttabs": false,
44
-    "shadow": true,
45
-    "sub": true,
46
-    "supernew": false,
47
-    "validthis": true,
48
-
49
-    "browser": true,
50
-    "couch": false,
51
-    "devel": true,
52
-    "dojo": false,
53
-    "jquery": true,
54
-    "mootools": false,
55
-    "node": false,
56
-    "nonstandard": false,
57
-    "prototypejs": false,
58
-    "rhino": false,
59
-    "wsh": false,
60
-
61
-    "nomen": false,
62
-    "onevar": false,
63
-    "passfail": false,
64
-    "white": false,
65
-
66
-    "varstmt": true,
67
-
68
-    "predef": [
69
-        "__DEV__",
70
-        "global",
71
-        "require",
72
-        "exports",
73
-        "Buffer",
74
-        "module",
75
-        "__dirname"
76
-    ]
77
-}

+ 0 - 160
src/main/resources/static/bower_components/echarts/build/amd2common.js

@@ -1,160 +0,0 @@
1
-var glob = require('glob');
2
-var fsExtra = require('fs-extra');
3
-var esprima = require('esprima');
4
-
5
-function run(cb) {
6
-    glob('**/*.js', {
7
-        cwd: __dirname + '/../src/'
8
-    }, function (err, files) {
9
-        files.forEach(function (filePath) {
10
-            var code = parse(fsExtra.readFileSync(
11
-                __dirname + '/../src/' + filePath, 'utf-8'));
12
-            code = code.replace(/require\(([\'"])zrender\//g, 'require($1zrender/lib/');
13
-            fsExtra.outputFileSync(
14
-                __dirname + '/../lib/' + filePath,
15
-                code, 'utf-8');
16
-        });
17
-
18
-        cb && cb();
19
-    });
20
-}
21
-
22
-if (require.main === module) {
23
-    run();
24
-}
25
-else {
26
-    module.exports = run;
27
-}
28
-
29
-var MAGIC_DEPS = {
30
-    'exports' : true,
31
-    'module' : true,
32
-    'require' : true
33
-};
34
-
35
-var SIMPLIFIED_CJS = ['require', 'exports', 'module'];
36
-
37
-// Convert AMD-style JavaScript string into node.js compatible module
38
-function parse (raw){
39
-    var output = '';
40
-    var ast = esprima.parse(raw, {
41
-        range: true,
42
-        raw: true
43
-    });
44
-
45
-    var defines = ast.body.filter(isDefine);
46
-
47
-    if ( defines.length > 1 ){
48
-        throw new Error('Each file can have only a single define call. Found "'+ defines.length +'"');
49
-    } else if (!defines.length){
50
-        return raw;
51
-    }
52
-
53
-    var def = defines[0];
54
-    var args = def.expression['arguments'];
55
-    var factory = getFactory( args );
56
-    var useStrict = getUseStrict( factory );
57
-
58
-    // do replacements in-place to avoid modifying the code more than needed
59
-    if (useStrict) {
60
-        output += useStrict.expression.raw +';\n';
61
-    }
62
-    output += raw.substring( 0, def.range[0] ); // anything before define
63
-    output += getRequires(args, factory); // add requires
64
-    output += getBody(raw, factory.body, useStrict); // module body
65
-
66
-    output += raw.substring( def.range[1], raw.length ); // anything after define
67
-
68
-    return output;
69
-}
70
-
71
-
72
-function getRequires(args, factory){
73
-    var requires = [];
74
-    var deps = getDependenciesNames( args );
75
-    var params = factory.params.map(function(param, i){
76
-        return {
77
-            name : param.name,
78
-            // simplified cjs doesn't have deps
79
-            dep : (deps.length)? deps[i] : SIMPLIFIED_CJS[i]
80
-        };
81
-    });
82
-
83
-    params.forEach(function(param){
84
-        if ( MAGIC_DEPS[param.dep] && !MAGIC_DEPS[param.name] ) {
85
-            // if user remaped magic dependency we declare a var
86
-            requires.push( 'var '+ param.name +' = '+ param.dep +';' );
87
-        } else if ( param.dep && !MAGIC_DEPS[param.dep] ) {
88
-            // only do require for params that have a matching dependency also
89
-            // skip "magic" dependencies
90
-            requires.push( 'var '+ param.name +' = require(\''+ param.dep +'\');' );
91
-        }
92
-    });
93
-
94
-    return requires.join('\n');
95
-}
96
-
97
-
98
-function getDependenciesNames(args){
99
-    var deps = [];
100
-    var arr = args.filter(function(arg){
101
-        return arg.type === 'ArrayExpression';
102
-    })[0];
103
-
104
-    if (arr) {
105
-        deps = arr.elements.map(function(el){
106
-            return el.value;
107
-        });
108
-    }
109
-
110
-    return deps;
111
-}
112
-
113
-
114
-function isDefine(node){
115
-    return node.type === 'ExpressionStatement' &&
116
-           node.expression.type === 'CallExpression' &&
117
-           node.expression.callee.type === 'Identifier' &&
118
-           node.expression.callee.name === 'define';
119
-}
120
-
121
-
122
-function getFactory(args){
123
-    return args.filter(function(arg){
124
-        return arg.type === 'FunctionExpression';
125
-    })[0];
126
-}
127
-
128
-
129
-function getBody(raw, factoryBody, useStrict){
130
-    var returnStatement = factoryBody.body.filter(function(node){
131
-        return node.type === 'ReturnStatement';
132
-    })[0];
133
-
134
-    var body = '';
135
-    var bodyStart = useStrict ? useStrict.expression.range[1] + 1 : factoryBody.range[0] + 1;
136
-
137
-    if (returnStatement) {
138
-        body += raw.substring( bodyStart, returnStatement.range[0] );
139
-        // "return ".length === 7 so we add "6" to returnStatement start
140
-        body += 'module.exports ='+ raw.substring( returnStatement.range[0] + 6, factoryBody.range[1] - 1 );
141
-    } else {
142
-        // if using exports or module.exports or just a private module we
143
-        // simply return the factoryBody content
144
-        body = raw.substring( bodyStart, factoryBody.range[1] - 1 );
145
-    }
146
-
147
-    return body;
148
-}
149
-
150
-
151
-function getUseStrict(factory){
152
-    return factory.body.body.filter(isUseStrict)[0];
153
-}
154
-
155
-
156
-function isUseStrict(node){
157
-    return node.type === 'ExpressionStatement' &&
158
-            node.expression.type === 'Literal' &&
159
-            node.expression.value === 'use strict';
160
-}

+ 0 - 236
src/main/resources/static/bower_components/echarts/build/build.js

@@ -1,236 +0,0 @@
1
-#!/usr/bin/env node
2
-
3
-const fsExtra = require('fs-extra');
4
-const fs = require('fs');
5
-const {resolve} = require('path');
6
-const config = require('./config.js');
7
-const commander = require('commander');
8
-const {build, watch, color} = require('zrender/build/helper');
9
-const ecLangPlugin = require('./rollup-plugin-ec-lang');
10
-const prePublish = require('./pre-publish');
11
-const recheckDEV = require('zrender/build/babel-plugin-transform-remove-dev').recheckDEV;
12
-
13
-function run() {
14
-
15
-    /**
16
-     * Tips for `commander`:
17
-     * (1) If arg xxx not specified, `commander.xxx` is undefined.
18
-     *     Otherwise:
19
-     *      If '-x, --xxx', `commander.xxx` can only be true/false, even if '--xxx yyy' input.
20
-     *      If '-x, --xxx <some>', the 'some' string is required, or otherwise error will be thrown.
21
-     *      If '-x, --xxx [some]', the 'some' string is optional, that is, `commander.xxx` can be boolean or string.
22
-     * (2) `node ./build/build.js --help` will print helper info and exit.
23
-     */
24
-
25
-    let descIndent = '                                 ';
26
-    let egIndent = '    ';
27
-
28
-    commander
29
-        .usage('[options]')
30
-        .description([
31
-            'Build echarts and generate result files in directory `echarts/dist`.',
32
-            '',
33
-            '  For example:',
34
-            '',
35
-            egIndent + 'node build/build.js --release'
36
-                + '\n' + descIndent + '# Build all to `dist` folder.',
37
-            egIndent + 'node build/build.js --prepublish'
38
-                + '\n' + descIndent + '# Only prepublish.',
39
-            egIndent + 'node build/build.js --removedev'
40
-                + '\n' + descIndent + '# Remove __DEV__ code. If --min, __DEV__ always be removed.',
41
-            egIndent + 'node build/build.js --type ""'
42
-                + '\n' + descIndent + '# Only generate `dist/echarts.js`.',
43
-            egIndent + 'node build/build.js --type common --min'
44
-                + '\n' + descIndent + '# Only generate `dist/echarts.common.min.js`.',
45
-            egIndent + 'node build/build.js --type simple --min --lang en'
46
-                + '\n' + descIndent + '# Only generate `dist/echarts-en.simple.min.js`.',
47
-            egIndent + 'node build/build.js --lang "my/lang.js" -i "my/index.js" -o "my/bundle.js"'
48
-                + '\n' + descIndent + '# Take `<cwd>/my/index.js` as input and generate `<cwd>/my/bundle.js`,'
49
-                + '\n' + descIndent + 'where `<cwd>/my/lang.js` is used as language file.',
50
-        ].join('\n'))
51
-        .option(
52
-            '-w, --watch', [
53
-            'Watch modifications of files and auto-compile to dist file. For example,',
54
-            descIndent + '`echarts/dist/echarts.js`.'
55
-        ].join('\n'))
56
-        .option(
57
-            '--lang <language file path or shortcut>', [
58
-            'Use the specified file instead of `echarts/src/lang.js`. For example:',
59
-            descIndent + '`--lang en` will use `echarts/src/langEN.js`.',
60
-            descIndent + '`--lang my/langDE.js` will use `<cwd>/my/langDE.js`. -o must be specified in this case.',
61
-            descIndent + '`--lang /my/indexSW.js` will use `/my/indexSW.js`. -o must be specified in this case.'
62
-        ].join('\n'))
63
-        .option(
64
-            '--release',
65
-            'Build all for release'
66
-        )
67
-        .option(
68
-            '--prepublish',
69
-            'Build all for release'
70
-        )
71
-        .option(
72
-            '--removedev',
73
-            'Remove __DEV__ code. If --min, __DEV__ always be removed.'
74
-        )
75
-        .option(
76
-            '--min',
77
-            'Whether to compress the output file, and remove error-log-print code.'
78
-        )
79
-        .option(
80
-            '--type <type name>', [
81
-            'Can be "simple" or "common" or "" (default). For example,',
82
-            descIndent + '`--type ""` or `--type "common"`.'
83
-        ].join('\n'))
84
-        .option(
85
-            '--sourcemap',
86
-            'Whether output sourcemap.'
87
-        )
88
-        .option(
89
-            '--format <format>',
90
-            'The format of output bundle. Can be "umd", "amd", "iife", "cjs", "es".'
91
-        )
92
-        .option(
93
-            '-i, --input <input file path>',
94
-            'If input file path is specified, output file path must be specified too.'
95
-        )
96
-        .option(
97
-            '-o, --output <output file path>',
98
-            'If output file path is specified, input file path must be specified too.'
99
-        )
100
-        .parse(process.argv);
101
-
102
-    let isWatch = !!commander.watch;
103
-    let isRelease = !!commander.release;
104
-    let isPrePublish = !!commander.prepublish;
105
-
106
-    let opt = {
107
-        lang: commander.lang,
108
-        min: commander.min,
109
-        type: commander.type || '',
110
-        input: commander.input,
111
-        output: commander.output,
112
-        format: commander.format,
113
-        sourcemap: commander.sourcemap,
114
-        removeDev: commander.removedev,
115
-        addBundleVersion: isWatch
116
-    };
117
-
118
-    validateIO(opt.input, opt.output);
119
-    validateLang(opt.lang, opt.output);
120
-
121
-    normalizeParams(opt);
122
-
123
-    // Clear `echarts/dist`
124
-    if (isRelease) {
125
-        fsExtra.removeSync(getPath('./dist'));
126
-    }
127
-
128
-    if (isWatch) {
129
-        watch(config.createECharts(opt));
130
-    }
131
-    else if (isPrePublish) {
132
-        prePublish();
133
-    }
134
-    else if (isRelease) {
135
-        let configs = [];
136
-        let configForCheck;
137
-
138
-        [
139
-            {min: false},
140
-            {min: true},
141
-            {min: false, lang: 'en'},
142
-            {min: true, lang: 'en'}
143
-        ].forEach(function (opt) {
144
-
145
-            ['', 'simple', 'common'].forEach(function (type) {
146
-                let singleOpt = Object.assign({type}, opt);
147
-                normalizeParams(singleOpt);
148
-                let singleConfig = config.createECharts(singleOpt);
149
-                configs.push(singleConfig);
150
-
151
-                if (singleOpt.min && singleOpt.type === '') {
152
-                    configForCheck = singleConfig;
153
-                }
154
-            });
155
-        });
156
-
157
-        configs.push(
158
-            config.createBMap(false),
159
-            config.createBMap(true),
160
-            config.createDataTool(false),
161
-            config.createDataTool(true)
162
-        );
163
-
164
-        build(configs)
165
-            .then(function () {
166
-                checkCode(configForCheck);
167
-                prePublish();
168
-            }).catch(handleBuildError);
169
-    }
170
-    else {
171
-        let cfg = config.createECharts(opt);
172
-        build([cfg])
173
-            .then(function () {
174
-                if (opt.removeDev) {
175
-                    checkCode(cfg);
176
-                }
177
-            })
178
-            .catch(handleBuildError);
179
-    }
180
-}
181
-
182
-function normalizeParams(opt) {
183
-    if (opt.sourcemap == null) {
184
-        opt.sourcemap = !(opt.min || opt.type);
185
-    }
186
-    if (opt.removeDev == null) {
187
-        opt.removeDev = !!opt.min;
188
-    }
189
-}
190
-
191
-function handleBuildError(err) {
192
-    console.log(err);
193
-}
194
-
195
-function checkCode(singleConfig) {
196
-    // Make sure __DEV__ is eliminated.
197
-    let code = fs.readFileSync(singleConfig.output.file, {encoding: 'utf-8'});
198
-    if (!code) {
199
-        throw new Error(`${singleConfig.output.file} is empty`);
200
-    }
201
-    recheckDEV(code);
202
-    console.log(color('fgGreen', 'dim')('Check code: correct.'));
203
-}
204
-
205
-function validateIO(input, output) {
206
-    if ((input != null && output == null)
207
-        || (input == null && output != null)
208
-    ) {
209
-        throw new Error('`input` and `output` must be both set.');
210
-    }
211
-}
212
-
213
-function validateLang(lang, output) {
214
-    if (!lang) {
215
-        return;
216
-    }
217
-
218
-    let langInfo = ecLangPlugin.getLangFileInfo(lang);
219
-
220
-    if (langInfo.isOuter && !output) {
221
-        throw new Error('`-o` or `--output` must be specified if using a file path in `--lang`.');
222
-    }
223
-    if (!langInfo.absolutePath || !fs.statSync(langInfo.absolutePath).isFile()) {
224
-        throw new Error(`File ${langInfo.absolutePath} does not exist yet. Contribution is welcome!`);
225
-    }
226
-}
227
-
228
-/**
229
- * @param {string} relativePath Based on echarts directory.
230
- * @return {string} Absolute path.
231
- */
232
-function getPath(relativePath) {
233
-    return resolve(__dirname, '../', relativePath);
234
-}
235
-
236
-run();

+ 0 - 154
src/main/resources/static/bower_components/echarts/build/config.js

@@ -1,154 +0,0 @@
1
-const nodeResolvePlugin = require('rollup-plugin-node-resolve');
2
-const uglifyPlugin = require('rollup-plugin-uglify');
3
-const ecRemoveDevPlugin = require('./rollup-plugin-ec-remove-dev');
4
-const ecLangPlugin = require('./rollup-plugin-ec-lang');
5
-const {resolve} = require('path');
6
-
7
-function getPathBasedOnECharts(path) {
8
-    return resolve(__dirname, '../', path);
9
-}
10
-
11
-function getPlugins({min, lang, sourcemap, removeDev, addBundleVersion}) {
12
-    let plugins = [];
13
-
14
-    removeDev && plugins.push(
15
-        ecRemoveDevPlugin({sourcemap})
16
-    );
17
-
18
-    lang && plugins.push(
19
-        ecLangPlugin({lang})
20
-    );
21
-
22
-    plugins.push(
23
-        nodeResolvePlugin()
24
-    );
25
-
26
-    addBundleVersion && plugins.push({
27
-        outro: function () {
28
-            return 'exports.bundleVersion = "' + (+new Date()) + '";';
29
-        }
30
-    });
31
-
32
-    min && plugins.push(uglifyPlugin({
33
-        compress: {
34
-            // Eliminate __DEV__ code.
35
-            // Currently, in uglify:
36
-            // `var vx; if(vx) {...}` can not be removed.
37
-            // `if (__DEV__) {...}` can be removed if `__DEV__` is defined as `false` in `global_defs`.
38
-            // 'global_defs': {
39
-            //     __DEV__: false
40
-            // },
41
-            'dead_code': true
42
-        }
43
-    }));
44
-
45
-    return plugins;
46
-}
47
-
48
-/**
49
- * @param {Object} [opt]
50
- * @param {string} [opt.type=''] '' or 'simple' or 'common'
51
- * @param {boolean} [opt.min=false]
52
- * @param {string} [opt.lang=undefined] null/undefined/'' or 'en' or 'fi' or a file path.
53
- * @param {string} [opt.input=undefined] If set, `opt.output` is required too, and `opt.type` is ignored.
54
- * @param {string} [opt.output=undefined] If set, `opt.input` is required too, and `opt.type` is ignored.
55
- * @param {boolean} [opt.sourcemap] If set, `opt.input` is required too, and `opt.type` is ignored.
56
- * @param {boolean} [opt.removeDev]
57
- * @param {string} [opt.format='umd'] If set, `opt.input` is required too, and `opt.type` is ignored.
58
- * @param {boolean} [opt.addBundleVersion=false] Only for debug in watch, prompt that the two build is different.
59
- */
60
-exports.createECharts = function (opt = {}) {
61
-    let srcType = opt.type ? '.' + opt.type : '.all';
62
-    let postfixType = opt.type ? '.' + opt.type : '';
63
-    let postfixMin = opt.min ? '.min' : '';
64
-    let postfixLang = opt.lang ? '-' + opt.lang.toLowerCase() : '';
65
-    let input = opt.input;
66
-    let output = opt.output;
67
-    let sourcemap = opt.sourcemap;
68
-    let format = opt.format || 'umd';
69
-
70
-    if (input != null || output != null) {
71
-        // Based on process.cwd();
72
-        input = resolve(input);
73
-        output = resolve(output);
74
-    }
75
-    else {
76
-        input = getPathBasedOnECharts(`./echarts${srcType}.js`);
77
-        output = getPathBasedOnECharts(`dist/echarts${postfixLang}${postfixType}${postfixMin}.js`);
78
-    }
79
-
80
-    return {
81
-        plugins: getPlugins(opt),
82
-        input: input,
83
-        legacy: true, // Support IE8-
84
-        output: {
85
-            name: 'echarts',
86
-            format: format,
87
-            sourcemap: sourcemap,
88
-            legacy: true, // Must be declared both in inputOptions and outputOptions.
89
-            file: output
90
-        },
91
-        watch: {
92
-            include: [
93
-                getPathBasedOnECharts('./src/**'),
94
-                getPathBasedOnECharts('./echarts*.js'),
95
-                getPathBasedOnECharts('../zrender/src/**')
96
-            ]
97
-        }
98
-    };
99
-};
100
-
101
-/**
102
- * @param {boolean} [min=false]
103
- */
104
-exports.createBMap = function (min) {
105
-    let postfix = min ? '.min' : '';
106
-
107
-    return {
108
-        plugins: getPlugins({min}),
109
-        input: getPathBasedOnECharts(`./extension-src/bmap/bmap.js`),
110
-        legacy: true, // Support IE8-
111
-        external: ['echarts'],
112
-        output: {
113
-            name: 'bmap',
114
-            format: 'umd',
115
-            sourcemap: !min,
116
-            legacy: true, // Must be declared both in inputOptions and outputOptions.
117
-            globals: {
118
-                // For UMD `global.echarts`
119
-                echarts: 'echarts'
120
-            },
121
-            file: getPathBasedOnECharts(`dist/extension/bmap${postfix}.js`)
122
-        },
123
-        watch: {
124
-            include: [getPathBasedOnECharts('./extension-src/bmap/**')]
125
-        }
126
-    };
127
-};
128
-
129
-/**
130
- * @param {boolean} [min=false]
131
- */
132
-exports.createDataTool = function (min) {
133
-    let postfix = min ? '.min' : '';
134
-    return {
135
-        plugins: getPlugins({min}),
136
-        input: getPathBasedOnECharts(`./extension-src/dataTool/index.js`),
137
-        legacy: true, // Support IE8-
138
-        external: ['echarts'],
139
-        output: {
140
-            name: 'dataTool',
141
-            format: 'umd',
142
-            sourcemap: !min,
143
-            legacy: true, // Must be declared both in inputOptions and outputOptions.
144
-            globals: {
145
-                // For UMD `global.echarts`
146
-                echarts: 'echarts'
147
-            },
148
-            file: getPathBasedOnECharts(`dist/extension/dataTool${postfix}.js`)
149
-        },
150
-        watch: {
151
-            include: [getPathBasedOnECharts('./extension-src/dataTool/**')]
152
-        }
153
-    };
154
-};

+ 0 - 165
src/main/resources/static/bower_components/echarts/build/mangleString.js

@@ -1,165 +0,0 @@
1
-var esprima = require('esprima');
2
-var escodegen = require('escodegen');
3
-var estraverse = require('estraverse');
4
-
5
-var SYNTAX = estraverse.Syntax;
6
-
7
-var STR_MIN_LENGTH = 5;
8
-var STR_MIN_DIST = 1000;
9
-var STR_MIN_COUNT = 2;
10
-
11
-function createDeclaration(declarations) {
12
-    return {
13
-        type: SYNTAX.VariableDeclaration,
14
-        declarations: declarations,
15
-        kind: 'var'
16
-    };
17
-}
18
-
19
-function createDeclarator(id, init) {
20
-    return {
21
-        type: SYNTAX.VariableDeclarator,
22
-        id: {
23
-            type: SYNTAX.Identifier,
24
-            name: id
25
-        },
26
-        init: {
27
-            type: SYNTAX.Literal,
28
-            value: init
29
-        }
30
-    };
31
-}
32
-
33
-function base54Digits() {
34
-    return 'etnrisouaflchpdvmgybwESxTNCkLAOM_DPHBjFIqRUzWXV$JKQGYZ0516372984';
35
-}
36
-
37
-var base54 = (function(){
38
-    var DIGITS = base54Digits();
39
-    return function(num) {
40
-        var ret = '';
41
-        var base = 54;
42
-        do {
43
-            ret += DIGITS.charAt(num % base);
44
-            num = Math.floor(num / base);
45
-            base = 64;
46
-        } while (num > 0);
47
-        return ret;
48
-    };
49
-})();
50
-
51
-function mangleString(source) {
52
-
53
-    var ast = esprima.parse(source, {
54
-        loc: true
55
-    });
56
-
57
-    var stringVariables = {};
58
-
59
-    var stringRelaceCount = 0;
60
-
61
-    estraverse.traverse(ast, {
62
-        enter: function (node, parent) {
63
-            if (node.type === SYNTAX.Literal
64
-                && typeof node.value === 'string'
65
-            ) {
66
-                // Ignore if string is the key of property
67
-                if (parent.type === SYNTAX.Property) {
68
-                    return;
69
-                }
70
-                var value = node.value;
71
-                if (value.length > STR_MIN_LENGTH) {
72
-                    if (!stringVariables[value]) {
73
-                        stringVariables[value] = {
74
-                            count: 0,
75
-                            lastLoc: node.loc.start.line,
76
-                            name: '__echartsString__' + base54(stringRelaceCount++)
77
-                        };
78
-                    }
79
-                    var diff = node.loc.start.line - stringVariables[value].lastLoc;
80
-                    // GZIP ?
81
-                    if (diff >= STR_MIN_DIST) {
82
-                        stringVariables[value].lastLoc = node.loc.start.line;
83
-                        stringVariables[value].count++;
84
-                    }
85
-                }
86
-            }
87
-
88
-            if (node.type === SYNTAX.MemberExpression && !node.computed) {
89
-                if (node.property.type === SYNTAX.Identifier) {
90
-                    var value = node.property.name;
91
-                    if (value.length > STR_MIN_LENGTH) {
92
-                        if (!stringVariables[value]) {
93
-                            stringVariables[value] = {
94
-                                count: 0,
95
-                                lastLoc: node.loc.start.line,
96
-                                name: '__echartsString__' + base54(stringRelaceCount++)
97
-                            };
98
-                        }
99
-                        var diff = node.loc.start.line - stringVariables[value].lastLoc;
100
-                        if (diff >= STR_MIN_DIST) {
101
-                            stringVariables[value].lastLoc = node.loc.start.line;
102
-                            stringVariables[value].count++;
103
-                        }
104
-                    }
105
-                }
106
-            }
107
-        }
108
-    });
109
-
110
-    estraverse.replace(ast, {
111
-        enter: function (node, parent) {
112
-            if ((node.type === SYNTAX.Literal
113
-                && typeof node.value === 'string')
114
-            ) {
115
-                // Ignore if string is the key of property
116
-                if (parent.type === SYNTAX.Property) {
117
-                    return;
118
-                }
119
-                var str = node.value;
120
-                if (stringVariables[str] && stringVariables[str].count > STR_MIN_COUNT) {
121
-                    return {
122
-                        type: SYNTAX.Identifier,
123
-                        name: stringVariables[str].name
124
-                    };
125
-                }
126
-            }
127
-            if (node.type === SYNTAX.MemberExpression && !node.computed) {
128
-                if (node.property.type === SYNTAX.Identifier) {
129
-                    var str = node.property.name;
130
-                    if (stringVariables[str] && stringVariables[str].count > STR_MIN_COUNT) {
131
-                        return {
132
-                            type: SYNTAX.MemberExpression,
133
-                            object: node.object,
134
-                            property: {
135
-                                type: SYNTAX.Identifier,
136
-                                name: stringVariables[str].name
137
-                            },
138
-                            computed: true
139
-                        };
140
-                    }
141
-                }
142
-            }
143
-        }
144
-    });
145
-
146
-    // Add variables in the top
147
-    for (var str in stringVariables) {
148
-        // Used more than once
149
-        if (stringVariables[str].count > STR_MIN_COUNT) {
150
-            ast.body.unshift(createDeclaration([
151
-                createDeclarator(stringVariables[str].name, str)
152
-            ]));
153
-        }
154
-    }
155
-
156
-    return escodegen.generate(
157
-        ast,
158
-        {
159
-            format: {escapeless: true},
160
-            comment: true
161
-        }
162
-    );
163
-}
164
-
165
-exports = module.exports = mangleString;

+ 0 - 40
src/main/resources/static/bower_components/echarts/build/optimize.js

@@ -1,40 +0,0 @@
1
-var UglifyJS = require('uglify-js');
2
-var fs = require('fs');
3
-var etpl = require('etpl');
4
-var argv = require('optimist').argv;
5
-
6
-etpl.config({
7
-    commandOpen: '/**',
8
-    commandClose: '*/'
9
-});
10
-
11
-var mode = argv.m || 'all';
12
-var configPath = mode === 'all' ? 'config/echarts.js' : 'config/echarts.' + mode + '.js';
13
-var outPath = mode === 'all' ? '../dist/echarts.js' : '../dist/echarts.' + mode + '.js';
14
-
15
-var config = eval('(' + fs.readFileSync(configPath, 'utf-8') + ')');
16
-var mainCode = fs.readFileSync(outPath, 'utf-8');
17
-var startCode = fs.readFileSync('wrap/start.js', 'utf-8');
18
-var nutCode = fs.readFileSync('wrap/nut.js', 'utf-8');
19
-var endCode = fs.readFileSync('wrap/end.js', 'utf-8');
20
-
21
-endCode = etpl.compile(endCode)({
22
-    parts: config.include
23
-});
24
-
25
-// FIXME
26
-var sourceCode = [startCode, nutCode, require('./mangleString')(mainCode), endCode].join('\n');
27
-
28
-var ast = UglifyJS.parse(sourceCode);
29
-/* jshint camelcase: false */
30
-// compressor needs figure_out_scope too
31
-ast.figure_out_scope();
32
-ast = ast.transform(UglifyJS.Compressor( {} ));
33
-
34
-// need to figure out scope again so mangler works optimally
35
-ast.figure_out_scope();
36
-ast.compute_char_frequency();
37
-ast.mangle_names();
38
-
39
-fs.writeFileSync(outPath, [startCode, nutCode, mainCode, endCode].join('\n'), 'utf-8');
40
-fs.writeFileSync(outPath.replace('.js', '.min.js'), ast.print_to_string(), 'utf-8');

+ 0 - 72
src/main/resources/static/bower_components/echarts/build/pre-publish.js

@@ -1,72 +0,0 @@
1
-/**
2
- * Compatible with prevoius folder structure: `echarts/lib` exists in `node_modules`
3
- * (1) Build all files to CommonJS to `echarts/lib`.
4
- * (2) Remove __DEV__.
5
- * (3) Mount `echarts/src/export.js` to `echarts/lib/echarts.js`.
6
- */
7
-
8
-const path = require('path');
9
-const fsExtra = require('fs-extra');
10
-const {color, travelSrcDir, prePulishSrc} = require('zrender/build/helper');
11
-
12
-const ecDir = path.resolve(__dirname, '..');
13
-const srcDir = path.resolve(__dirname, '../src');
14
-const extensionSrcDir = path.resolve(__dirname, '../extension-src');
15
-const extensionDir = path.resolve(__dirname, '../extension');
16
-const libDir = path.resolve(__dirname, '../lib');
17
-
18
-
19
-module.exports = function () {
20
-
21
-    fsExtra.removeSync(libDir);
22
-    fsExtra.ensureDirSync(libDir);
23
-
24
-    travelSrcDir(srcDir, ({fileName, relativePath, absolutePath}) => {
25
-        prePulishSrc({
26
-            inputPath: absolutePath,
27
-            outputPath: path.resolve(libDir, relativePath, fileName),
28
-            transform
29
-        });
30
-    });
31
-
32
-    travelSrcDir(extensionSrcDir, ({fileName, relativePath, absolutePath}) => {
33
-        prePulishSrc({
34
-            inputPath: absolutePath,
35
-            outputPath: path.resolve(extensionDir, relativePath, fileName),
36
-            transform
37
-        });
38
-    });
39
-
40
-    prePulishSrc({
41
-        inputPath: path.resolve(ecDir, 'echarts.all.js'),
42
-        outputPath: path.resolve(ecDir, 'index.js')
43
-    });
44
-    prePulishSrc({
45
-        inputPath: path.resolve(ecDir, 'echarts.common.js'),
46
-        outputPath: path.resolve(ecDir, 'index.common.js')
47
-    });
48
-    prePulishSrc({
49
-        inputPath: path.resolve(ecDir, 'echarts.simple.js'),
50
-        outputPath: path.resolve(ecDir, 'index.simple.js')
51
-    });
52
-
53
-    function transform({code, inputPath, outputPath}) {
54
-        if (inputPath === path.resolve(ecDir, 'src/echarts.js')) {
55
-            // Using `echarts/echarts.blank.js` to overwrite `echarts/lib/echarts.js`
56
-            // for including exports API.
57
-            code += `
58
-var ___ec_export = require("./export");
59
-(function () {
60
-    for (var key in ___ec_export) {
61
-        if (___ec_export.hasOwnProperty(key)) {
62
-            exports[key] = ___ec_export[key];
63
-        }
64
-    }
65
-})();`;
66
-        }
67
-
68
-        return code;
69
-    }
70
-
71
-    console.log(color('fgGreen', 'bright')('All done.'));
72
-};

+ 0 - 38
src/main/resources/static/bower_components/echarts/build/rollup-plugin-ec-dev.js

@@ -1,38 +0,0 @@
1
-/**
2
- * Define variable `__DEV__`.
3
- *
4
- * Usage:
5
- *
6
- * import ecDevPlugin from 'echats/build/rollup-plugin-ec-dev';
7
- * let rollupConfig = {
8
- *     plugins: [
9
- *         ecDevPlugin(),
10
- *         ...
11
- *     ]
12
- * };
13
- *
14
- * We use global variable `__DEV__` for convenience, but it bring trouble
15
- * while building: it is not able to make sure the decaration of `__DEV__`
16
- * occures in front of the whole code if we use ES module import. So we
17
- * use the plugin to handle that.
18
- *
19
- * See `echarts/src/config.js`.
20
- */
21
-
22
-module.exports = function (opt) {
23
-
24
-    return {
25
-        intro: function () {
26
-            return [
27
-                'if (typeof __DEV__ === "undefined") {',
28
-                '    if (typeof window !== "undefined") {',
29
-                '        window.__DEV__ = true;',
30
-                '    }',
31
-                '    else if (typeof global !== "undefined") {',
32
-                '        global.__DEV__ = true;',
33
-                '    }',
34
-                '}'
35
-            ].join('\n');
36
-        }
37
-    };
38
-};

+ 0 - 60
src/main/resources/static/bower_components/echarts/build/rollup-plugin-ec-lang.js

@@ -1,60 +0,0 @@
1
-/**
2
- * Find language definations.
3
- *
4
- * Usage:
5
- *
6
- * import ecLangPlugin from 'echarts/build/rollup-plugin-ec-lang';
7
- * let rollupConfig = {
8
- *     plugins: [
9
- *         ecLangPlugin({lang: 'en'}),
10
- *         ...
11
- *     ]
12
- * };
13
- */
14
-
15
-const {resolve} = require('path');
16
-const {readFileSync} = require('fs');
17
-
18
-/**
19
- * @param {Object} [opt]
20
- * @param {string} [opt.lang=null] null/undefined/'' or 'en' or 'fi' or a file path.
21
- */
22
-function getPlugin(opt) {
23
-    let lang = opt && opt.lang || '';
24
-
25
-    return {
26
-        load: function (absolutePath) {
27
-            if (/\/src\/lang\.js$/.test(absolutePath)) {
28
-                let langPath = getLangFileInfo(lang).absolutePath;
29
-                if (langPath) {
30
-                    absolutePath = langPath;
31
-                }
32
-            }
33
-            return readFileSync(absolutePath, 'utf-8');
34
-        }
35
-    };
36
-}
37
-
38
-/**
39
- * @param {string} lang null/undefined/'' or 'en' or 'fi' or a file path.
40
- * @return {Object} {isOuter, absolutePath}
41
- */
42
-let getLangFileInfo = getPlugin.getLangFileInfo = function (lang) {
43
-    let absolutePath;
44
-    let isOuter = false;
45
-
46
-    if (lang) {
47
-        if (/^[a-zA-Z]{2}$/.test(lang)) {
48
-            absolutePath = resolve(__dirname, '../', 'src/lang' + lang.toUpperCase() + '.js')
49
-        }
50
-        else {
51
-            isOuter = true;
52
-            // `lang` is an absolute path or a relative path based on process.cwd().
53
-            absolutePath = resolve(lang);
54
-        }
55
-    }
56
-
57
-    return {isOuter, absolutePath};
58
-};
59
-
60
-module.exports = getPlugin;

+ 0 - 35
src/main/resources/static/bower_components/echarts/build/rollup-plugin-ec-remove-dev.js

@@ -1,35 +0,0 @@
1
-/**
2
- * Remove the code of `if (__DEV__) { ... }`.
3
- *
4
- * Usage:
5
- *
6
- * import ecRemoveDevPlugin from 'echats/build/rollup-plugin-ec-remove-dev';
7
- * let rollupConfig = {
8
- *     plugins: [
9
- *         ecRemoveDevPlugin(),
10
- *         ...
11
- *     ]
12
- * };
13
- */
14
-
15
-const babel = require('@babel/core');
16
-const removeDEVPlugin = require('zrender/build/babel-plugin-transform-remove-dev');
17
-
18
-/**
19
- * @param {Object} [opt]
20
- * @param {Object} [opt.sourcemap]
21
- */
22
-module.exports = function ({sourcemap} = {}) {
23
-
24
-    return {
25
-        transform: function (sourceCode) {
26
-
27
-            let {code, map} = babel.transform(sourceCode, {
28
-                plugins: [removeDEVPlugin],
29
-                sourceMaps: sourcemap
30
-            });
31
-
32
-            return {code, map};
33
-        }
34
-    };
35
-};

+ 0 - 71
src/main/resources/static/bower_components/echarts/src/util/throttle.js

@@ -1,71 +0,0 @@
1
-{
2
-    "bitwise": false,
3
-    "camelcase": true,
4
-    "curly": true,
5
-    "eqeqeq": false,
6
-    "forin": false,
7
-    "immed": true,
8
-    "latedef": false,
9
-    "newcap": true,
10
-    "noarg": false,
11
-    "noempty": true,
12
-    "nonew": true,
13
-    "plusplus": false,
14
-    "quotmark": "single",
15
-    "regexp": false,
16
-    "undef": true,
17
-    "unused": "vars",
18
-    "strict": false,
19
-    "trailing": false,
20
-    "maxparams": 20,
21
-    "maxdepth": 6,
22
-    "maxlen": 200,
23
-
24
-    "asi": false,
25
-    "boss": false,
26
-    "debug": false,
27
-    "eqnull": true,
28
-    "esversion": 6,
29
-    "module": true,
30
-    "evil": true,
31
-    "expr": true,
32
-    "funcscope": false,
33
-    "globalstrict": false,
34
-    "iterator": false,
35
-    "lastsemic": false,
36
-    "laxbreak": true,
37
-    "laxcomma": false,
38
-    "loopfunc": false,
39
-    "multistr": false,
40
-    "onecase": false,
41
-    "proto": false,
42
-    "regexdash": false,
43
-    "scripturl": false,
44
-    "smarttabs": false,
45
-    "shadow": true,
46
-    "sub": true,
47
-    "supernew": false,
48
-    "validthis": true,
49
-
50
-    "browser": true,
51
-    "couch": false,
52
-    "devel": true,
53
-    "dojo": false,
54
-    "jquery": true,
55
-    "mootools": false,
56
-    "node": false,
57
-    "nonstandard": false,
58
-    "prototypejs": false,
59
-    "rhino": false,
60
-    "wsh": false,
61
-
62
-    "nomen": false,
63
-    "onevar": false,
64
-    "passfail": false,
65
-    "white": false,
66
-
67
-    "predef": [
68
-        "__dirname",
69
-        "require"
70
-    ]
71
-}

+ 0 - 71
src/main/resources/static/bower_components/echarts/test/build/esm2cjs/expect/.jshintrc

@@ -1,71 +0,0 @@
1
-{
2
-    "bitwise": false,
3
-    "camelcase": true,
4
-    "curly": true,
5
-    "eqeqeq": false,
6
-    "forin": false,
7
-    "immed": true,
8
-    "latedef": false,
9
-    "newcap": true,
10
-    "noarg": false,
11
-    "noempty": true,
12
-    "nonew": true,
13
-    "plusplus": false,
14
-    "quotmark": false,
15
-    "regexp": false,
16
-    "undef": true,
17
-    "unused": "vars",
18
-    "strict": false,
19
-    "trailing": false,
20
-    "maxparams": 20,
21
-    "maxdepth": 6,
22
-    "maxlen": 200,
23
-
24
-    "asi": false,
25
-    "boss": false,
26
-    "debug": false,
27
-    "eqnull": true,
28
-    "esversion": 3,
29
-    "evil": true,
30
-    "expr": true,
31
-    "funcscope": false,
32
-    "globalstrict": false,
33
-    "iterator": false,
34
-    "lastsemic": false,
35
-    "laxbreak": true,
36
-    "laxcomma": false,
37
-    "loopfunc": false,
38
-    "multistr": false,
39
-    "onecase": false,
40
-    "proto": false,
41
-    "regexdash": false,
42
-    "scripturl": false,
43
-    "smarttabs": false,
44
-    "shadow": true,
45
-    "sub": true,
46
-    "supernew": false,
47
-    "validthis": true,
48
-
49
-    "browser": true,
50
-    "couch": false,
51
-    "devel": true,
52
-    "dojo": false,
53
-    "jquery": true,
54
-    "mootools": false,
55
-    "node": false,
56
-    "nonstandard": false,
57
-    "prototypejs": false,
58
-    "rhino": false,
59
-    "wsh": false,
60
-
61
-    "nomen": false,
62
-    "onevar": false,
63
-    "passfail": false,
64
-    "white": false,
65
-
66
-    "predef": [
67
-        "require",
68
-        "exports",
69
-        "module"
70
-    ]
71
-}

+ 0 - 74
src/main/resources/static/bower_components/echarts/test/build/esm2cjs/expect/basic.expect.js

@@ -1,74 +0,0 @@
1
-var util = require("./a/b/util");
2
-
3
-var zrUtil = require("zrender/core/util");
4
-
5
-var someInZrUtil1Alias = zrUtil.someInZrUtil1;
6
-var zz = zrUtil.zz;
7
-exports.zrUtil = zrUtil;
8
-
9
-var _color = require("zrender/core/color");
10
-
11
-var color2Alias = _color.color2;
12
-var color = _color.color;
13
-var color3 = _color.color3;
14
-var color4 = _color.color4;
15
-exports.color2Alias = _color.color2;
16
-exports.color = _color.color;
17
-
18
-var Some = require("some");
19
-
20
-exports.Some = Some;
21
-
22
-var Some2 = require("some2");
23
-
24
-var _util3 = require("zrender/lib/core/util");
25
-
26
-exports.someInZrUtil2 = _util3.someInZrUtil2;
27
-
28
-var _echarts = require("./echarts");
29
-
30
-(function () {
31
-  for (var key in _echarts) {
32
-    if (_echarts == null || !_echarts.hasOwnProperty(key) || key === 'default' || key === '__esModule') return;
33
-    exports[key] = _echarts[key];
34
-  }
35
-})();
36
-
37
-var _yy = require("./xx/yy");
38
-
39
-exports.defaultAsBB = _yy;
40
-exports.exportSingle = _yy.exportSingle;
41
-
42
-require("ssssss");
43
-
44
-var propInZrUtil = zrUtil.some;
45
-someInZrUtil1Alias();
46
-zz();
47
-var color4Renamed = color4;
48
-
49
-function exportSingleFn() {}
50
-
51
-var b = util.b;
52
-var c = Some;
53
-c(b);
54
-color2Alias();
55
-color3();
56
-var ss = new Some2();
57
-ss();
58
-var pureLocalVar = 'pure'; // jshint ignore:line
59
-
60
-function b() {
61
-  a++;
62
-  innerSingleVarRenamed = innerSingleVar;
63
-}
64
-
65
-var exportSingleVar = 'aa';
66
-var innerSingleVar = 'cc';
67
-var innerSingleVarRenamed;
68
-exports.propInZrUtil = propInZrUtil;
69
-exports.color4Renamed = color4Renamed;
70
-exports.exportSingleFn = exportSingleFn;
71
-exports.exportSingleVar = exportSingleVar;
72
-exports.innerSingleVarAlias = innerSingleVar;
73
-exports.innerSingleVarAlias2 = innerSingleVar;
74
-exports.innerSingleVarRenamed = innerSingleVarRenamed;

+ 0 - 7
src/main/resources/static/bower_components/echarts/test/build/esm2cjs/expect/export-default0.expect.js

@@ -1,7 +0,0 @@
1
-var zrUtil = require("zrender/core/util");
2
-
3
-function _default() {
4
-  zrUtil();
5
-}
6
-
7
-module.exports = _default;

+ 0 - 8
src/main/resources/static/bower_components/echarts/test/build/esm2cjs/expect/export-default1.expect.js

@@ -1,8 +0,0 @@
1
-var zrUtil = require("zrender/core/util");
2
-
3
-function bb() {
4
-  zrUtil();
5
-}
6
-
7
-var _default = bb;
8
-module.exports = _default;

+ 0 - 7
src/main/resources/static/bower_components/echarts/test/build/esm2cjs/expect/export-default2.expect.js

@@ -1,7 +0,0 @@
1
-var xx = require("zrender/core/util");
2
-
3
-// export * from './echarts';
4
-// export {default as defaultAsBB} from './xx/yy';
5
-// export {exportSingle} from './xx/yy';
6
-var _default = xx;
7
-module.exports = _default;

+ 0 - 7
src/main/resources/static/bower_components/echarts/test/build/esm2cjs/expect/export-default3.expect.js

@@ -1,7 +0,0 @@
1
-var zrUtil = require("zrender/core/util");
2
-
3
-var Chart = zrUtil.extend({
4
-  zrUtil: zrUtil
5
-});
6
-var _default = Chart;
7
-module.exports = _default;

+ 0 - 8
src/main/resources/static/bower_components/echarts/test/build/esm2cjs/expect/forbiden-export.expect.js

@@ -1,8 +0,0 @@
1
-import * as util from './a/b/util';
2
-export var exportSingleVar = 'aa';
3
-var b = util;
4
-export { b };
5
-
6
-function SomeDefault() {}
7
-
8
-export default SomeDefault;

+ 0 - 74
src/main/resources/static/bower_components/echarts/test/build/esm2cjs/src/basic.src.js

@@ -1,74 +0,0 @@
1
-
2
-import * as util from './a/b/util';
3
-import * as zrUtil from 'zrender/core/util';
4
-import {someInZrUtil1 as someInZrUtil1Alias, zz} from 'zrender/core/util';
5
-import {color2 as color2Alias, color, color3, color4} from 'zrender/core/color';
6
-import Some from 'some';
7
-import Some2 from 'some2';
8
-
9
-export {someInZrUtil2} from 'zrender/src/core/util';
10
-
11
-export * from './echarts';
12
-export {default as defaultAsBB} from './xx/yy';
13
-export {exportSingle} from './xx/yy';
14
-
15
-export {zrUtil};
16
-
17
-var propInZrUtil = zrUtil.some;
18
-
19
-export {propInZrUtil};
20
-export {color};
21
-
22
-export {Some};
23
-export {color2Alias};
24
-
25
-import 'ssssss';
26
-
27
-someInZrUtil1Alias();
28
-zz();
29
-
30
-var color4Renamed = color4;
31
-
32
-export {color4Renamed};
33
-
34
-
35
-export function exportSingleFn() {
36
-}
37
-
38
-var b = util.b;
39
-var c = Some;
40
-c(b);
41
-
42
-if (__DEV__) {
43
-    console.log('asdfasdf', Some);
44
-    assert(b, 'asdfasd');
45
-}
46
-
47
-color2Alias();
48
-color3();
49
-var ss = new Some2();
50
-ss();
51
-var pureLocalVar = 'pure'; // jshint ignore:line
52
-
53
-
54
-function b() {
55
-    a++;
56
-
57
-    innerSingleVarRenamed = innerSingleVar;
58
-
59
-    if (__DEV__ ) {
60
-        console.log('zvcx');
61
-        alert('v44');
62
-    }
63
-}
64
-
65
-
66
-export var exportSingleVar = 'aa';
67
-
68
-var innerSingleVar = 'cc';
69
-var innerSingleVarRenamed
70
-export {innerSingleVar as innerSingleVarAlias, innerSingleVarRenamed};
71
-export {innerSingleVar as innerSingleVarAlias2};
72
-
73
-
74
-

+ 0 - 6
src/main/resources/static/bower_components/echarts/test/build/esm2cjs/src/export-default0.src.js

@@ -1,6 +0,0 @@
1
-
2
-import * as zrUtil from 'zrender/core/util';
3
-
4
-export default function () {
5
-    zrUtil();
6
-}

+ 0 - 8
src/main/resources/static/bower_components/echarts/test/build/esm2cjs/src/export-default1.src.js

@@ -1,8 +0,0 @@
1
-
2
-import * as zrUtil from 'zrender/core/util';
3
-
4
-function bb() {
5
-    zrUtil();
6
-}
7
-
8
-export default bb;

+ 0 - 8
src/main/resources/static/bower_components/echarts/test/build/esm2cjs/src/export-default2.src.js

@@ -1,8 +0,0 @@
1
-
2
-import xx from 'zrender/core/util';
3
-
4
-// export * from './echarts';
5
-// export {default as defaultAsBB} from './xx/yy';
6
-// export {exportSingle} from './xx/yy';
7
-
8
-export default xx;

+ 0 - 8
src/main/resources/static/bower_components/echarts/test/build/esm2cjs/src/export-default3.src.js

@@ -1,8 +0,0 @@
1
-
2
-import * as zrUtil from 'zrender/core/util';
3
-
4
-var Chart = zrUtil.extend({
5
-    zrUtil: zrUtil
6
-});
7
-
8
-export default Chart;

+ 0 - 16
src/main/resources/static/bower_components/echarts/test/build/esm2cjs/src/forbiden-export.src.js

@@ -1,16 +0,0 @@
1
-
2
-
3
-import * as util from './a/b/util';
4
-
5
-export var exportSingleVar = 'aa';
6
-
7
-var b = util;
8
-
9
-export {b};
10
-
11
-function SomeDefault() {
12
-
13
-}
14
-
15
-export default SomeDefault;
16
-

+ 0 - 11
src/main/resources/static/bower_components/echarts/test/build/removeDEV/expect/code.expect.js

@@ -1,11 +0,0 @@
1
-var a = 112;
2
-a++;
3
-a++;
4
-a++;
5
-a--;
6
-
7
-function b() {
8
-  a++;
9
-}
10
-
11
-a += 12;

+ 0 - 33
src/main/resources/static/bower_components/echarts/test/build/removeDEV/src/code.src.js

@@ -1,33 +0,0 @@
1
-
2
-var a = 112;
3
-
4
-if (__DEV__ ) {
5
-    alert('vzxczxcvzx');
6
-    console.log('zxcvzxvvx');
7
-}
8
-
9
-a++;
10
-a++;
11
-
12
-
13
-a++;
14
-
15
-
16
-if (__DEV__ ) {
17
-    alert('v2332x');
18
-    console.log('v23232x');
19
-}
20
-
21
-a--;
22
-
23
-function b() {
24
-
25
-    a++;
26
-
27
-    if (__DEV__ ) {
28
-        console.log('211');
29
-        alert('12');
30
-    }
31
-}
32
-
33
-a+=12;

+ 0 - 88
src/main/resources/static/bower_components/echarts/test/build/test-transform.js

@@ -1,88 +0,0 @@
1
-
2
-const path = require('path');
3
-const babel = require('@babel/core');
4
-const fs = require('fs');
5
-// See require('@babel/plugin-transform-modules-commonjs')
6
-const esm2cjsPlugin = path.resolve(__dirname, '../../build/babel-plugin-transform-modules-commonjs-ec');
7
-const removeDEVPlugin = path.resolve(__dirname, '../../build/babel-plugin-transform-remove-dev');
8
-
9
-function run() {
10
-    removeDEV();
11
-    esm2cjs();
12
-}
13
-
14
-function removeDEV() {
15
-
16
-    const suite = makeSuite('removeDEV');
17
-
18
-    suite.eachSrcFile(({fileName, filePath}) => {
19
-        let result = babel.transformFileSync(filePath, {
20
-            plugins: [removeDEVPlugin]
21
-        });
22
-
23
-        suite.writeToExpectFile(fileName, result.code);
24
-
25
-        console.log(`removing dev ${fileName} ...`);
26
-    });
27
-    console.log('All done.');
28
-}
29
-
30
-
31
-function esm2cjs() {
32
-
33
-    const suite = makeSuite('esm2cjs');
34
-
35
-    suite.eachSrcFile(({fileName, filePath}) => {
36
-        console.log(`transforming to cjs ${fileName} ...`);
37
-
38
-        if (/^forbiden/.test(fileName)) {
39
-            try {
40
-                transformSingle();
41
-                throw new Error('Should fail.');
42
-            }
43
-            catch (e) {
44
-                console.log(`${fileName} failed as expected.`);
45
-            }
46
-        }
47
-        else {
48
-            transformSingle();
49
-        }
50
-
51
-        function transformSingle() {
52
-            let result = babel.transformFileSync(filePath, {
53
-                plugins: [removeDEVPlugin, esm2cjsPlugin]
54
-            });
55
-
56
-            suite.writeToExpectFile(fileName, result.code);
57
-        }
58
-    });
59
-
60
-    console.log('All done.');
61
-
62
-}
63
-
64
-const makeSuite = suiteName => {
65
-
66
-    const srcDir = path.resolve(__dirname, `./${suiteName}/src`);
67
-    const expectDir = path.resolve(__dirname, `./${suiteName}/expect`);
68
-
69
-    return {
70
-        srcDir,
71
-        expectDir,
72
-        eachSrcFile(cb) {
73
-            fs.readdirSync(srcDir).forEach(fileName => {
74
-                if (!/^[^.].*[.]src[.]js$/.test(fileName)) {
75
-                    return;
76
-                }
77
-                const filePath = path.resolve(srcDir, fileName);
78
-                cb({fileName, filePath, suiteName, srcDir, expectDir});
79
-            });
80
-        },
81
-        writeToExpectFile(srcFileName, content) {
82
-            let outputPath = path.resolve(expectDir, srcFileName.replace('.src.', '.expect.'));
83
-            fs.writeFileSync(outputPath, content, {encoding:'utf-8'});
84
-        }
85
-    };
86
-};
87
-
88
-run();

File diff suppressed because it is too large
+ 7638 - 7638
src/main/resources/static/bower_components/echarts/test/data/energy.json


+ 0 - 34
src/main/resources/static/bower_components/echarts/test/ut/MIT.LICENSE

@@ -1,34 +0,0 @@
1
-/*jshint node:true */
2
-module.exports = function( Release ) {
3
-
4
-function today() {
5
-	return new Date().toISOString().replace(/T.+/, "");
6
-}
7
-
8
-// also add version property to this
9
-Release._jsonFiles.push( "validation.jquery.json" );
10
-
11
-Release.define({
12
-	issueTracker: "github",
13
-	changelogShell: function() {
14
-		return Release.newVersion + " / " + today() + "\n==================\n\n";
15
-	},
16
-
17
-	generateArtifacts: function( done ) {
18
-		Release.exec( "grunt release", "Grunt command failed" );
19
-		done([
20
-			"dist/additional-methods.js",
21
-			"dist/additional-methods.min.js",
22
-			"dist/jquery.validate.js",
23
-			"dist/jquery.validate.min.js"
24
-		]);
25
-	},
26
-
27
-	// disable CDN publishing
28
-	cdnPublish: false,
29
-
30
-	// disable authors check
31
-	_checkAuthorsTxt: function() {}
32
-});
33
-
34
-};

+ 0 - 78
src/main/resources/static/bower_components/summernote/build/grunt-build.js

@@ -1,78 +0,0 @@
1
-module.exports = function (grunt) {
2
-  'use strict';
3
-
4
-  var requirejs = require('requirejs');
5
-  var path = require('path');
6
-
7
-  var rDefineStart = /define\([^{]*?{/;
8
-  var rDefineEndWithReturn = /\s*return\s+[^\}]+(\}\);[^\w\}]*)$/;
9
-  var rDefineEnd = /\}\);[^}\w]*$/;
10
-
11
-  grunt.registerMultiTask('build', 'concatenate source: summernote.js', function () {
12
-
13
-    /**
14
-     * Strip all definitions generated by requirejs
15
-     *
16
-     * @param {String} name
17
-     * @param {String} path
18
-     * @param {String} contents The contents to be written (including their AMD wrappers)
19
-     */
20
-    var convert = function (name, path, contents) {
21
-      contents = contents.replace(rDefineStart, '');
22
-
23
-      if (rDefineEndWithReturn.test(contents)) {
24
-        contents = contents.replace(rDefineEndWithReturn, '');
25
-      } else {
26
-        contents = contents.replace(rDefineEnd, '');
27
-      }
28
-      return contents;
29
-    };
30
-
31
-    var outputPath = this.data.outFile;
32
-    /**
33
-     * Handle final output from the optimizer
34
-     */
35
-    var out = function (compiled) {
36
-      // 01. Embed version
37
-      var version = grunt.config('pkg.version');
38
-      compiled = compiled.replace(/@VERSION/g, version);
39
-
40
-      // 02.  Embed Date
41
-      var date = (new Date()).toISOString().replace(/:\d+\.\d+Z$/, 'Z');
42
-      compiled = compiled.replace(/@DATE/g, date);
43
-
44
-      grunt.file.write(outputPath, compiled);
45
-    };
46
-
47
-    var config = {
48
-      name: 'summernote/summernote',
49
-      baseUrl: this.data.baseUrl,
50
-      out: out,
51
-      optimize: 'none',
52
-      wrap: {
53
-        startFile: path.join(this.data.baseUrl, this.data.startFile),
54
-        endFile: path.join(this.data.baseUrl, this.data.endFile)
55
-      },
56
-      findNestedDependencies: true,
57
-      skipSemiColonInsertion: true,
58
-      onBuildWrite: convert,
59
-      excludeShallow: ['jquery', 'CodeMirror', 'app'],
60
-      paths: {
61
-        jquery: 'empty:',
62
-        CodeMirror: 'empty:'
63
-      },
64
-      packages: [{
65
-        name: 'summernote',
66
-        location: './',
67
-        main: 'summernote'
68
-      }]
69
-    };
70
-
71
-    var done = this.async();
72
-    requirejs.optimize(config, function () {
73
-      done();
74
-    }, function (err) {
75
-      done(err);
76
-    });
77
-  });
78
-};

File diff suppressed because it is too large
+ 0 - 5179
src/main/resources/static/build/vendor.datatables.js


File diff suppressed because it is too large
+ 0 - 1337
src/main/resources/static/build/vendor.graphs.js


File diff suppressed because it is too large
+ 0 - 2119
src/main/resources/static/build/vendor.js


File diff suppressed because it is too large
+ 0 - 9464
src/main/resources/static/build/vendor.ui.js


File diff suppressed because it is too large
+ 0 - 19365
src/main/resources/static/pdfJs/build/pdf.js


File diff suppressed because it is too large
+ 0 - 1
src/main/resources/static/pdfJs/build/pdf.js.map


File diff suppressed because it is too large
+ 0 - 47057
src/main/resources/static/pdfJs/build/pdf.worker.js


File diff suppressed because it is too large
+ 0 - 1
src/main/resources/static/pdfJs/build/pdf.worker.js.map