Browse Source

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/main/resources/generatorConfig.xml
lizeyu 9 months ago
parent
commit
098a1d80b2
100 changed files with 38963 additions and 383 deletions
  1. 1 0
      .gitignore
  2. 1 185
      .idea/GHSCPartyBuild.iml
  3. 0 3
      .idea/compiler.xml
  4. 2 1
      .idea/misc.xml
  5. 177 165
      lib/GHSCPartyBuild.pdm
  6. 125 0
      lib/数据更新脚本.txt
  7. 101 14
      src/main/java/com/ghsc/partybuild/controller/CheckDataController.java
  8. 2 0
      src/main/java/com/ghsc/partybuild/mapper/cquery/PtCheckdataCQuery.java
  9. 10 0
      src/main/java/com/ghsc/partybuild/model/PtCheckdata.java
  10. 70 0
      src/main/java/com/ghsc/partybuild/model/PtCheckdataExample.java
  11. 7 0
      src/main/java/com/ghsc/partybuild/service/CheckDataService.java
  12. 34 0
      src/main/java/com/ghsc/partybuild/service/impl/CheckDataServiceImpl.java
  13. 1 1
      src/main/resources/application.yml
  14. 17 0
      src/main/resources/mapping/CQuery/PtCheckdataCQuery.xml
  15. 21 5
      src/main/resources/mapping/PtCheckdataMapper.xml
  16. 282 0
      src/main/resources/settings.xml
  17. 1 1
      src/main/resources/static/app/js/service.js
  18. 10 1
      src/main/resources/static/app/main/app.js
  19. 53 0
      src/main/resources/static/app/main/party/checkData/edit.html
  20. 166 0
      src/main/resources/static/app/main/party/checkData/list.html
  21. 244 0
      src/main/resources/static/app/main/party/checkData/list.js
  22. 2 7
      src/main/resources/static/app/main/party/checkNameList/list.js
  23. 288 0
      src/main/resources/static/public/NewsWithPicDetail.html
  24. 142 0
      src/main/resources/static/public/NewsWithPicDetail.js
  25. 55 0
      src/main/resources/static/public/content/ad.css
  26. 6584 0
      src/main/resources/static/public/content/bootstrap.css
  27. 5 0
      src/main/resources/static/public/content/bootstrap.min.css
  28. 79 0
      src/main/resources/static/public/content/carousel_owl.theme.css
  29. 425 0
      src/main/resources/static/public/content/chosen.css
  30. 38 0
      src/main/resources/static/public/content/cloud-zoom.css
  31. 108 0
      src/main/resources/static/public/content/flexslider.css
  32. 2123 0
      src/main/resources/static/public/content/fontello.css
  33. 168 0
      src/main/resources/static/public/content/i-style.css
  34. 7 0
      src/main/resources/static/public/content/icon-font.min.css
  35. 124 0
      src/main/resources/static/public/content/idangerous.swiper.css
  36. 231 0
      src/main/resources/static/public/content/owl.carousel.css
  37. 3186 0
      src/main/resources/static/public/content/page.css
  38. 3181 0
      src/main/resources/static/public/content/page.css.bak
  39. 56 0
      src/main/resources/static/public/content/responsive-calendar.css
  40. 592 0
      src/main/resources/static/public/content/settings.css
  41. 1 0
      src/main/resources/static/public/content/share_style0_32.css
  42. 8377 0
      src/main/resources/static/public/content/style.css
  43. 8380 0
      src/main/resources/static/public/content/style.css.bak
  44. 413 0
      src/main/resources/static/public/content/txp_barrage.css
  45. 963 0
      src/main/resources/static/public/content/txp_desktop.css
  46. 28 0
      src/main/resources/static/public/content/txp_external.css
  47. 277 0
      src/main/resources/static/public/detailList.html
  48. 148 0
      src/main/resources/static/public/detailList.js
  49. BIN
      src/main/resources/static/public/favicon.ico
  50. 278 0
      src/main/resources/static/public/flDetail.html
  51. 147 0
      src/main/resources/static/public/flDetail.js
  52. 290 0
      src/main/resources/static/public/flPage.html
  53. 150 0
      src/main/resources/static/public/flPage.js
  54. BIN
      src/main/resources/static/public/fonts/fontawesome-webfont.eot
  55. 504 0
      src/main/resources/static/public/fonts/fontawesome-webfont.svg
  56. BIN
      src/main/resources/static/public/fonts/fontawesome-webfont.ttf
  57. BIN
      src/main/resources/static/public/fonts/fontawesome-webfont.woff
  58. BIN
      src/main/resources/static/public/fonts/glyphicons-halflings-regular.eot
  59. 288 0
      src/main/resources/static/public/fonts/glyphicons-halflings-regular.svg
  60. BIN
      src/main/resources/static/public/fonts/glyphicons-halflings-regular.ttf
  61. BIN
      src/main/resources/static/public/fonts/glyphicons-halflings-regular.woff
  62. BIN
      src/main/resources/static/public/fonts/glyphicons-halflings-regular.woff2
  63. BIN
      src/main/resources/static/public/images/03131453dni5.png
  64. BIN
      src/main/resources/static/public/images/13224517qbhe.jpg
  65. BIN
      src/main/resources/static/public/images/14145840uoub.jpg
  66. BIN
      src/main/resources/static/public/images/27115311ol34.png
  67. BIN
      src/main/resources/static/public/images/27115721c7hf.png
  68. BIN
      src/main/resources/static/public/images/27115826qkfw.png
  69. BIN
      src/main/resources/static/public/images/27120010p0eo.png
  70. BIN
      src/main/resources/static/public/images/291708323yu6.jpg
  71. BIN
      src/main/resources/static/public/images/L-title-1.png
  72. BIN
      src/main/resources/static/public/images/L-title-2.png
  73. BIN
      src/main/resources/static/public/images/L-title.png
  74. BIN
      src/main/resources/static/public/images/M-title-1.png
  75. BIN
      src/main/resources/static/public/images/M-title-2.png
  76. BIN
      src/main/resources/static/public/images/M-title.png
  77. BIN
      src/main/resources/static/public/images/W020190630679819367050.jpg
  78. BIN
      src/main/resources/static/public/images/banner.jpg
  79. BIN
      src/main/resources/static/public/images/banner.png
  80. BIN
      src/main/resources/static/public/images/car01.png
  81. BIN
      src/main/resources/static/public/images/car01s.png
  82. BIN
      src/main/resources/static/public/images/car02.png
  83. BIN
      src/main/resources/static/public/images/car02s.png
  84. BIN
      src/main/resources/static/public/images/gongan.png
  85. BIN
      src/main/resources/static/public/images/i-logo-2.png
  86. BIN
      src/main/resources/static/public/images/i-logo.png
  87. BIN
      src/main/resources/static/public/images/link-1.png
  88. BIN
      src/main/resources/static/public/images/link-2.png
  89. BIN
      src/main/resources/static/public/images/link-3.png
  90. BIN
      src/main/resources/static/public/images/link-4.png
  91. BIN
      src/main/resources/static/public/images/link-5.png
  92. BIN
      src/main/resources/static/public/images/link-6.png
  93. BIN
      src/main/resources/static/public/images/logo.png
  94. BIN
      src/main/resources/static/public/images/ma.png
  95. BIN
      src/main/resources/static/public/images/more.png
  96. BIN
      src/main/resources/static/public/images/more2.png
  97. BIN
      src/main/resources/static/public/images/post8.jpg
  98. BIN
      src/main/resources/static/public/images/post9.jpg
  99. BIN
      src/main/resources/static/public/images/ship.png
  100. 0 0
      src/main/resources/static/public/images/slogan.png

+ 1 - 0
.gitignore

@@ -37,3 +37,4 @@ HELP.md
 .vscode/
 out/
 classes/
+/.idea/

+ 1 - 185
.idea/GHSCPartyBuild.iml

@@ -1,192 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
+<module version="4">
   <component name="FacetManager">
-    <facet type="web" name="Web">
-      <configuration>
-        <webroots />
-        <sourceRoots>
-          <root url="file://$MODULE_DIR$/src/main/java" />
-          <root url="file://$MODULE_DIR$/src/main/resources" />
-        </sourceRoots>
-      </configuration>
-    </facet>
     <facet type="Spring" name="Spring">
       <configuration />
     </facet>
   </component>
-  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
-    <output url="file://$MODULE_DIR$/target/classes" />
-    <output-test url="file://$MODULE_DIR$/target/test-classes" />
-    <content url="file://$MODULE_DIR$">
-      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
-      <excludeFolder url="file://$MODULE_DIR$/target" />
-    </content>
-    <orderEntry type="inheritedJdk" />
-    <orderEntry type="sourceFolder" forTests="false" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.3.4.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.3.4.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.3.4.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" />
-    <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.13.3" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.30" level="project" />
-    <orderEntry type="library" name="Maven: jakarta.annotation:jakarta.annotation-api:1.3.5" level="project" />
-    <orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.26" level="project" />
-    <orderEntry type="library" name="Maven: com.zaxxer:HikariCP:3.4.5" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.2.9.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-beans:5.2.9.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-tx:5.2.9.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.3.4.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.3.4.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.11.2" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.11.2" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.11.2" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:2.3.4.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:9.0.31" level="project" />
-    <orderEntry type="library" name="Maven: org.glassfish:jakarta.el:3.0.3" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:9.0.31" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-web:5.2.9.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.2.9.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-aop:5.2.9.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-context:5.2.9.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-expression:5.2.9.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:2.0.0" level="project" />
-    <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:2.0.0" level="project" />
-    <orderEntry type="library" name="Maven: org.mybatis:mybatis:3.5.0" level="project" />
-    <orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:2.0.0" level="project" />
-    <orderEntry type="library" scope="RUNTIME" name="Maven: mysql:mysql-connector-java:8.0.21" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:2.3.4.RELEASE" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test:2.3.4.RELEASE" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:2.3.4.RELEASE" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: com.jayway.jsonpath:json-path:2.4.0" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: net.minidev:json-smart:2.3" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: net.minidev:accessors-smart:1.2" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.ow2.asm:asm:5.0.4" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:2.3.3" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: jakarta.activation:jakarta.activation-api:1.2.2" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.assertj:assertj-core:3.16.1" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest:2.2" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter:5.6.2" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-api:5.6.2" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.opentest4j:opentest4j:1.2.0" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-commons:1.6.2" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-params:5.6.2" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-engine:5.6.2" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.junit.vintage:junit-vintage-engine:5.6.2" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.apiguardian:apiguardian-api:1.1.0" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-engine:1.6.2" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.13" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-core:3.3.3" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: net.bytebuddy:byte-buddy:1.10.14" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: net.bytebuddy:byte-buddy-agent:1.10.14" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.objenesis:objenesis:2.6" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-junit-jupiter:3.3.3" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.skyscreamer:jsonassert:1.5.0" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-core:5.2.9.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.2.9.RELEASE" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:5.2.9.RELEASE" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.xmlunit:xmlunit-core:2.7.0" level="project" />
-    <orderEntry type="library" name="Maven: com.alibaba:druid-spring-boot-starter:1.1.22" level="project" />
-    <orderEntry type="library" name="Maven: com.alibaba:druid:1.1.22" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.30" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.3.4.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-starter:1.2.5" level="project" />
-    <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-autoconfigure:1.2.5" level="project" />
-    <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper:5.1.4" level="project" />
-    <orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:1.0" level="project" />
-    <orderEntry type="library" name="Maven: org.projectlombok:lombok:1.18.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-spring-boot-starter:1.4.0" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-spring:1.4.0" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-core:1.4.0" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-lang:1.4.0" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-cache:1.4.0" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-crypto-hash:1.4.0" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-crypto-core:1.4.0" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-crypto-cipher:1.4.0" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-config-core:1.4.0" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-config-ogdl:1.4.0" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-event:1.4.0" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-web:1.4.0" level="project" />
-    <orderEntry type="library" name="Maven: io.jsonwebtoken:jjwt:0.9.1" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.11.2" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.11.2" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.11.2" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-devtools:2.3.4.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.3.4.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.5" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-redis:2.3.4.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-redis:2.3.4.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-keyvalue:2.3.4.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:2.3.4.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-oxm:5.2.9.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-context-support:5.2.9.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: io.lettuce:lettuce-core:5.3.4.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-common:4.1.52.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-handler:4.1.52.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-resolver:4.1.52.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-buffer:4.1.52.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-codec:4.1.52.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-transport:4.1.52.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.projectreactor:reactor-core:3.3.10.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.reactivestreams:reactive-streams:1.0.3" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.commons:commons-pool2:2.8.1" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.poi:poi:5.2.2" level="project" />
-    <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.14" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.commons:commons-collections4:4.4" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.commons:commons-math3:3.6.1" level="project" />
-    <orderEntry type="library" name="Maven: commons-io:commons-io:2.11.0" level="project" />
-    <orderEntry type="library" name="Maven: com.zaxxer:SparseBitSet:1.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.13.3" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml:5.2.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml-lite:5.2.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.xmlbeans:xmlbeans:5.0.3" level="project" />
-    <orderEntry type="library" name="Maven: xml-apis:xml-apis:1.4.01" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.commons:commons-compress:1.21" level="project" />
-    <orderEntry type="library" name="Maven: com.github.virtuald:curvesapi:1.07" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.poi:poi-scratchpad:5.2.2" level="project" />
-    <orderEntry type="library" name="Maven: com.google.zxing:core:3.4.0" level="project" />
-    <orderEntry type="library" name="Maven: com.google.zxing:javase:3.4.0" level="project" />
-    <orderEntry type="library" name="Maven: com.beust:jcommander:1.72" level="project" />
-    <orderEntry type="library" scope="RUNTIME" name="Maven: com.github.jai-imageio:jai-imageio-core:1.4.0" level="project" />
-    <orderEntry type="library" name="Maven: commons-net:commons-net:3.6" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.9" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.13" level="project" />
-    <orderEntry type="library" name="Maven: org.freemarker:freemarker:2.3.30" level="project" />
-    <orderEntry type="library" name="Maven: net.coobird:thumbnailator:0.4.11" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.ant:ant:1.9.7" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.ant:ant-launcher:1.9.7" level="project" />
-    <orderEntry type="library" name="Maven: com.github.binarywang:weixin-java-pay:3.7.0" level="project" />
-    <orderEntry type="library" name="Maven: com.github.binarywang:weixin-java-common:3.7.0" level="project" />
-    <orderEntry type="library" name="Maven: com.thoughtworks.xstream:xstream:1.4.11.1" level="project" />
-    <orderEntry type="library" name="Maven: xmlpull:xmlpull:1.1.3.1" level="project" />
-    <orderEntry type="library" name="Maven: xpp3:xpp3_min:1.1.4c" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpmime:4.5.12" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.30" level="project" />
-    <orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.6" level="project" />
-    <orderEntry type="library" name="Maven: com.google.guava:guava:20.0" level="project" />
-    <orderEntry type="library" name="Maven: org.dom4j:dom4j:2.1.1" level="project" />
-    <orderEntry type="library" name="Maven: com.github.binarywang:qrcode-utils:1.1" level="project" />
-    <orderEntry type="library" name="Maven: org.jodd:jodd-http:3.7.1" level="project" />
-    <orderEntry type="library" name="Maven: org.jodd:jodd-core:3.7.1" level="project" />
-    <orderEntry type="library" name="Maven: org.jodd:jodd-upload:3.7.1" level="project" />
-    <orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils:1.9.3" level="project" />
-    <orderEntry type="library" name="Maven: commons-logging:commons-logging:1.2" level="project" />
-    <orderEntry type="library" name="Maven: commons-collections:commons-collections:3.2.2" level="project" />
-    <orderEntry type="library" name="Maven: org.bouncycastle:bcpkix-jdk15on:1.59" level="project" />
-    <orderEntry type="library" name="Maven: org.bouncycastle:bcprov-jdk15on:1.59" level="project" />
-    <orderEntry type="library" name="Maven: com.github.binarywang:weixin-java-mp:3.7.0" level="project" />
-    <orderEntry type="module-library">
-      <library name="Maven: aspose-words-15.8.0-jdk16.jar:aspose-words:15.8.0">
-        <CLASSES>
-          <root url="jar://$MODULE_DIR$/lib/aspose-words-15.8.0-jdk16.jar!/" />
-        </CLASSES>
-        <JAVADOC />
-        <SOURCES />
-      </library>
-    </orderEntry>
-    <orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.47" level="project" />
-  </component>
 </module>

+ 0 - 3
.idea/compiler.xml

@@ -10,9 +10,6 @@
         <module name="GHSCPartyBuild" />
       </profile>
     </annotationProcessing>
-    <bytecodeTargetLevel>
-      <module name="GHSCPartyBuild" target="1.8" />
-    </bytecodeTargetLevel>
   </component>
   <component name="JavacSettings">
     <option name="ADDITIONAL_OPTIONS_OVERRIDE">

+ 2 - 1
.idea/misc.xml

@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
+  <component name="ExternalStorageConfigurationManager" enabled="true" />
   <component name="MavenProjectsManager">
     <option name="originalFiles">
       <list>
@@ -7,7 +8,7 @@
       </list>
     </option>
   </component>
-  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8.0_172" project-jdk-type="JavaSDK">
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
     <output url="file://$PROJECT_DIR$/out" />
   </component>
 </project>

File diff suppressed because it is too large
+ 177 - 165
lib/GHSCPartyBuild.pdm


+ 125 - 0
lib/数据更新脚本.txt

@@ -58,6 +58,131 @@ INSERT INTO `cf_menu` (`MENUID`, `APPLICATIONID`, `PARENTMENUID`, `MNUSYSTEM`, `
 INSERT INTO `cf_menu` (`MENUID`, `APPLICATIONID`, `PARENTMENUID`, `MNUSYSTEM`, `MENUORDER`, `MENUNO`, `MENUNAME`, `MENUPROGRAM`, `MENUPIC`, `MENUDESC`, `ISVISIBLE`, `ISLEAF`, `ISBLANK`) VALUES ('873f7565-0dd8-4a1c-877a-06f6e2900133', 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', '4806821b-b18e-11ec-829d-7085c2a99991', NULL, 3, 'home.pf_scydMeetingDetail', '查看“三重一大”制度详情', NULL, NULL, NULL, 0, 0, NULL);
 
 
+---7.04 党建工作考核建表
+create table pt_checkData
+(
+    dataId               varchar(36) not null comment '唯一标识',
+    dzzdm                varchar(300) comment '组织代码',
+    year                 int comment '考核资料文件标识',
+    remark               varchar(300) comment '备注',
+    leadingDepartment    varchar(200) comment '考核资料是否上传',
+    checkDataUserId      varchar(36) comment '考核资料上传人',
+    checkDataUserName    varchar(36) comment '考核资料上传人姓名',
+    recordStatus         int comment '状态',
+    createTime           datetime comment '创建时间',
+    createUserId         varchar(36) comment '创建人id',
+    createUserName       varchar(300) comment '创建人姓名',
+    updateTime           datetime comment '修改时间',
+    updateUserId         varchar(36) comment '修改人id',
+    updateUserName       varchar(300) comment '修改人姓名',
+    primary key (dataId)
+);
+
+alter table pt_checkData comment '考核材料';
+
+create table pt_checkNameList
+(
+    nameId               varchar(36) not null comment '唯一标识',
+    dzzdm                varchar(300) comment '所在组织代码',
+    year                 int comment '年度',
+    quarter              int comment '季度',
+    checkUserId          varchar(36) comment '核查人',
+    checkUserName        varchar(36) comment '核查人姓名',
+    recordStatus         int comment '状态1、启用0、禁用',
+    createTime           datetime comment '创建时间',
+    createUserId         varchar(36) comment '创建人id',
+    createUserName       varchar(300) comment '创建人姓名',
+    primary key (nameId)
+);
+
+alter table pt_checkNameList comment '考核名单';
+
+create table pt_checkParty
+(
+    partyId              varchar(36) not null comment '唯一标识',
+    nameId               varchar(36) comment '关联名单',
+    partyCode            varchar(60) comment '支部代码',
+    partyName            varchar(200) comment '支部名称',
+    primary key (partyId)
+);
+
+alter table pt_checkParty comment '考核名单检查支部';
+
+alter table pt_checkParty add constraint FK_Reference_43 foreign key (nameId)
+    references pt_checkNameList (nameId) on delete restrict on update restrict;
+
+create table pt_checkScore
+(
+    scoreId              varchar(36) not null comment '唯一标识',
+    dzzdm                varchar(300) comment '组织代码',
+    year                 int comment '考核资料文件标识',
+    quarter              int comment '季度',
+    checkUserId          varchar(36) comment '核查人',
+    checkUserName        varchar(36) comment '核查人姓名',
+    score                decimal(8,2) comment '评分',
+    recordStatus         int comment '状态1、已评分0、未评分',
+    primary key (scoreId)
+);
+
+alter table pt_checkScore comment '考核评分';
+
+create table pt_checkQuestion
+(
+    questionId           varchar(36) not null comment '唯一标识',
+    scoreId              varchar(36) comment '关联评分',
+    questionName         varchar(260) comment '问题名称',
+    questionDesc         varchar(500) comment '问题描述',
+    primary key (questionId)
+);
+
+alter table pt_checkQuestion comment '考核问题';
+
+alter table pt_checkQuestion add constraint FK_Reference_42 foreign key (scoreId)
+    references pt_checkScore (scoreId) on delete restrict on update restrict;
+
+create table pt_reportData
+(
+    reportId             varchar(36) not null comment '唯一标识',
+    dzzdm                varchar(300) comment '组织代码',
+    year                 int comment '年度',
+    reportUserId         varchar(36) comment '述职人',
+    reportUserName       varchar(36) comment '述职人姓名',
+    recordStatus         int comment '状态1:已经上传0:未上传',
+    createTime           datetime comment '创建时间',
+    createUserId         varchar(36) comment '创建人id',
+    createUserName       varchar(300) comment '创建人姓名',
+    updateTime           datetime comment '修改时间',
+    updateUserId         varchar(36) comment '修改人id',
+    updateUserName       varchar(300) comment '修改人姓名',
+    primary key (reportId)
+);
+
+alter table pt_reportData comment '述职材料';
+
+
+create table pt_reportScore
+(
+    scoreId              varchar(36) not null comment '唯一标识',
+    reportId             varchar(36) comment '关联述职材料',
+    writtenScore         decimal(8,2) comment '书面述职评分',
+    sceneScore           decimal(8,2) comment '现场述职评分',
+    dailyScore           decimal(8,2) comment '日常党建工作考核评分',
+    total                decimal(8,2) comment '述职评分(总分)',
+    remark               varchar(360) comment '备注',
+    reportResult         int comment '评议结果',
+    createTime           datetime comment '创建时间',
+    createUserId         varchar(36) comment '创建人id',
+    createUserName       varchar(300) comment '创建人姓名',
+    updateTime           datetime comment '修改时间',
+    updateUserId         varchar(36) comment '修改人id',
+    updateUserName       varchar(300) comment '修改人姓名',
+    primary key (scoreId)
+);
+
+alter table pt_reportScore comment '述职评分';
+
+alter table pt_reportScore add constraint FK_Reference_44 foreign key (reportId)
+    references pt_reportData (reportId) on delete restrict on update restrict;
 
 ---7.04 党建工作考核管理菜单
 INSERT INTO CF_MENU (MENUID, APPLICATIONID, PARENTMENUID, MNUSYSTEM, MENUORDER, MENUNO, MENUNAME, MENUPROGRAM, MENUPIC, MENUDESC, ISVISIBLE, ISLEAF, ISBLANK)

+ 101 - 14
src/main/java/com/ghsc/partybuild/controller/CheckDataController.java

@@ -5,13 +5,16 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 import com.ghsc.partybuild.controller.jsonmodel.RequsetData;
 import com.ghsc.partybuild.model.*;
 import com.ghsc.partybuild.service.*;
+import com.ghsc.partybuild.util.DateUtils;
+import com.ghsc.partybuild.util.ExcelHelper;
+import com.ghsc.partybuild.util.StringUtils;
 import com.github.pagehelper.PageInfo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
-import java.util.HashMap;
-import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import java.util.*;
 
 @RestController
 @RequestMapping(value = "/api/checkdata")
@@ -21,13 +24,15 @@ public class CheckDataController {
     private CheckDataService checkDataService;
     @Autowired
     private UserService userService;
+    @Autowired
+    private DateUtils dateUtils;
 
     @ResponseBody
     @GetMapping("/getCheckNameList")
     public RequsetData<PageInfo<HashMap<String, Object>>> getCheckNameList(int pageindex, int pagesize, Integer year, Integer quarter, String dzzdm,
-                                                                       String checkUserName, String partyCode, Integer recordStatus) {
+                                                                           String checkUserName, String partyCode, Integer recordStatus) {
         RequsetData<PageInfo<HashMap<String, Object>>> result = new RequsetData<>();
-        result.setItem(checkDataService.getCheckNameList(pageindex, pagesize,year, quarter, dzzdm, checkUserName, partyCode,recordStatus));
+        result.setItem(checkDataService.getCheckNameList(pageindex, pagesize, year, quarter, dzzdm, checkUserName, partyCode, recordStatus));
         return result;
     }
 
@@ -35,14 +40,13 @@ public class CheckDataController {
     @PostMapping("/saveCheckNameList")
     public RequsetData<Integer> saveCheckNameList(@RequestBody JSONObject mJson) {
         RequsetData<Integer> res = new RequsetData<>();
-        ObjectMapper mapper = new ObjectMapper();
         try {
-            PtChecknamelist item =JSONObject.parseObject(JSONObject.toJSON(mJson.get("dataModel")).toString(),PtChecknamelist.class);
-              List<PtCheckparty> checkPartyList = mJson.getJSONArray("checkPartyList").toJavaList(PtCheckparty.class);
+            PtChecknamelist item = JSONObject.parseObject(JSONObject.toJSON(mJson.get("dataModel")).toString(), PtChecknamelist.class);
+            List<PtCheckparty> checkPartyList = mJson.getJSONArray("checkPartyList").toJavaList(PtCheckparty.class);
 
-            item.setCreateuserid( userService.getLoginUser().getUserid());
+            item.setCreateuserid(userService.getLoginUser().getUserid());
             item.setCreateusername(userService.getUserInfobyId(userService.getLoginUser().getUserid()).getName());
-            int id = checkDataService.saveCheckNameList(item,checkPartyList);
+            int id = checkDataService.saveCheckNameList(item, checkPartyList);
             res.setItem(id);
             res.setMsg("保存成功!");
         } catch (Exception ex) {
@@ -51,29 +55,112 @@ public class CheckDataController {
         }
         return res;
     }
+
     @ResponseBody
     @PostMapping("/deleteCheckNameList")
-    public RequsetData<Integer> deleteCheckNameList(@RequestBody List<String>  nameIdList) {
+    public RequsetData<Integer> deleteCheckNameList(@RequestBody List<String> nameIdList) {
         RequsetData<Integer> res = new RequsetData<>();
         res.setMsg("删除成功!");
-         res.setItem(checkDataService.deleteCheckNameList(nameIdList));
+        res.setItem(checkDataService.deleteCheckNameList(nameIdList));
         return res;
     }
+
     @ResponseBody
     @PostMapping("/changeCheckNameListStatus")
     public RequsetData<Integer> changeCheckNameListStatus(@RequestBody JSONObject mJson) {
         RequsetData<Integer> res = new RequsetData<>();
         res.setMsg("操作成功!");
         List<String> nameIdList = mJson.getJSONArray("nameIdList").toJavaList(String.class);
-        Integer recordStatus=mJson.getInteger("recordStatus");
-        res.setItem(checkDataService.changeCheckNameListStatus(nameIdList,recordStatus));
+        Integer recordStatus = mJson.getInteger("recordStatus");
+        res.setItem(checkDataService.changeCheckNameListStatus(nameIdList, recordStatus));
         return res;
     }
+
     @ResponseBody
     @GetMapping("/getCheckName")
-    public RequsetData<HashMap<String, Object>> getCheckName(String id){
+    public RequsetData<HashMap<String, Object>> getCheckName(String id) {
         RequsetData<HashMap<String, Object>> res = new RequsetData<>();
         res.setItem(checkDataService.getCheckName(id));
         return res;
     }
+    @ResponseBody
+    @GetMapping("/getCheckDataList")
+    public RequsetData<PageInfo<HashMap<String, Object>>> getCheckDataList(int pageindex, int pagesize, Integer year, String dzzdm, String remark) {
+        RequsetData<PageInfo<HashMap<String, Object>>> result = new RequsetData<>();
+        result.setItem(checkDataService.getCheckDataList(pageindex, pagesize, year, dzzdm, remark));
+        return result;
+    }
+
+    @ResponseBody
+    @PostMapping("/saveCheckdata")
+    public RequsetData<Integer> saveCheckdata(@RequestBody PtCheckdata item,String userid,String username) {
+        RequsetData<Integer> res = new RequsetData<>();
+        try {
+            item.setCheckdatauserid(userService.getLoginUser().getUserid());
+            item.setCheckdatausername(userService.getUserInfobyId(userService.getLoginUser().getUserid()).getName());
+            item.setRecordstatus(1);
+            item.setCreatetime(new Date());
+            item.setCreateuserid(userService.getLoginUser().getUserid());
+            item.setCreateusername(userService.getUserInfobyId(userService.getLoginUser().getUserid()).getName());
+            int id = checkDataService.saveCheckdata(item,userid,username);
+            res.setItem(id);
+            res.setMsg("保存成功!");
+        } catch (Exception ex) {
+            res.setMsg("保存失败:" + ex.getMessage());
+            res.setSuccess(false);
+        }
+        return res;
+    }
+
+    @ResponseBody
+    @GetMapping("/getCheckdata")
+    public RequsetData<PtCheckdata> getCheckdata(String id) {
+        RequsetData<PtCheckdata> res = new RequsetData<>();
+        if (id == null) {
+            PtCheckdata item = new PtCheckdata();
+            item.setDataid(UUID.randomUUID().toString());
+            res.setItem(item);
+        } else {
+            res.setItem(checkDataService.getCheckdata(id));
+        }
+        return res;
+    }
+    @RequestMapping(value = "/exportCheckData", method = RequestMethod.GET)
+    public void exportCheckData(HttpServletResponse response,
+                               Integer year, String dzzdm, String remark) throws Exception {
+
+        /**查询数据**/
+        List<HashMap<String, Object>> dataList = checkDataService.getCheckDataList(1,9999, year, dzzdm, remark).getList();
+
+        ExcelHelper excelHelper = new ExcelHelper();
+        ExcelHelper.ExcelData data = excelHelper.new ExcelData();
+
+        //列名
+        data.setName("考核材料信息");
+        List<String> titles = new ArrayList();
+        titles.add("年度");
+        titles.add("所属牵头部门");
+        titles.add("上传人");
+        titles.add("所在组织");
+        titles.add("最近修改时间");
+        titles.add("备注");
+        data.setTitles(titles);
+
+        //数据
+        List<List<Object>> rows = new ArrayList();
+        for (Map<String, Object> item : dataList) {
+            List<Object> row = new ArrayList();
+            row.add(item.get("year"));
+            row.add(item.get("leadingdepartment"));
+            row.add(item.get("checkdatausername"));
+            row.add(item.get("dzzmc"));
+            row.add(dateUtils.strFormat(item.get("updatetime").toString()));
+            row.add(item.get("remark"));
+
+            rows.add(row);
+        }
+        data.setRows(rows);
+
+        excelHelper.exportExcel(response, "考核材料信息.xlsx", data);
+    }
 }

+ 2 - 0
src/main/java/com/ghsc/partybuild/mapper/cquery/PtCheckdataCQuery.java

@@ -9,4 +9,6 @@ import java.util.List;
 public interface PtCheckdataCQuery {
 
     List<HashMap<String,Object>> selectCheckNameList(Integer year, Integer quarter, String dzzdm, String checkUserName, String partyCode,Integer recordStatus);
+
+    List<HashMap<String,Object>> selectCheckDataList(Integer year, String dzzdm, String remark);
 }

+ 10 - 0
src/main/java/com/ghsc/partybuild/model/PtCheckdata.java

@@ -29,6 +29,8 @@ public class PtCheckdata {
 
     private String updateusername;
 
+    private String remark;
+
     public String getDataid() {
         return dataid;
     }
@@ -132,4 +134,12 @@ public class PtCheckdata {
     public void setUpdateusername(String updateusername) {
         this.updateusername = updateusername == null ? null : updateusername.trim();
     }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark == null ? null : remark.trim();
+    }
 }

+ 70 - 0
src/main/java/com/ghsc/partybuild/model/PtCheckdataExample.java

@@ -974,6 +974,76 @@ public class PtCheckdataExample {
             addCriterion("updateUserName not between", value1, value2, "updateusername");
             return (Criteria) this;
         }
+
+        public Criteria andRemarkIsNull() {
+            addCriterion("remark is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkIsNotNull() {
+            addCriterion("remark is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkEqualTo(String value) {
+            addCriterion("remark =", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkNotEqualTo(String value) {
+            addCriterion("remark <>", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkGreaterThan(String value) {
+            addCriterion("remark >", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
+            addCriterion("remark >=", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkLessThan(String value) {
+            addCriterion("remark <", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkLessThanOrEqualTo(String value) {
+            addCriterion("remark <=", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkLike(String value) {
+            addCriterion("remark like", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkNotLike(String value) {
+            addCriterion("remark not like", value, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkIn(List<String> values) {
+            addCriterion("remark in", values, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkNotIn(List<String> values) {
+            addCriterion("remark not in", values, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkBetween(String value1, String value2) {
+            addCriterion("remark between", value1, value2, "remark");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemarkNotBetween(String value1, String value2) {
+            addCriterion("remark not between", value1, value2, "remark");
+            return (Criteria) this;
+        }
     }
 
     public static class Criteria extends GeneratedCriteria {

+ 7 - 0
src/main/java/com/ghsc/partybuild/service/CheckDataService.java

@@ -1,5 +1,6 @@
 package com.ghsc.partybuild.service;
 
+import com.ghsc.partybuild.model.PtCheckdata;
 import com.ghsc.partybuild.model.PtChecknamelist;
 import com.ghsc.partybuild.model.PtCheckparty;
 import com.github.pagehelper.PageInfo;
@@ -18,4 +19,10 @@ public interface CheckDataService {
     HashMap<String, Object> getCheckName(String id);
 
     Integer changeCheckNameListStatus(List<String>  nameIdList,Integer recordStatus);
+
+    PageInfo<HashMap<String, Object>> getCheckDataList(int pageIndex, int pageSize, Integer year, String dzzdm, String remark);
+
+    int saveCheckdata(PtCheckdata item,String userid,String username);
+
+    PtCheckdata getCheckdata(String id);
 }

+ 34 - 0
src/main/java/com/ghsc/partybuild/service/impl/CheckDataServiceImpl.java

@@ -23,6 +23,8 @@ public class CheckDataServiceImpl implements CheckDataService {
     PtChecknamelistMapper checknamelistMapper;
     @Autowired
     PtCheckdataCQuery checkdataCQuery;
+    @Autowired
+    PtCheckdataMapper CheckdataMapper;
 
     @Override
     public PageInfo<HashMap<String, Object>> getCheckNameList(int pageIndex, int pageSize, Integer year, Integer quarter, String dzzdm, String checkUserName, String partyCode,Integer recordStatus) {
@@ -89,4 +91,36 @@ public class CheckDataServiceImpl implements CheckDataService {
 
         return item;
     }
+    @Override
+    public PageInfo<HashMap<String, Object>> getCheckDataList(int pageIndex, int pageSize, Integer year, String dzzdm, String remark) {
+
+        PageHelper.startPage(pageIndex, pageSize);
+        List<HashMap<String, Object>> list = checkdataCQuery.selectCheckDataList(year, dzzdm, remark);
+
+        PageInfo<HashMap<String, Object>> result = new PageInfo(list);
+
+        return result;
+    }
+    @Override
+    public int saveCheckdata(PtCheckdata item,String userid,String username){
+        PtCheckdata dbItem = CheckdataMapper.selectByPrimaryKey(item.getDataid());
+        if(dbItem==null){
+            item.setCheckdatauserid(userid);
+            item.setCheckdatausername(username);
+            item.setRecordstatus(1);
+            item.setCreatetime(new Date());
+            item.setCreateuserid(userid);
+            item.setCreateusername(username);
+            return CheckdataMapper.insert(item);
+        } else {
+            item.setUpdatetime(new Date());
+            item.setUpdateuserid(userid);
+            item.setUpdateusername(username);
+            return CheckdataMapper.updateByPrimaryKeySelective(item);
+        }
+    }
+    @Override
+    public PtCheckdata getCheckdata(String id) {
+        return CheckdataMapper.selectByPrimaryKey(id);
+    }
 }

+ 1 - 1
src/main/resources/application.yml

@@ -121,7 +121,7 @@ appconfig:
   lead-uids: '2121217762,2121402851'
   #特殊菜单过滤 a,a|b,b,c
   menu-dwids: '001091209135'
-  safe-ext: '.jpg,.png,.gif,.zip,.rar,.7z,.xls,.xlsx,.doc,.docx,.pdf,.ppt,.pptx,.jpeg,.txt'
+  safe-ext: '.jpg,.png,.gif,.zip,.rar,.7z,.xls,.xlsx,.doc,.docx,.pdf,.ppt,.pptx,.jpeg,.txt,.mp4,.avi'
 
   #OA接入参数
   oaWebUrl: 'http://api-gw.guangzh.cr'

+ 17 - 0
src/main/resources/mapping/CQuery/PtCheckdataCQuery.xml

@@ -34,4 +34,21 @@
         </if>
         order by pcnl.year,pcnl.quarter,pcnl.createTime desc
     </select>
+
+    <select id="selectCheckDataList" resultType="java.util.HashMap">
+        select  pcd.dataid, pcd.dzzdm, pcd.year, pcd.leadingdepartment, pcd.checkdatauserid, pcd.checkdatausername, pcd.recordstatus,
+                pcd.createtime, pcd.createuserid, pcd.createusername, pcd.updatetime, pcd.updateuserid, pcd.updateusername, pcd.remark
+                ,zz.dzzmc
+        from pt_checkData pcd inner join  ZZ_ZZQKXX zz on pcd.dzzdm = zz.DZZDM
+        where 1=1
+        <if test="year != null">
+            and pcd.year = #{year}
+        </if>
+        <if test="remark != null and remark != ''">
+            and pcd.remark like concat('%',#{remark},'%')
+        </if>
+        <if test="dzzdm != null and dzzdm != ''">
+            and pcd.dzzdm like concat('%',#{dzzdm},'%')
+        </if>
+    </select>
 </mapper>

+ 21 - 5
src/main/resources/mapping/PtCheckdataMapper.xml

@@ -15,6 +15,7 @@
     <result column="updateTime" jdbcType="TIMESTAMP" property="updatetime" />
     <result column="updateUserId" jdbcType="VARCHAR" property="updateuserid" />
     <result column="updateUserName" jdbcType="VARCHAR" property="updateusername" />
+    <result column="remark" jdbcType="VARCHAR" property="remark" />
   </resultMap>
   <sql id="Example_Where_Clause">
     <where>
@@ -76,7 +77,8 @@
   </sql>
   <sql id="Base_Column_List">
     dataId, dzzdm, year, leadingDepartment, checkDataUserId, checkDataUserName, recordStatus, 
-    createTime, createUserId, createUserName, updateTime, updateUserId, updateUserName
+    createTime, createUserId, createUserName, updateTime, updateUserId, updateUserName, 
+    remark
   </sql>
   <select id="selectByExample" parameterType="com.ghsc.partybuild.model.PtCheckdataExample" resultMap="BaseResultMap">
     select
@@ -113,12 +115,12 @@
       leadingDepartment, checkDataUserId, checkDataUserName, 
       recordStatus, createTime, createUserId, 
       createUserName, updateTime, updateUserId, 
-      updateUserName)
+      updateUserName, remark)
     values (#{dataid,jdbcType=VARCHAR}, #{dzzdm,jdbcType=VARCHAR}, #{year,jdbcType=INTEGER}, 
       #{leadingdepartment,jdbcType=VARCHAR}, #{checkdatauserid,jdbcType=VARCHAR}, #{checkdatausername,jdbcType=VARCHAR}, 
       #{recordstatus,jdbcType=INTEGER}, #{createtime,jdbcType=TIMESTAMP}, #{createuserid,jdbcType=VARCHAR}, 
       #{createusername,jdbcType=VARCHAR}, #{updatetime,jdbcType=TIMESTAMP}, #{updateuserid,jdbcType=VARCHAR}, 
-      #{updateusername,jdbcType=VARCHAR})
+      #{updateusername,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR})
   </insert>
   <insert id="insertSelective" parameterType="com.ghsc.partybuild.model.PtCheckdata">
     insert into pt_checkdata
@@ -162,6 +164,9 @@
       <if test="updateusername != null">
         updateUserName,
       </if>
+      <if test="remark != null">
+        remark,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="dataid != null">
@@ -203,6 +208,9 @@
       <if test="updateusername != null">
         #{updateusername,jdbcType=VARCHAR},
       </if>
+      <if test="remark != null">
+        #{remark,jdbcType=VARCHAR},
+      </if>
     </trim>
   </insert>
   <select id="countByExample" parameterType="com.ghsc.partybuild.model.PtCheckdataExample" resultType="java.lang.Long">
@@ -253,6 +261,9 @@
       <if test="record.updateusername != null">
         updateUserName = #{record.updateusername,jdbcType=VARCHAR},
       </if>
+      <if test="record.remark != null">
+        remark = #{record.remark,jdbcType=VARCHAR},
+      </if>
     </set>
     <if test="_parameter != null">
       <include refid="Update_By_Example_Where_Clause" />
@@ -272,7 +283,8 @@
       createUserName = #{record.createusername,jdbcType=VARCHAR},
       updateTime = #{record.updatetime,jdbcType=TIMESTAMP},
       updateUserId = #{record.updateuserid,jdbcType=VARCHAR},
-      updateUserName = #{record.updateusername,jdbcType=VARCHAR}
+      updateUserName = #{record.updateusername,jdbcType=VARCHAR},
+      remark = #{record.remark,jdbcType=VARCHAR}
     <if test="_parameter != null">
       <include refid="Update_By_Example_Where_Clause" />
     </if>
@@ -316,6 +328,9 @@
       <if test="updateusername != null">
         updateUserName = #{updateusername,jdbcType=VARCHAR},
       </if>
+      <if test="remark != null">
+        remark = #{remark,jdbcType=VARCHAR},
+      </if>
     </set>
     where dataId = #{dataid,jdbcType=VARCHAR}
   </update>
@@ -332,7 +347,8 @@
       createUserName = #{createusername,jdbcType=VARCHAR},
       updateTime = #{updatetime,jdbcType=TIMESTAMP},
       updateUserId = #{updateuserid,jdbcType=VARCHAR},
-      updateUserName = #{updateusername,jdbcType=VARCHAR}
+      updateUserName = #{updateusername,jdbcType=VARCHAR},
+      remark = #{remark,jdbcType=VARCHAR}
     where dataId = #{dataid,jdbcType=VARCHAR}
   </update>
 </mapper>

+ 282 - 0
src/main/resources/settings.xml

@@ -0,0 +1,282 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<!--
+ | This is the configuration file for Maven. It can be specified at two levels:
+ |
+ |  1. User Level. This settings.xml file provides configuration for a single user,
+ |                 and is normally provided in ${user.home}/.m2/settings.xml.
+ |
+ |                 NOTE: This location can be overridden with the CLI option:
+ |
+ |                 -s /path/to/user/settings.xml
+ |
+ |  2. Global Level. This settings.xml file provides configuration for all Maven
+ |                 users on a machine (assuming they're all using the same Maven
+ |                 installation). It's normally provided in
+ |                 ${maven.conf}/settings.xml.
+ |
+ |                 NOTE: This location can be overridden with the CLI option:
+ |
+ |                 -gs /path/to/global/settings.xml
+ |
+ | The sections in this sample file are intended to give you a running start at
+ | getting the most out of your Maven installation. Where appropriate, the default
+ | values (values used when the setting is not specified) are provided.
+ |
+ |-->
+<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
+  <!-- localRepository
+   | The path to the local repository maven will use to store artifacts.
+   |
+   | Default: ${user.home}/.m2/repository
+  <localRepository>/path/to/local/repo</localRepository>
+  -->
+  <localRepository>D:\java\apache-maven-3.5.2\jarlib</localRepository>
+  <!-- interactiveMode
+   | This will determine whether maven prompts you when it needs input. If set to false,
+   | maven will use a sensible default value, perhaps based on some other setting, for
+   | the parameter in question.
+   |
+   | Default: true
+  <interactiveMode>true</interactiveMode>
+  -->
+
+  <!-- offline
+   | Determines whether maven should attempt to connect to the network when executing a build.
+   | This will have an effect on artifact downloads, artifact deployment, and others.
+   |
+   | Default: false
+  <offline>false</offline>
+  -->
+
+  <!-- pluginGroups
+   | This is a list of additional group identifiers that will be searched when resolving plugins by their prefix, i.e.
+   | when invoking a command line like "mvn prefix:goal". Maven will automatically add the group identifiers
+   | "org.apache.maven.plugins" and "org.codehaus.mojo" if these are not already contained in the list.
+   |-->
+  <pluginGroups>
+    <!-- pluginGroup
+     | Specifies a further group identifier to use for plugin lookup.
+    <pluginGroup>com.your.plugins</pluginGroup>
+    -->
+  </pluginGroups>
+
+  <!-- proxies
+   | This is a list of proxies which can be used on this machine to connect to the network.
+   | Unless otherwise specified (by system property or command-line switch), the first proxy
+   | specification in this list marked as active will be used.
+   |-->
+  <proxies>
+    <!-- proxy
+     | Specification for one proxy, to be used in connecting to the network.
+     |
+    <proxy>
+      <id>optional</id>
+      <active>true</active>
+      <protocol>http</protocol>
+      <username>proxyuser</username>
+      <password>proxypass</password>
+      <host>proxy.host.net</host>
+      <port>80</port>
+      <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
+    </proxy>
+    
+	<proxy>
+      <id>optional</id>
+      <active>true</active>
+      <protocol>http</protocol>
+      <host>cmproxy.gmcc.net</host>
+      <port>8081</port>
+    </proxy>-->
+  </proxies>
+
+  <!-- servers
+   | This is a list of authentication profiles, keyed by the server-id used within the system.
+   | Authentication profiles can be used whenever maven must make a connection to a remote server.
+   |-->
+  <servers>
+    <!-- server
+     | Specifies the authentication information to use when connecting to a particular server, identified by
+     | a unique name within the system (referred to by the 'id' attribute below).
+     |
+     | NOTE: You should either specify username/password OR privateKey/passphrase, since these pairings are
+     |       used together.
+     |
+    <server>
+      <id>deploymentRepo</id>
+      <username>repouser</username>
+      <password>repopwd</password>
+    </server>
+    -->
+
+    <!-- Another sample, using keys to authenticate.
+    <server>
+      <id>siteServer</id>
+      <privateKey>/path/to/private/key</privateKey>
+      <passphrase>optional; leave empty if not used.</passphrase>
+    </server>
+    -->
+  </servers>
+
+  <!-- mirrors
+   | This is a list of mirrors to be used in downloading artifacts from remote repositories.
+   |
+   | It works like this: a POM may declare a repository to use in resolving certain artifacts.
+   | However, this repository may have problems with heavy traffic at times, so people have mirrored
+   | it to several places.
+   |
+   | That repository definition will have a unique id, so we can create a mirror reference for that
+   | repository, to be used as an alternate download site. The mirror site will be the preferred
+   | server for that repository.
+   |-->
+  <mirrors>
+	<mirror>
+            <id>alimaven</id>
+            <mirrorOf>central</mirrorOf>
+            <name>aliyun maven</name>
+            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
+        </mirror>
+        <mirror>
+            <!--This sends everything else to /public -->
+            <id>nexus</id>
+            <mirrorOf>*</mirrorOf>
+            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
+        </mirror>
+        <mirror>
+            <!--This is used to direct the public snapshots repo in the profile below over to a different nexus group -->
+            <id>nexus-public-snapshots</id>
+            <mirrorOf>public-snapshots</mirrorOf>
+            <url>http://maven.aliyun.com/nexus/content/repositories/snapshots/</url>
+        </mirror>
+    <!-- mirror
+     | Specifies a repository mirror site to use instead of a given repository. The repository that
+     | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
+     | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
+     |
+    <mirror>
+      <id>mirrorId</id>
+      <mirrorOf>repositoryId</mirrorOf>
+      <name>Human Readable Name for this Mirror.</name>
+      <url>http://my.repository.com/repo/path</url>
+    </mirror>
+     -->
+  </mirrors>
+
+  <!-- profiles
+   | This is a list of profiles which can be activated in a variety of ways, and which can modify
+   | the build process. Profiles provided in the settings.xml are intended to provide local machine-
+   | specific paths and repository locations which allow the build to work in the local environment.
+   |
+   | For example, if you have an integration testing plugin - like cactus - that needs to know where
+   | your Tomcat instance is installed, you can provide a variable here such that the variable is
+   | dereferenced during the build process to configure the cactus plugin.
+   |
+   | As noted above, profiles can be activated in a variety of ways. One way - the activeProfiles
+   | section of this document (settings.xml) - will be discussed later. Another way essentially
+   | relies on the detection of a system property, either matching a particular value for the property,
+   | or merely testing its existence. Profiles can also be activated by JDK version prefix, where a
+   | value of '1.4' might activate a profile when the build is executed on a JDK version of '1.4.2_07'.
+   | Finally, the list of active profiles can be specified directly from the command line.
+   |
+   | NOTE: For profiles defined in the settings.xml, you are restricted to specifying only artifact
+   |       repositories, plugin repositories, and free-form properties to be used as configuration
+   |       variables for plugins in the POM.
+   |
+   |-->
+  <profiles>
+    <!-- profile
+     | Specifies a set of introductions to the build process, to be activated using one or more of the
+     | mechanisms described above. For inheritance purposes, and to activate profiles via <activatedProfiles/>
+     | or the command line, profiles have to have an ID that is unique.
+     |
+     | An encouraged best practice for profile identification is to use a consistent naming convention
+     | for profiles, such as 'env-dev', 'env-test', 'env-production', 'user-jdcasey', 'user-brett', etc.
+     | This will make it more intuitive to understand what the set of introduced profiles is attempting
+     | to accomplish, particularly when you only have a list of profile id's for debug.
+     |
+     | This profile example uses the JDK version to trigger activation, and provides a JDK-specific repo.
+    <profile>
+      <id>jdk-1.4</id>
+
+      <activation>
+        <jdk>1.4</jdk>
+      </activation>
+
+      <repositories>
+        <repository>
+          <id>jdk14</id>
+          <name>Repository for JDK 1.4 builds</name>
+          <url>http://www.myhost.com/maven/jdk14</url>
+          <layout>default</layout>
+          <snapshotPolicy>always</snapshotPolicy>
+        </repository>
+      </repositories>
+    </profile>
+    -->
+
+    <!--
+     | Here is another profile, activated by the system property 'target-env' with a value of 'dev',
+     | which provides a specific path to the Tomcat instance. To use this, your plugin configuration
+     | might hypothetically look like:
+     |
+     | ...
+     | <plugin>
+     |   <groupId>org.myco.myplugins</groupId>
+     |   <artifactId>myplugin</artifactId>
+     |
+     |   <configuration>
+     |     <tomcatLocation>${tomcatPath}</tomcatLocation>
+     |   </configuration>
+     | </plugin>
+     | ...
+     |
+     | NOTE: If you just wanted to inject this configuration whenever someone set 'target-env' to
+     |       anything, you could just leave off the <value/> inside the activation-property.
+     |
+    <profile>
+      <id>env-dev</id>
+
+      <activation>
+        <property>
+          <name>target-env</name>
+          <value>dev</value>
+        </property>
+      </activation>
+
+      <properties>
+        <tomcatPath>/path/to/tomcat/instance</tomcatPath>
+      </properties>
+    </profile>
+    -->
+  </profiles>
+
+  <!-- activeProfiles
+   | List of profiles that are active for all builds.
+   |
+  <activeProfiles>
+    <activeProfile>alwaysActiveProfile</activeProfile>
+    <activeProfile>anotherAlwaysActiveProfile</activeProfile>
+  </activeProfiles>
+  -->
+</settings>

+ 1 - 1
src/main/resources/static/app/js/service.js

@@ -1410,7 +1410,7 @@ success:提升是否成功
             addDefer: {}
         };
 
-        var limitTypes = ['jpg', 'png', 'jpeg', 'pdf', 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'txt', 'rar', 'zip', '7z'];
+        var limitTypes = ['jpg', 'png', 'jpeg', 'pdf', 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'txt', 'rar', 'zip', '7z','mp4','avi'];
 
         fileObject.init = function (config) {
             //fileObject.configdata

+ 10 - 1
src/main/resources/static/app/main/app.js

@@ -3718,7 +3718,16 @@
                     return $ocLazyLoad.load('../main/party/checkNameList/list.js?' + window.sysVersion);
                 }]
             }
-        });
+        }).state("home.checkData", {
+            url: "checkData",
+            templateUrl: "../main/party/checkData/list.html?" + window.sysVersion,
+            controller: "checkDataCtrl",
+            resolve: {
+                load: ['$ocLazyLoad', function ($ocLazyLoad) {
+                    return $ocLazyLoad.load('../main/party/checkData/list.js?' + window.sysVersion);
+                }]
+            }
+        });;
 
         $bsRouterStateProvider.copyUrlState($stateProvider.getStates());
 

+ 53 - 0
src/main/resources/static/app/main/party/checkData/edit.html

@@ -0,0 +1,53 @@
+<div class="modal" tabindex="-1" role="dialog">
+    <div class="modal-dialog" style="width: 900px;">
+        <div class="card">
+            <div class="header">
+                <button type="button" class="close" ng-click="$hide()">&times;</button>
+                <h4 class="modal-title">{{params.title}}</h4>
+            </div>
+            <div activate-input class="body">
+                <form class="form-horizontal" role="form" id="editForm"
+                      name="editForm" ng-submit="save(editForm.$valid)" novalidate>
+                    <div class="dj-formtable">
+                        <table class="dj-table">
+
+                            <tr>
+                                <th>年份</th>
+                                <td ng-class="{ 'has-error' : this.editForm.year.$invalid &&  this.editForm.$submitted}">
+                                    <input name="year" class="form-control" ng-model="dataModel.year"
+                                           data-date-type="string" data-date-format="yyyy" type="text"
+                                           data-start-view="2" data-min-view="2" autoclose="true" bs-datepicker
+                                           ng-required="true"/>
+                                    <span ng-show="this.editForm.year.$invalid && this.editForm.$submitted"
+                                          class="error">必填.</span>
+                                </td>
+                                <th>所属牵头部门</th>
+                                <td ng-class="{ 'has-error' : this.editForm.quarter.$invalid &&  this.editForm.$submitted}">
+                                    <input name="leadingdepartment" ng-model="dataModel.leadingdepartment" class="form-control"
+                                           autocomplete="off"
+                                           autoclose="true"
+                                           placeholder=""
+                                           ng-required="true"/>
+                                    <span ng-show="this.editForm.leadingdepartment.$invalid &&  this.editForm.$submitted"
+                                          class="error">必填.</span>
+                                </td>
+                            </tr>
+                            <tr>
+                                <th >备注</th>
+                                <td colspan="5">
+                                   <textarea name="remark" ng-model="dataModel.remark"
+                                             class="form-control" rows="3"></textarea>
+                                </td>
+                            </tr>
+                        </table>
+                    </div>
+                    <bsfiles ng-model="reqFileModel"/>
+                    <div class="form_foot">
+                        <button type="button" class="btn btn-default" ng-click="$hide()">取消</button>
+                        <button type="submit" class="btn btn-primary" form="editForm">提交</button>
+                    </div>
+                </form>
+            </div>
+        </div>
+    </div>
+</div>

+ 166 - 0
src/main/resources/static/app/main/party/checkData/list.html

@@ -0,0 +1,166 @@
+<titlemenu></titlemenu>
+<div class="dj-list">
+    <div class="dj-list-body">
+        <div party-tree data-selectdzzdm="selectparams.selectdzzdm" data-selectdzzmc="selectparams.selectdzzmc"
+             data-isshowxz="0"
+             data-parentcode="selectparams.parentcode"
+             data-parentname="selectparams.parentname"
+             data-dzzdm="selectparams.szdzzdm" data-userid="selectparams.userid"
+             data-dzzmc="selectparams.szdzzmc"
+             data-showtogglebtn="true"
+             data-onlyshowdw="selectparams.onlyshow_dw"
+             data-zzfbtype="selectparams.zzfbType"
+             data-isunfold="selectparams.isunfold"
+             data-defaultselected="selectparams.defaultselected"
+        ></div>
+        <div class="dj-list-content">
+            <div class="card">
+                <div activate-input activate-select class="header search-header">
+                    <div fold-partytree data-isunfold="selectparams.isunfold"></div>
+                    <div class="search-param-panel">
+                        <div class="search-input">
+                            <form class="form-horizontal">
+                                <div class="row clearfix form-inline">
+                                    <div class="col-lg-2 col-md-2 dj-label">
+                                        <label>当前选中组织</label>
+                                    </div>
+                                    <div class="col-lg-2 col-md-2">
+                                        <div class="form-group">
+                                            <div class="form-line">
+                                                <div class="input-group input-group-search">
+                                                    <input name="selectdzzmc" type="text" style="min-width: 90px"
+                                                           ng-model="selectparams.selectdzzmc" class="form-control"
+                                                           ng-disabled="true"/>
+                                                    <span class="input-group-addon"
+                                                          ng-click="setisunfold()">选择</span>
+                                                </div>
+                                            </div>
+                                        </div>
+                                    </div>
+                                    <div class="col-lg-2 col-md-2 dj-label">
+                                        <label>年度</label>
+                                    </div>
+                                    <div class="col-lg-2 col-md-2">
+                                        <div class="form-group">
+                                            <div class="form-line">
+                                                <select class="form-control show-tick" ng-model="selectparams.year" ng-change="search()"
+                                                        ng-options="type.dickey as type.dicvalue for type in yearList"
+                                                        class="form-control"
+                                                        name="year">
+                                                    <option value="" selected>--全部--</option>
+                                                </select>
+                                            </div>
+                                        </div>
+                                    </div>
+                                    <div class="col-lg-2 col-md-2">
+                                        <label>备注</label>
+                                    </div>
+                                    <div class="col-lg-2 col-md-2">
+                                        <div class="form-group">
+                                            <div class="form-line">
+                                                <input name="remark" class="form-control" type="text"
+                                                       ng-model="selectparams.remark"
+                                                       placeholder=""/>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </div>
+                            </form>
+                        </div>
+                        <div class="search-btn" style="margin-right: 20px;">
+                            <div style="min-width: 13em">
+                                 <button class="btn btn-default1"
+                                        ng-click="search()">查询
+                                </button>
+                                <button  class="btn btn-default1 btn-reset"
+                                        ng-click="reset()">重置
+                                </button>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="search-btn" style="margin-right: 20px;">
+                        <div style="float: right">
+                            <button class="btn  btn-default1"
+                                    ng-click="disable()">打包材料
+                            </button>
+                            <button class="btn  btn-default1"
+                                    ng-click="export()">导出
+                            </button>
+                            <button class="btn btn-default1" role-permission-code="ztdrxx.btn.btnAdd"
+                                    ng-click="add()">新增
+                            </button>
+                        </div>
+                    </div>
+                </div>
+                <div class="body">
+                    <div class="zero-list-table-panel">
+                        <div class="zero-source-table-div">
+                            <table class="table table-bordered table-striped table-hover js-basic-example dataTable text-nowrap">
+                                <thead>
+                                <tr>
+                                    <th class="th-select" th-select-all datalist="dataList"></th>
+                                    <th>序号</th>
+                                    <th>年度</th>
+                                    <th>所属牵头部门</th>
+                                    <th>上传人</th>
+                                    <th>所在组织</th>
+                                    <th>最近修改时间</th>
+                                    <th>备注</th>
+                                </tr>
+                                </thead>
+                                <tbody>
+                                <tr ng-repeat="it in dataList">
+                                    <td class="text-center">
+                                        <input type="checkbox" id="{{pageId}}_md_checkbox_{{$index+1}}" class="filled-in chk-col-red" ng-model="it.rowChecked" />
+                                        <label class="checkbox_lable" style="top:6px;"
+                                               for="{{pageId}}_md_checkbox_{{$index+1}}"></label>
+                                    </td>
+                                    <td scope="row" class="text-center">
+                                        {{selectparams.pagesize*(selectparams.pageindex-1)+$index+1}}
+                                    </td>
+                                    <td>{{it.year}}</td>
+                                    <td>{{it.leadingdepartment}}</td>
+                                    <td class="text-center">{{it.checkdatausername}}</td>
+                                    <td>{{it.dzzmc}}</td>
+
+                                    <td>{{it.updatetime|date:'yyyy-MM-dd'}}</td>
+                                    <td class="text-center">{{it.remark}}</td>
+                                </tr>
+                                <tr ng-if="pageInfo.ptotal==0">
+                                    <td colspan="9" style="text-align:center">暂无数据</td>
+                                </tr>
+                                </tbody>
+                            </table>
+                        </div>
+                        <div class="zero-target-table-div">
+                            <table class="table table-bordered table-striped table-hover js-basic-example dataTable text-nowrap">
+                                <thead>
+                                <th>操作</th>
+                                </thead>
+                                <tbody>
+                                <tr ng-repeat="it in dataList" zero-table-height>
+                                    <td class="text-center">
+                                        <button role-permission-code="ztdrxx.btn.btnEdit"
+                                                class="btn td-btn bg-light-green waves-effect"
+                                                ng-click="edit(it.dataid)"
+                                                title="修改">
+                                            修改
+                                        </button>
+                                        <button role-permission-code="ztdrxx.btn.btnDel"
+                                                class="btn td-btn bg-pink waves-effect"
+                                                ng-click="delete(it.dataid)" title="删除">
+                                            删除
+                                        </button>
+                                    </td>
+                                </tr>
+                                </tbody>
+                            </table>
+                        </div>
+                    </div>
+                    <pagination data-pageindex="selectparams.pageindex" data-pagesize="selectparams.pagesize"
+                                data-ptotal="pageInfo.ptotal"></pagination>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>

+ 244 - 0
src/main/resources/static/app/main/party/checkData/list.js

@@ -0,0 +1,244 @@
+(function ($app) {
+    $app.module('gtPartyApp').controller('checkDataCtrl', function ($scope, $http, $modal, $ocLazyLoad, $timeout,$alert, $loading, $state, AuthUser, $partySelect,$stateParams,$bsRouterState) {
+        $state.params = $bsRouterState.$params($scope);
+        $scope.isShow = false;
+        $scope.moreTxt = "更多";
+        $scope.pageId = "checkData";
+
+        //定义数据集合
+        $scope.dataList = []; //列表数据
+        $scope.yearList = [];
+
+        //初始化查询参数
+        $scope.selectparams = {
+            isunfold: false,//组织结构树展开收缩
+            'pageindex': 1,
+            'pagesize': 10,
+            'selectdzzdm': '',
+            selectdzzmc: '',
+            defaultselected: $state.params.dzzdm,
+            parentcode: AuthUser.getUser().ParentDpCode,
+            parentname: AuthUser.getUser().ParentDpName,
+            szdzzdm: AuthUser.getUser().DPCode,
+            szdzzmc: AuthUser.getUser().DPName,
+            dzzdm: '',
+            ldjtjc: '',
+            dzzmc: '',
+            recordStatus: null,
+            year: null,
+            userid: AuthUser.getUser().Id,
+            onlyshow_dw: $stateParams.type == 1 ? 1 : 0,
+            remark: '',
+        };
+
+        $scope.pageInfo = {ptotal: 0};
+        //监视页数变化
+        $scope.$watch("selectparams.pageindex", function (newVal, oldVal) {
+            if ($scope.pageInfo.ptotal > 0) {
+                $scope.loadData();
+            }
+        });
+        //监视党组织选中变化
+        $scope.$watch("selectparams.selectdzzdm", function (newVal, oldVal) {
+            if (newVal != '' && newVal != null) {
+
+                if ($scope.selectparams.defaultselected != "" && $scope.selectparams.defaultselected != null &&
+                    $scope.selectparams.defaultselected != $scope.selectparams.selectdzzdm)
+                    return;
+
+                $scope.selectparams.defaultselected = "";
+
+                $scope.selectparams.dzzdm = $scope.selectparams.selectdzzdm;
+                $scope.loadData();
+            }
+        });
+        //选择党支部begin
+        $scope.partyTreeConfig = {
+            scope: $scope,
+            selectedKey: '',
+            selectedText: '',
+            selectedData: [],
+            isMulti: false,
+            isshowxz: 0
+        };
+        $partySelect.initServer($scope.partyTreeConfig);
+        $scope.selectParty = function () {
+            $partySelect.showModal();
+        };
+        $scope.$watch("partyTreeConfig.selectedKey", function (newVal, oldVal) {
+            if (newVal) {
+                $scope.selectparams.partyCode = $scope.partyTreeConfig.selectedKey;
+                $scope.selectparams.partyName = $scope.partyTreeConfig.selectedText;
+                $scope.search();
+            }
+        }, true);
+
+        //查询
+        $scope.search = function () {
+            $scope.loadData();
+        };
+        $scope.getYearsList = function () {
+            $http({
+                method: 'get',
+                url: '../../api/dictionary/getDictionaryListByDicTypeKey',
+                params: {dicTypeKey: 'years'}
+            }).then(function (result) {
+                $scope.yearList = result.data;
+            }, function (resp) {
+
+            });
+        };
+        $scope.getYearsList();
+
+        //加载列表数据
+        $scope.loadData = function () {
+            $http
+            ({
+                method: 'get', url: '../../api/checkdata/getCheckDataList', params: $scope.selectparams
+            }).then(function (result) {
+                $scope.dataList = result.data.item.list;
+                $scope.pageInfo.ptotal = result.data.item.total;
+            });
+        };
+
+        var editCtrl = function ($scope, $http,$partySelect,AuthUser) {
+            $scope.params = editModal.params;
+            $scope.dataModel = editModal.data;
+
+            $scope.reqFileModel = {
+                selectdata: {FileRefID: $scope.dataModel.dataid, pageindex: 1, pagesize: 10, ptotal: 0},//查询参数:FileRefID为文件关联ID
+                filetype: 71,//文件类型
+                items: [],//列表数据地址
+                readonly: false,//是否只能查看
+                title: '附件',
+                addFileButton: '上传',
+                typeparams: {
+                    types: ['jpg', 'bmp', 'png', 'gif', 'jpe', 'jpeg','mp4','avi','txt','pdf','doc','docx','xls','xlsx'],
+                    errormsg: '格式必须为*.jpg,*.gif,*.png,*.bmp,*.jpe,*.jpeg,*.mp4,*.avi,*.txt,*.pdf,*.doc,*.docx,*.xls,*.xlsx等格式'
+                }
+            };
+            //保存
+            $scope.save = function (isflag) {
+                if (isflag) {
+                    $loading.show();
+                    $scope.dataModel.dzzdm =AuthUser.getUser().DPCode;
+                    $http({
+                        method: "post",
+                        url: "../../api/checkdata/saveCheckdata",
+                        data:  $scope.dataModel
+                    }).then(function (result) {
+                        $loading.hide();
+                        if (result.data.success) {
+                            $scope.showMsg('成功', result.data.msg);
+                            //重新刷新列表
+                            $scope.loadData();
+                            $scope.$hide();
+                        }
+                        else {
+                            $scope.showMsg('失败', result.data.msg);
+                        }
+                    }, function (resp) {
+                        $loading.hide();
+                        $scope.showMsg('错误', '服务器错误');
+                    });
+                }
+            };
+        };
+        editCtrl.$inject = ['$scope', '$http','$partySelect','AuthUser'];
+        //定义模态框
+        var editModal = $modal({
+            resolve: {
+                load: ['$ocLazyLoad', function ($ocLazyLoad) {
+                }]
+            },
+            scope: $scope,
+            controller: editCtrl,
+            templateUrl: '../main/party/checkData/edit.html',
+            show: false,
+            animation: 'am-fade-and-slide-top'
+        });
+
+        //新增编辑
+        $scope.add = function () {
+            $scope.editRedit(null,'新增名单');
+        };
+        $scope.edit = function (id) {
+            $scope.editRedit(id,'修改名单');
+        };
+
+        $scope.editRedit =(id,title)=>{
+            $http.get("../../api/checkdata/getCheckdata", {
+                params: {
+                    'id': id
+                }
+            }).then(function (result) {
+                if (result.data.item) {
+                    editModal.data  = result.data.item;
+                    editModal.params = {
+                        title: title
+                    };
+                    editModal.$promise.then(editModal.show);
+                } else {
+                    $scope.showMsg('错误', result.data.msg);
+                }
+            })
+        }
+        $scope.delete = function (id) {
+            if (confirm("是否确定删除?")) {
+                $http({
+                    url: "../../api/checkdata/deleteCheckNameList",
+                    method: 'post',
+                    data: {nameIdList: [id]}
+                }).then(function (result) {
+                    $scope.showMsg("消息", result.data.msg);
+                    if (result.data.success) {
+                        $scope.loadData();
+                    }
+                });
+            }
+        };
+
+        $scope.export = function () {
+            if ($scope.selectparams.dzzdm != "") {
+                var params = "?1=1";
+                for (var p in $scope.selectparams) {
+                    if ($scope.selectparams[p] !== '' && $scope.selectparams[p] !== null)
+                        params += ("&" + p + "=" + encodeURI($scope.selectparams[p]));
+                }
+                window.open('../../api/checkdata/exportCheckData' + params);
+            }
+        };
+
+        $scope.showMsg = function (title, content) {
+            $alert({
+                title: title + ':',
+                content: content,
+                placement: 'top',
+                type: 'info',
+                show: true,
+                duration: 3
+            });
+
+        };
+        $scope.isShowClick = function(){
+            $scope.isShow=!$scope.isShow;
+            if($scope.moreTxt == "更多")
+            {
+                $scope.moreTxt = "收起";
+            }
+            else if($scope.moreTxt == "收起")
+            {
+                $scope.moreTxt = "更多";
+            }
+        };
+        $scope.setisunfold = function () {
+            $scope.selectparams.isunfold = !$scope.selectparams.isunfold;
+            $scope.$emit('menudatas.toggle', !$scope.selectparams.isunfold);
+        };
+        $scope.reset  = function () {
+            $scope.selectparams.year = null;
+            $scope.selectparams.selectdzzmc = '';
+            $scope.selectparams.remark ='';
+         }
+    });
+})(angular);

+ 2 - 7
src/main/resources/static/app/main/party/checkNameList/list.js

@@ -77,11 +77,6 @@
             }
         }, true);
 
-        $scope.$on('tabChildReloadData',function (event,data) {
-            if(data.name=='ztdrxxCtrl'){
-                $scope.loadData();
-            }
-        });
         //查询
         $scope.search = function () {
             $scope.loadData();
@@ -113,7 +108,7 @@
         $scope.getQuartersList();
 
         $scope.enableStatusList=[];
-        $scope.getYearsList = function () {
+        $scope.getEnableStatusList = function () {
             $http({
                 method: 'get',
                 url: '../../api/dictionary/getDictionaryListByDicTypeKey',
@@ -124,7 +119,7 @@
 
             });
         };
-        $scope.getYearsList();
+        $scope.getEnableStatusList();
 
         //加载列表数据
         $scope.loadData = function () {

+ 288 - 0
src/main/resources/static/public/NewsWithPicDetail.html

@@ -0,0 +1,288 @@
+<!DOCTYPE html>
+<html class="no-fouc js borderradius opacity cssanimations csscolumns cssgradients cssreflections csstransforms no-csstransforms3d csstransitions fontface no-generatedcontent video audio csstransforms3d" style="display: block;">
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    <!-- Meta Tags -->
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <!-- Title -->
+    <title>党建信息门户</title>
+
+    <!-- Favicon -->
+    <link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
+    <!-- Stylesheets -->
+    <link href="content/bootstrap.min.css" rel="stylesheet" type="text/css">
+    <link href="content/fontello.css" rel="stylesheet" type="text/css">
+    <link href="content/flexslider.css" rel="stylesheet" type="text/css">
+    <link href="content/settings.css" rel="stylesheet" type="text/css" media="screen">
+    <link href="content/responsive-calendar.css" rel="stylesheet" type="text/css">
+    <link href="content/chosen.css" rel="stylesheet" type="text/css">
+    <link href="content/cloud-zoom.css" rel="stylesheet" type="text/css">
+    <link href="content/style.css" rel="stylesheet" type="text/css">
+    <link href="content/owl.carousel.css" rel="stylesheet" type="text/css">
+    <link href="content/carousel_owl.theme.css" rel="stylesheet" type="text/css">
+    <link href="content/page.css" rel="stylesheet" type="text/css">
+    <link href="content/idangerous.swiper.css" rel="stylesheet" type="text/css">
+
+    <link href="content/i-style.css" rel="stylesheet" type="text/css">
+    <!--[if IE 9]>
+    <link rel="stylesheet" href="/r/cms/www/default/v2/css/ie9.css">
+    <![endif]-->
+    <!--[if lt IE 9]>
+    <script src="/r/cms/www/default/v2/js/html5shiv.js"></script>
+
+    <link rel="stylesheet" href="/r/cms/www/default/v2/css/ie.css">
+    <![endif]-->
+    <!--[if IE 7]>
+    <link rel="stylesheet" href="/r/cms/www/default/v2/css/fontello-ie7.css">
+    <![endif]-->
+    <style type="text/css">
+
+        .no-fouc {
+            display: none;
+        }
+    </style>
+    <!-- jQuery -->
+    <!--script src="/r/cms/www/default/v2/js/jquery-1.11.0.min.js"></script-->
+    <script src="script/jquery-1.9.1.min.js"></script>
+    <script src="script/owl.carousel.js"></script>
+    <script src="script/jquery-ui-1.10.4.min.js"></script>
+    <!-- Preloader -->
+    <script src="script/jquery.queryloader2.min.js"></script>
+    <script src="script/front.js" type="text/javascript"></script>
+    <script src="script/slider.js"></script>
+    <script src="script/idangerous.swiper.min.js"></script>
+
+    <!-- /Container -->
+    <!-- JavaScript -->
+    <!-- Bootstrap -->
+    <script type="text/javascript" src="script/bootstrap.min.js"></script>
+    <!-- angular -->
+    <script type="text/javascript" src="script/angular.min.js"></script>
+    <script type="text/javascript" src="NewsWithPicDetail.js"></script>
+    <!-- Modernizr -->
+    <script type="text/javascript" src="script/modernizr.js"></script>
+    <!-- Sliders/Carousels -->
+    <script type="text/javascript" src="script/jquery.flexslider-min.js"></script>
+    <script type="text/javascript" src="script/owl.carousel.min.js"></script>
+    <!-- Revolution Slider  -->
+    <script type="text/javascript" src="script/jquery.themepunch.plugins.min.js"></script>
+    <script type="text/javascript" src="script/jquery.themepunch.revolution.min.js"></script>
+    <!-- Calendar -->
+    <script type="text/javascript" src="script/responsive-calendar.min.js"></script>
+    <!-- Raty -->
+    <script type="text/javascript" src="script/jquery.raty.min.js"></script>
+    <!-- Chosen -->
+    <script type="text/javascript" src="script/chosen.jquery.min.js"></script>
+    <!-- MixItUp -->
+    <script type="text/javascript" src="script/jquery.mixitup.js"></script>
+    <!-- CloudZoom -->
+    <script type="text/javascript" src="script/zoomsl-3.0.min.js"></script>
+    <!-- Main Script -->
+    <script type="text/javascript" src="script/script.js"></script>
+    <!--[if lt IE 9]>
+    <script type="text/javascript" src="/r/cms/www/default/v2/js/jquery.placeholder.js"></script>
+    <script type="text/javascript" src="/r/cms/www/default/v2/js/script_ie.js"></script>
+    <![endif]-->
+
+    <script src="script/wheeled.js" type="text/javascript"></script>
+    <style>
+
+        .hove {
+            background: #fecf75 !important;
+            text-decoration: none;
+        }
+
+        .hove h4 {
+            color: #fff;
+        }
+
+        .hove .icons {
+            color: #f89c9c;
+        }
+    </style>
+    <script src="script/script.js"></script>
+</head>
+<body class="sticky-header-on tablet-sticky-header" style="padding-top: 223px;" ng-app="gtPartyApp"
+      ng-controller="newswithpicdetailController">
+<div id="fb-root"></div>
+<!-- Container -->
+<div class="container">
+    <!-- Header -->
+    <header id="header" class="sticky-header" style="opacity: 1;">
+        <style>
+
+            .loginDiv {
+                background: #ee3333;
+                color: #ffffff;
+            }
+
+            .loginInfo > * {
+                color: #ffffec;
+            }
+
+            .loginInfo > a:hover {
+                color: #f2f2f4;
+            }
+        </style>
+        <script src="script/jquery.js" type="text/javascript"></script>
+        <script type="text/javascript">
+            $(function () {
+                //优先执行第三方退出 在执行本地退出
+                $('#logout').click(function () {
+                    location = "/logout.jspx?returnUrl=/";
+                });
+            });
+        </script>
+        <div class="row topbar">
+            <div class="container">
+                <div class="i-logo">{{sysName}}党建信息门户</div>
+                <div class="col-lg-5 col-md-5 col-sm-5 align-right hidden-xs" style="float: right;">
+                    <i class="glyphicon glyphicon-list-alt"> </i><a href="#">设为首页</a>
+                    <i class="glyphicon glyphicon-globe"> </i><a href="#">收藏</a>
+                    <i class="glyphicon icon-user"> </i><a ng-href="{{homeUrl}}">登录</a>
+                </div>
+                <!--<div class="i-search">
+                    <input type="search" value="">
+                    <button><i class="icons icon-search"></i></button>
+                </div>-->
+            </div>
+        </div>
+
+        <div id="lower-header">
+            <div class="container">
+                <div id="menu-button">
+                    <div>
+                        <span></span>
+                        <span></span>
+                        <span></span>
+                    </div>
+                    <span>菜单</span>
+                </div>
+                <ul id="navigation">
+                    <li>
+                        <!-- 一级菜单 -->
+                        <a href="index.html" target="_self">首页</a>
+                        <!-- /一级菜单 -->
+                    </li>
+
+                    <li ng-repeat="item in menuLists" ng-mouseenter="getMenuByParentID(item)" ng-mouseleave="clearNum()">
+                        <!-- 一级菜单 -->
+                        <a href="flDetail.html?moduleid={{item.moduleid}}" target="_self">{{item.modulename}}</a>
+                        <!-- /一级菜单 -->
+                        <!-- 二级菜单 -->
+                        <ul>
+                            <li ng-repeat="menu in item.childMenus">
+                                <a href="flDetail.html?moduleid={{item.moduleid}}" target="_self">{{menu.modulename}}</a>
+                            </li>
+                        </ul>
+                        <!-- /二级菜单 -->
+                        <div class="dropdown-button"></div>
+                    </li>
+                </ul>
+            </div>
+        </div>
+        <div style="width: 100%">
+            <img src="images/banner.jpg" style="height: 300px;object-fit: cover">
+        </div>
+    </header>
+    <!-- /Header -->
+    <section id="content">
+
+        <!-- 模态框 显示二维码 -->
+        <div class="modal fade" tabindex="-1" role="dialog" id="maModal"
+             style="z-index: 99999;" aria-hidden="true">
+            <div class="modal-dialog" style="width: 400px;height: 400px">
+                <div class="modal-content">
+                    <div class="modal-header">
+                        <button type="button" class="close" data-dismiss="modal"
+                                aria-hidden="true">×
+                        </button>
+                        <h4 class="modal-title">
+                            二维码展示
+                        </h4>
+                    </div>
+                    <div class="modal-body" style="height: 350px">
+                        <img width="100%" height="100%" src="images/ma.png"/>
+                    </div>
+                    <div class="modal-footer">
+                        <button type="button" class="btn btn-default"
+                                data-dismiss="modal">关闭
+                        </button>
+                    </div>
+                </div><!-- /.modal-content -->
+            </div><!-- /.modal-dialog -->
+        </div><!-- /.modal -->
+
+        <!-- Section -->
+        <section class="section full-width-bg">
+            <!--navpath-->
+            <div class="navpath navpathwb w1000">
+                <a class="clink" href="index.html">首页</a>&gt;&gt;<a class="clink" href="#">{{modulename_in}}</a>
+            </div>
+            <!--text_title-->
+            <div class="text_title w1000 clearfix">
+                <h3 class="pre"></h3>
+                <h1>{{dataModel.title}}</h1>
+                <h4 class="sub"></h4>
+                <p class="author"></p>
+                <div class="ptime"><i>{{dataModel.publishtime | date:'yyyy年MM月dd日HH:mm'}}</i></div>
+            </div>
+            <div class="text_con w1000 clearfix">
+                <p ng-repeat="item in imgList" style="text-align: center">
+                    <img ng-src="../../api/home/showImg/{{item.fileid}}" alt=""/>
+                </p>
+                <p style="text-indent: 2em" ng-bind-html="dataModel.subjectcontent|trust2Html">
+                </p>
+                <div class="zdfy clearfix"></div>
+                <center>
+                    <table width="40%" align="center" border="0">
+                        <tbody>
+                        <tr></tr>
+                        </tbody>
+                    </table>
+                </center>
+                <p class="editor">(责编:{{dataModel.createusername}})</p>
+            </div>
+        </section>
+        <!-- /Section -->
+    </section>
+    <!-- Footer -->
+    <footer id="footer" style="position:relative">
+
+        <!-- Lower Footer -->
+        <div id="lower-footer">
+            <div class="row">
+
+                <div class="col-lg-4 col-md-4 col-sm-4 animate-onscroll" style="opacity: 0;">
+                    <p class="copyright">
+                        <!--<i class="icon-chart-bar-1"></i>网内文章:38591<br />
+                        <i class="glyphicon glyphicon-flash"></i> 网站点击量:<span id="pv">18977548</span><br>
+                        <i class="glyphicon glyphicon-record"></i> 访客数总量:<span id="visitor">1847387</span><br>-->
+
+                    </p>
+                </div>
+                <div class="col-lg-4 col-md-4 col-sm-4 animate-onscroll align-center" style="opacity: 0;">
+                    <p class="copyright">
+                        © 2019 {{sysName}}  版权所有<br>
+                        请勿登载和传播涉密信息 <br>
+
+                        <span>技术支持:联奕科技</span>
+
+                    </p>
+                </div>
+
+                <div class="ma">
+
+                </div>
+            </div>
+        </div>
+        <!-- /Lower Footer -->
+    </footer>
+    <!-- /Footer -->
+
+    <!-- Back To Top -->
+    <a href="#" id="button-to-top" style="display: none;"><i class="icons icon-up-dir"></i></a>
+</div>
+</body>
+</html>

+ 142 - 0
src/main/resources/static/public/NewsWithPicDetail.js

@@ -0,0 +1,142 @@
+(function ($ang, win) {
+    'use strict';
+    $ang.module('gtPartyApp', [])
+        .controller('newswithpicdetailController', function ($scope, $http) {
+
+            $scope.sysName = "";
+            $scope.dataModel = [];
+
+            var url = location.search //获取url中"?"符后的字串
+            var theRequest = new Object()
+            if (url.indexOf('?') != -1) {
+                var str = url.substr(1) //substr()方法返回从参数值开始到结束的字符串;
+                var strs = str.split('&')
+                for (var i = 0; i < strs.length; i++) {
+                    theRequest[strs[i].split('=')[0]] = strs[i].split('=')[1]
+                }
+            }
+
+            $scope.id = theRequest.id;
+            $scope.modulename_in = decodeURI(theRequest.modulename);
+            $scope.clearFlag = 1;
+            $scope.selectdata = {pageindex: 1, pagesize: 15, ptotal: 0};
+            $scope.modulename = '';
+            $scope.menuLists = [];
+
+            $scope.clearNum = function(){
+                if ($scope.clearFlag == 1){
+                    $scope.clearFlag == 0;
+                }else {
+                    $scope.clearFlag == 1;
+                }
+            }
+
+            $scope.getHomeUrl=function(){
+                $http.get("../../api/news/GetHomeUrl", {}
+                ).then(function (res) {
+                    $scope.homeUrl=res.data.item;
+                });
+
+            };
+
+            $scope.getHomeUrl();
+
+            //加载所有的父菜单记录
+            $scope.getMenuList = function () {
+                $http.get("../../api/news/moduleList", {
+                    params: {
+                        'modulename': $scope.modulename,
+                        'pageindex': $scope.selectdata.pageindex,
+                        'pagesize': $scope.selectdata.pagesize
+                    }
+                }).then(function (value) {
+                    $scope.menuLists = value.data.item.list;
+                    $scope.selectdata.total = value.data.item.total;
+                }, function (reason) {
+                    console.log(reason);
+                });
+                $http
+                ({
+                    method: 'get',
+                    url: '../../api/news/sysName',
+                    params: {
+                    }
+                }).then(function (result) {
+                    $scope.sysName=result.data.item;
+                }, function (resp) {
+                    $scope.showMsg('错误', '服务器错误');
+                })
+            };
+
+            //根据当前项的menuID找到其所有的子菜单
+            $scope.getMenuByParentID = function (item) {
+                if ($scope.clearFlag == 1){
+                    $http.get("../../api/news/getmoduleList", {
+                        params: {
+                            'parentModuleId': item.moduleid,
+                            pageindex : 1,
+                            pagesize : 999
+                        }
+                    }).then(function (result) {
+                        item.childMenus = result.data.item.list;
+
+                    }, function (reason) {
+                        console.log("无匹配项");
+                    });
+                }
+            };
+
+            //加载单个菜单
+            $scope.getSingleMenu = function () {
+                $http.get("../../api/news/getModule", {
+                    params: {
+                        'moduleId': $scope.moduleid,
+                    }
+                }).then(function (value) {
+                    $scope.menuInfo = value.data.item;
+                }, function (reason) {
+                    console.log(reason);
+                });
+            };
+
+            //获取图片
+            $scope.getImgList = function () {
+                $http
+                ({
+                    method: 'get',
+                    url: '../../api/filemgr/getFileList',
+                    params: {
+                        filerefid: $scope.id ,
+                        pageindex: 1,
+                        pagesize: 1000
+                    }
+                }).then(function (result) {
+                    $scope.imgList = result.data.item.list;
+                    console.log($scope.imgList)
+                });
+            };
+
+            $scope.loadData = function () {
+                $scope.getMenuList();
+                $scope.getSingleMenu();
+                $scope.getImgList();
+
+                $http.get("../../api/news/getNewsWithPic", {
+                    params: {
+                        'ID': $scope.id,
+                    }
+                }).then(function (result) {
+                    $scope.dataModel = result.data.item;
+                }, function () {
+                    $scope.showMsg('错误', '服务器错误');
+                });
+            }
+
+            $scope.loadData();
+
+        }).filter('trust2Html', ['$sce',function($sce) {
+        return function(val) {
+            return $sce.trustAsHtml(val);
+        };
+    }]);
+})(angular, this);

+ 55 - 0
src/main/resources/static/public/content/ad.css

@@ -0,0 +1,55 @@
+@charset "utf-8";
+/* floatingAd */
+
+.ad, .ad::before, .ad::after {
+    position: absolute;
+    top: 0;
+    bottom: 0;
+    left: 0;
+    right: 0;
+}
+
+.ad {
+    width: 180px;
+    height: 110px;
+    margin: auto;
+    color: #EC544F;
+    box-shadow: inset 0 0 0 1px rgba(105, 202, 98, 0.5);
+}
+.ad::before, .ad::after {
+    content: '';
+    z-index: -1;
+    margin: -5%;
+    box-shadow: inset 0 0 0 2px;
+    animation: clipMe 8s linear infinite;
+}
+.ad::before {
+    animation-delay: -4s;
+}
+.ad:hover::after, .ad:hover::before {
+    background-color: rgba(255, 0, 0, 0.3);
+}
+
+@keyframes clipMe {
+    0%, 100% {
+        clip: rect(0px, 200.0px, 2px, 0px);
+    }
+    25% {
+        clip: rect(0px, 2px, 200.0px, 0px);
+    }
+    50% {
+        clip: rect(198.0px, 200.0px, 200.0px, 0px);
+    }
+    75% {
+        clip: rect(0px, 200.0px, 200.0px, 198.0px);
+    }
+}
+.floatingAd .ad{z-index:100;background:none;position:absolute;display:none;}
+.floatingAd a{color:#000000; display:inline-block;text-decoration:none;}
+.floatingAd a img{border:0;}
+.floatingAd .close{display:none;}
+.floatingAd .opacity{position:absolute; top:0; width:100%; height:25px; background-color:#000000; opacity:0.20; filter:alpha(opacity = 20);}
+.opacity1{opacity:0.90; filter:alpha(opacity = 90);}
+.floatingAd .text{position:absolute; top:0; width:100%; height:25px; color:#000000; line-height:25px; }
+.floatingAd .text .button{position:relative;float:right;top:5px;right:15px;width:16px;height:16px;background:url("../img/guangao/close.png") no-repeat;cursor:pointer;border:0;margin-right: -10px;}
+.floatingAd .text .title{position:relative;float:left;font-size:12px;margin-left:5px;}

File diff suppressed because it is too large
+ 6584 - 0
src/main/resources/static/public/content/bootstrap.css


File diff suppressed because it is too large
+ 5 - 0
src/main/resources/static/public/content/bootstrap.min.css


+ 79 - 0
src/main/resources/static/public/content/carousel_owl.theme.css

@@ -0,0 +1,79 @@
+/*
+* 	Owl Carousel Owl Demo Theme 
+*	v1.24
+*/
+
+.owl-theme .owl-controls{
+	margin-top: 4px;
+	text-align: center;
+}
+
+/* Styling Next and Prev buttons */
+
+.owl-theme .owl-controls .owl-buttons div{
+	color: #FFF;
+	display: inline-block;
+	zoom: 1;
+	*display: inline;/*IE7 life-saver */
+	margin: 5px;
+	padding: 3px 10px;
+	font-size: 12px;
+	-webkit-border-radius: 30px;
+	-moz-border-radius: 30px;
+	border-radius: 30px;
+	background: #869791;
+	filter: Alpha(Opacity=50);/*IE7 fix*/
+	opacity: 0.5;
+}
+/* Clickable class fix problem with hover on touch devices */
+/* Use it for non-touch hover action */
+.owl-theme .owl-controls.clickable .owl-buttons div:hover{
+	filter: Alpha(Opacity=100);/*IE7 fix*/
+	opacity: 1;
+	text-decoration: none;
+}
+
+/* Styling Pagination*/
+
+.owl-theme .owl-controls .owl-page{
+	display: inline-block;
+	zoom: 1;
+	*display: inline;/*IE7 life-saver */
+}
+.owl-theme .owl-controls .owl-page span{
+	display: block;
+	width: 12px;
+	height: 12px;
+	margin: 5px 7px;
+	filter: Alpha(Opacity=50);/*IE7 fix*/
+	opacity: 0.5;
+	-webkit-border-radius: 20px;
+	-moz-border-radius: 20px;
+	border-radius: 20px;
+	background: #869791;
+}
+
+.owl-theme .owl-controls .owl-page.active span,
+.owl-theme .owl-controls.clickable .owl-page:hover span{
+	filter: Alpha(Opacity=100);/*IE7 fix*/
+	opacity: 1;
+}
+
+/* If PaginationNumbers is true */
+
+.owl-theme .owl-controls .owl-page span.owl-numbers{
+	height: auto;
+	width: auto;
+	color: #FFF;
+	padding: 2px 10px;
+	font-size: 12px;
+	-webkit-border-radius: 30px;
+	-moz-border-radius: 30px;
+	border-radius: 30px;
+}
+
+/* preloading images */
+.owl-item.loading{
+	min-height: 150px;
+	background: url(AjaxLoader.gif) no-repeat center center
+}

+ 425 - 0
src/main/resources/static/public/content/chosen.css

@@ -0,0 +1,425 @@
+/*!
+Chosen, a Select Box Enhancer for jQuery and Prototype
+by Patrick Filler for Harvest, http://getharvest.com
+
+Version 1.1.0
+Full source at https://github.com/harvesthq/chosen
+Copyright (c) 2011 Harvest http://getharvest.com
+
+MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md
+This file is generated by `grunt build`, do not edit it by hand.
+*/
+
+/* @group Base */
+.chosen-container {
+  position: relative;
+  display: inline-block;
+  vertical-align: middle;
+  font-size: 14px;
+  zoom: 1;
+  *display: inline;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  user-select: none;
+}
+.chosen-container .chosen-drop {
+  position: absolute;
+  top: 100%;
+  left: -9999px;
+  z-index: 1010;
+  -webkit-box-sizing: border-box;
+  -moz-box-sizing: border-box;
+  box-sizing: border-box;
+  width: 100%;
+  border: 1px solid transparent;
+  border-top: 0;
+  background: #fff;
+}
+.chosen-container.chosen-with-drop .chosen-drop {
+  left: 0;
+}
+.chosen-container a {
+  cursor: pointer;
+}
+
+/* @end */
+/* @group Single Chosen */
+.chosen-container-single .chosen-single {
+  position: relative;
+  display: block;
+  overflow: hidden;
+  padding: 8px 0 0 10px;
+  height: 40px;
+  background-color: #fafbfd;
+  border:1px solid #dee0e5;
+  background-clip: padding-box;
+  color: #95999e;
+  text-decoration: none;
+  text-transform:none!important;
+  white-space: nowrap;
+  line-height: 24px;
+  border-radius:3px;
+  -webkit-border-radius:3px;
+  -moz-border-radius:3px;
+}
+.chosen-container-single .chosen-default {
+  color: #999;
+}
+.chosen-container-single .chosen-single span {
+  display: block;
+  overflow: hidden;
+  margin-right: 26px;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+.chosen-container-single .chosen-single-with-deselect span {
+  margin-right: 38px;
+}
+.chosen-container-single .chosen-single abbr {
+  position: absolute;
+  top: 6px;
+  right: 26px;
+  display: block;
+  width: 12px;
+  height: 12px;
+  background: url('../img/chosen-sprite.png') -42px 1px no-repeat;
+  font-size: 1px;
+}
+.chosen-container-single .chosen-single div {
+  position: absolute;
+  top: 3px;
+  right: 0;
+  display: block;
+  width: 18px;
+  height: 100%;
+}
+.chosen-container-single .chosen-single div b {
+  display: block;
+  width: 100%;
+  height: 100%;
+  background: url('../img/chosen-sprite.png') no-repeat 0px 6px;
+}
+.chosen-container-single .chosen-search {
+  position: relative;
+  z-index: 1010;
+  margin: 0;
+  padding: 3px 4px;
+  white-space: nowrap;
+}
+.chosen-container-single .chosen-search input[type="text"] {
+  -webkit-box-sizing: border-box;
+  -moz-box-sizing: border-box;
+  box-sizing: border-box;
+  margin: 1px 0;
+  padding: 4px 20px 4px 5px;
+  width: 100%;
+  height: auto;
+  outline: 0;
+  border: 1px solid #aaa;
+  background: white url('../img/chosen-sprite.png') no-repeat 100% -20px;
+  background: url('../img/chosen-sprite.png') no-repeat 100% -20px;
+  font-size: 1em;
+  font-family:'Open Sans', sans-serif;
+  line-height: normal;
+  border-radius: 0;
+}
+.chosen-container-single .chosen-drop {
+  margin-top: -1px;
+  background-clip: padding-box;
+  border-radius:0 0 5px 5px;
+  -webkit-border-radius:0 0 5px 5px;
+  -moz-border-radius:0 0 5px 5px;
+}
+.chosen-container-single.chosen-container-single-nosearch .chosen-search {
+  position: absolute;
+  left: -9999px;
+}
+
+/* @end */
+/* @group Results */
+.customize-box .chosen-container .chosen-results{
+	border-color:transparent;
+  border-radius:0 0 5px 5px;
+  -webkit-border-radius:0 0 5px 5px;
+  -moz-border-radius:0 0 5px 5px;
+   overflow:hidden;
+	border:none;
+}
+
+.chosen-container .chosen-results {
+  position: relative;
+  overflow-x: hidden;
+  border:1px solid #dee0e5;
+  overflow-y: auto;
+  margin: 0;
+  padding: 0;
+  max-height: 240px;
+  -webkit-overflow-scrolling: touch;
+  border-radius:0 0 3px 3px;
+  -webkit-border-radius:0 0 3px 3px;
+  -moz-border-radius:0 0 3px 3px;
+}
+.chosen-container .chosen-results li {
+  display: none;
+  margin: 0;
+  padding: 13px 6px;
+  list-style: none;
+  line-height: 15px;
+  -webkit-touch-callout: none;
+  color: #95999e;
+  background:#fafbfd;
+  text-transform:none;
+}
+.chosen-container .chosen-results li:last-child{
+  border-radius:0 0 3px 3px;
+  -webkit-border-radius:0 0 3px 3px;
+  -moz-border-radius:0 0 3px 3px;
+}
+.chosen-container .chosen-results li.active-result {
+  display: list-item;
+  cursor: pointer;
+}
+.chosen-container .chosen-results li.disabled-result {
+  display: list-item;
+  color: #ccc;
+  cursor: default;
+}
+.chosen-container .chosen-results li.highlighted {
+  background-color: #f56363;
+  color:#fff;
+}
+.chosen-container .chosen-results li.no-results {
+  display: list-item;
+  background: #f4f4f4;
+}
+.chosen-container .chosen-results li.group-result {
+  display: list-item;
+  font-weight: bold;
+  cursor: default;
+}
+.chosen-container .chosen-results li.group-option {
+  padding-left: 15px;
+}
+.chosen-container .chosen-results li em {
+  font-style: normal;
+  text-decoration: underline;
+}
+
+/* @end */
+/* @group Multi Chosen */
+.chosen-container-multi .chosen-choices {
+  position: relative;
+  overflow: hidden;
+  -webkit-box-sizing: border-box;
+  -moz-box-sizing: border-box;
+  box-sizing: border-box;
+  margin: 0;
+  padding: 0;
+  width: 100%;
+  height: auto !important;
+  height: 1%;
+  border: 1px solid #aaa;
+  background-color: #fff;
+  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff));
+  background-image: -webkit-linear-gradient(#eeeeee 1%, #ffffff 15%);
+  background-image: -moz-linear-gradient(#eeeeee 1%, #ffffff 15%);
+  background-image: -o-linear-gradient(#eeeeee 1%, #ffffff 15%);
+  background-image: linear-gradient(#eeeeee 1%, #ffffff 15%);
+  cursor: text;
+}
+.chosen-container-multi .chosen-choices li {
+  float: left;
+  list-style: none;
+}
+.chosen-container-multi .chosen-choices li.search-field {
+  margin: 0;
+  padding: 0;
+  white-space: nowrap;
+}
+.chosen-container-multi .chosen-choices li.search-field input[type="text"] {
+  margin: 1px 0;
+  padding: 5px;
+  height: 15px;
+  outline: 0;
+  border: 0 !important;
+  background: transparent !important;
+  box-shadow: none;
+  color: #666;
+  font-size: 100%;
+  font-family:'Roboto', sans-serif;
+  line-height: normal;
+  border-radius: 0;
+}
+.chosen-container-multi .chosen-choices li.search-field .default {
+  color: #999;
+}
+.chosen-container-multi .chosen-choices li.search-choice {
+  position: relative;
+  margin: 3px 0 3px 5px;
+  padding: 3px 20px 3px 5px;
+  border: 1px solid #aaa;
+  background-color: #e4e4e4;
+  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee));
+  background-image: -webkit-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
+  background-image: -moz-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
+  background-image: -o-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
+  background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
+  background-clip: padding-box;
+  box-shadow: 0 0 2px white inset, 0 1px 0 rgba(0, 0, 0, 0.05);
+  color: #333;
+  line-height: 13px;
+  cursor: default;
+}
+.chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
+  position: absolute;
+  top: 4px;
+  right: 3px;
+  display: block;
+  width: 12px;
+  height: 12px;
+  background: url('../img/chosen-sprite.png') -42px 1px no-repeat;
+  font-size: 1px;
+}
+.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover {
+  background-position: -42px -10px;
+}
+.chosen-container-multi .chosen-choices li.search-choice-disabled {
+  padding-right: 5px;
+  border: 1px solid #ccc;
+  background-color: #e4e4e4;
+  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee));
+  background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
+  background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
+  background-image: -o-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
+  background-image: linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
+  color: #666;
+}
+.chosen-container-multi .chosen-choices li.search-choice-focus {
+  background: #d4d4d4;
+}
+.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close {
+  background-position: -42px -10px;
+}
+.chosen-container-multi .chosen-results {
+  margin: 0;
+  padding: 0;
+}
+.chosen-container-multi .chosen-drop .result-selected {
+  display: list-item;
+  color: #ccc;
+  cursor: default;
+}
+
+/* @end */
+/* @group Active  */
+.chosen-container-active.chosen-with-drop .chosen-single div {
+  border-left: none;
+  background: transparent;
+}
+.chosen-container-active.chosen-with-drop .chosen-single div b {
+  background-position: -18px 6px;
+}
+.chosen-container-active .chosen-choices {
+  border: 1px solid #5897fb;
+  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
+}
+.chosen-container-active .chosen-choices li.search-field input[type="text"] {
+  color: #111 !important;
+}
+
+/* @end */
+/* @group Disabled Support */
+.chosen-disabled {
+  opacity: 0.5 !important;
+  cursor: default;
+}
+.chosen-disabled .chosen-single {
+  cursor: default;
+}
+.chosen-disabled .chosen-choices .search-choice .search-choice-close {
+  cursor: default;
+}
+
+/* @end */
+/* @group Right to Left */
+.chosen-rtl {
+  text-align: right;
+}
+.chosen-rtl .chosen-single {
+  overflow: visible;
+  padding: 0 8px 0 0;
+}
+.chosen-rtl .chosen-single span {
+  margin-right: 0;
+  margin-left: 26px;
+  direction: rtl;
+}
+.chosen-rtl .chosen-single-with-deselect span {
+  margin-left: 38px;
+}
+.chosen-rtl .chosen-single div {
+  right: auto;
+  left: 3px;
+}
+.chosen-rtl .chosen-single abbr {
+  right: auto;
+  left: 26px;
+}
+.chosen-rtl .chosen-choices li {
+  float: right;
+}
+.chosen-rtl .chosen-choices li.search-field input[type="text"] {
+  direction: rtl;
+}
+.chosen-rtl .chosen-choices li.search-choice {
+  margin: 3px 5px 3px 0;
+  padding: 3px 5px 3px 19px;
+}
+.chosen-rtl .chosen-choices li.search-choice .search-choice-close {
+  right: auto;
+  left: 4px;
+}
+.chosen-rtl.chosen-container-single-nosearch .chosen-search,
+.chosen-rtl .chosen-drop {
+  left: 9999px;
+}
+.chosen-rtl.chosen-container-single .chosen-results {
+  margin: 0 0 4px 4px;
+  padding: 0 4px 0 0;
+}
+.chosen-rtl .chosen-results li.group-option {
+  padding-right: 15px;
+  padding-left: 0;
+}
+.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div {
+  border-right: none;
+}
+.chosen-rtl .chosen-search input[type="text"] {
+  padding: 4px 5px 4px 20px;
+  background: white url('../img/chosen-sprite.png') no-repeat -30px -20px;
+  background: url('../img/chosen-sprite.png') no-repeat -30px -20px;
+  direction: rtl;
+}
+.chosen-rtl.chosen-container-single .chosen-single div b {
+  background-position: 6px 6px;
+}
+.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b {
+  background-position: -12px 6px;
+}
+
+/* @end */
+/* @group Retina compatibility */
+@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-resolution: 144dpi) {
+  .chosen-rtl .chosen-search input[type="text"],
+  .chosen-container-single .chosen-single abbr,
+  .chosen-container-single .chosen-single div b,
+  .chosen-container-single .chosen-search input[type="text"],
+  .chosen-container-multi .chosen-choices .search-choice .search-choice-close,
+  .chosen-container .chosen-results-scroll-down span,
+  .chosen-container .chosen-results-scroll-up span {
+    background-image: url('../img/chosen-sprite@2x.png') !important;
+    background-size: 52px 37px !important;
+    background-repeat: no-repeat !important;
+  }
+}
+/* @end */

+ 38 - 0
src/main/resources/static/public/content/cloud-zoom.css

@@ -0,0 +1,38 @@
+
+/* This is the moving lens square underneath the mouse pointer. */
+.cloud-zoom-lens {
+	border: 4px solid #888;
+	margin:-4px;	/* Set this to minus the border thickness. */
+	background-color:#fff;	
+	cursor:move;		
+}
+
+/* This is for the title text. */
+.cloud-zoom-title {
+	font-family:Arial, Helvetica, sans-serif;
+	position:absolute !important;
+	background-color:#000;
+	color:#fff;
+	padding:3px;
+	width:100%;
+	text-align:center;	
+	font-weight:bold;
+	font-size:10px;
+	top:0px;
+}
+
+/* This is the zoom window. */
+.cloud-zoom-big {
+	border:4px solid #ccc;
+	overflow:hidden;
+}
+
+/* This is the loading message. */
+.cloud-zoom-loading {
+	color:white;	
+	background:#222;
+	padding:3px;
+	border:1px solid #000;
+}
+
+

File diff suppressed because it is too large
+ 108 - 0
src/main/resources/static/public/content/flexslider.css


File diff suppressed because it is too large
+ 2123 - 0
src/main/resources/static/public/content/fontello.css


+ 168 - 0
src/main/resources/static/public/content/i-style.css

@@ -0,0 +1,168 @@
+@charset "UTF-8";
+
+/* Reset */
+*,
+*:after,
+*:before {
+	-webkit-box-sizing: border-box;
+	-moz-box-sizing: border-box;
+	box-sizing: border-box;
+}
+
+ol, ul {
+	list-style: none;
+}
+
+table {
+	border-collapse: collapse;
+	border-spacing: 0;
+}
+
+/* 头部 */
+.i-logo{ height: 56px; font-size: 22px; color: #222; line-height: 56px; text-indent: 40px; font-weight:bold;background: url(../images/i-logo-2.png) no-repeat 0 center; background-size: 26px 26px; float: left;}
+
+.i-search{ position: relative; float: right; right: -170px;}
+.i-search input{ width:168px; height: 30px; background: rgba(0,0,0,.05); border-radius: 5px; padding: 5px; position: relative; transition: all 0.25s ease-in-out;}
+.i-search button{ width:20px; height: 20px; background: none; border: none; transition: all 0.25s ease-in-out;}
+.i-search .icon-search{ position: absolute; right: 50px; top:2px; color: #ccc;}
+.i-search .icon-search:hover{ color: #333;}
+.i-search input:focus{ background: rgba(0,0,0,.1); }
+.i-search input,.i-search button.i-search input:focus,.i-search button:focus{ border: none; outline: none; }
+
+/* 右 */
+.new-box{ position: relative; float: left;}
+.new-box:last-child{ margin-top: 20px;}
+.right-box{ width:490px; height: 190px; background: #fff; border-radius: 5px; }
+.rd-title{ width:100%; float: left; }
+.rd-title h2{ height: 51px; font-size: 18px; color: #333; font-weight: 600; line-height: 51px; text-indent: 56px; padding: 0; margin: 0;}
+.h21{ background: url(../images/title-icon-1.png) no-repeat 10px center;}
+.h22{ background: url(../images/title-icon-1.png) no-repeat 10px center;}
+.rd-title a{ font-size: 12px; color: #8a8a8a; float: right; position: relative; top:-38px; right:20px; padding-right: 10px;}
+.rd-title a:after{ width:8px; height: 8px; content: ""; border-right:1px solid #8a8a8a; border-bottom:1px solid #8a8a8a; transform:rotate(-45deg); -ms-transform:rotate(-45deg); -moz-transform:rotate(-45deg); -webkit-transform:rotate(-45deg); -o-transform:rotate(-45deg); display: block; position: absolute; top:8px; right: 0;}
+.rd-title a:hover{ color: #eb1e0b;}
+
+.new-box ul{ float: left; margin: 0; padding:0 20px; position: relative; top:-10px;}
+.new-box ul li{ float: left; padding: 0 0 15px 0; margin: 0;}
+.new-box ul li a{ width:360px; font-size: 14px; color: #555555; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; float: left;}
+.new-box ul li a:hover{ color: #eb1e0b;}
+.new-box ul li span{ font-size: 14px; color: #a1a1a1; position: absolute; right: 20px; text-align: right; float: right;}
+
+/* 工作动态 */
+.L-title{ width:100%; height: 50px; margin: 30px auto;}
+.L-0{ display: flex;justify-content: center;align-content: center; background: url(../images/L-title.png) no-repeat center center;}
+.L-1{ background: url(../images/L-title-1.png) no-repeat center center;}
+.L-2{ background: url(../images/L-title-2.png) no-repeat center center;}
+.left-part,.right-part{ width:540px; padding: 20px 0; position: relative;height: 320px}
+.left-part{ float: left;}
+.right-part{ float: right;}
+.L-text{  height: 40px;line-height: 40px;margin-top:5px; position: relative; vertical-align: middle;font-size: 32px;}
+
+.cd-title{ height: 38px; border-bottom: 2px solid #e1e7ea;}
+.cd-title h2{ width:75px; height: 38px;text-indent: 0; line-height: normal; border-bottom: 2px solid #eb1e0b;}
+.cd-title a{ right: 0;}
+.nb-1 ul{ top:20px; padding:0 0 30px 0;}
+.nb-1 ul li a{ width:440px;}
+.nb-1 ul li span{ right: 0;}
+
+/* 图片滚动 */
+#jssor_1{ position:relative; width:100%; height:200px; margin: 30px 0; float: left; overflow: hidden;}
+
+.jssorl-009-spin{ position:absolute; top:0px; left:0px; width:100%; height:100%; text-align:center; background-color:rgba(0,0,0,0.7);}
+.jssorl-009-spin img {
+	margin-top:-19px;
+	position:relative;
+	top:50%;
+	width:38px;
+	height:38px;
+	animation-name:jssorl-009-spin;
+	animation-duration:1.6s;
+	animation-iteration-count:infinite;
+	animation-timing-function:linear
+}
+@keyframes jssorl-009-spin {
+	from {
+	transform:rotate(0);
+}
+to {
+	transform:rotate(360deg);
+}
+}.jssorb051 .i {
+	position:absolute;
+	cursor:pointer
+}
+.jssorb051 .i .b {
+	fill:#fff;
+	fill-opacity:.5
+}
+.jssorb051 .i:hover .b {
+	fill-opacity:.7
+}
+.jssorb051 .iav .b {
+	fill-opacity:1
+}
+.jssorb051 .i.idn {
+	opacity:.3
+}
+.jssora051 {
+	display:block;
+	position:absolute;
+	cursor:pointer
+}
+.jssora051 .a {
+	fill:none;
+	stroke:#fff;
+	stroke-width:360;
+	stroke-miterlimit:10
+}
+.jssora051:hover {
+	opacity:.8
+}
+.jssora051.jssora051dn {
+	opacity:.5
+}
+.jssora051.jssora051ds {
+	opacity:.3;
+	pointer-events:none
+}
+
+
+/* 宣传片 */
+.M-title{ width:540px; height: 41px; float: left; display: block;}
+.M-0{ display: flex;justify-content: left;align-content: center; background: url(../images/M-title.png) no-repeat center center;}
+.M-1{ background: url(../images/M-title-1.png)no-repeat 0 center;}
+.M-2{ background: url(../images/M-title-2.png)no-repeat 0 center;}
+.M-content{ width:540px; border:1px solid #9ca9af; border-top: none; float: left; padding: 30px 20px 0 21px;height: 300px;}
+.M-content ul{ float: left; padding: 0; }
+.M-content ul li{ width:150px; float: left; margin: 0 22px 0 0; overflow: hidden;}
+.M-content ul li a img{ width:150px; height: 85px; display: block; border-radius: 3px; overflow: hidden;}
+.M-content ul li h3{ font-size: 14px; color: #555; text-align: center; padding: 10px 0 20px 0; margin: 0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
+.L-1{ background: url(../images/L-title-1.png) no-repeat center center;}
+.M-text{  left: 30px;height: 60px;line-height: 40px; position: relative; vertical-align: middle;font-size: 30px;}
+.M-text1{  left: 45px;height: 60px;line-height: 40px; position: relative; vertical-align: middle;font-size: 30px;}
+
+/* 专题专栏 */
+.zhuanti{ padding: 20px 0; float: left;}
+.zhuanti li{ width:350px; height: 115px; display: block; overflow: hidden; float: left; margin: 0 55px 20px 0;}
+.zhuanti li a img{ width:350px; height: 115px; border-radius: 5px; display: block;}
+
+/* 友情链接 */
+.a-title{ width:100%; font-size: 18px; color: #333; font-weight: 600; float: left; padding:0 0 30px 0;}
+.link{ padding: 0; float: left;}
+.link li{ width:250px; height: 70px; display: block; overflow: hidden; float: left; margin: 0 40px 20px 0;}
+.link li a img{ width:250px; height: 70px; border-radius: 5px; display: block;}
+.yqlj-left-part,.yqlj-right-part{ width:1200px; padding: 20px 5px; position: relative;height: 320px}
+
+
+/* E刊展示 */
+.EK{ padding: 0; float: left;}
+.EK li{ width:135px; display: block; overflow: hidden; float: left; margin: 0 50px 0 0;}
+.EK li:last-child{ margin-right: 0;}
+.EK li a img{ width:135px; height: 180px; display: block;}
+.EK li h3{ font-size: 14px; color: #555; line-height: 24px; text-align: center; padding: 10px 0 20px 0; margin: 0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
+
+/* 明细页面 */
+.d-left-part{ width:240px; padding: 20px 0; position: relative;}
+.d-right-part{ width:900px; padding: 20px 0; position: relative;}
+.d-left-part{ float: left;}
+.d-right-part{ float: right;}
+.d-height { height: 500px }

File diff suppressed because it is too large
+ 7 - 0
src/main/resources/static/public/content/icon-font.min.css


+ 124 - 0
src/main/resources/static/public/content/idangerous.swiper.css

@@ -0,0 +1,124 @@
+/*
+ * Swiper 2.7.0
+ * Mobile touch slider and framework with hardware accelerated transitions
+ *
+ * http://www.idangero.us/sliders/swiper/
+ *
+ * Copyright 2010-2014, Vladimir Kharlampidi
+ * The iDangero.us
+ * http://www.idangero.us/
+ *
+ * Licensed under GPL & MIT
+ *
+ * Released on: August 30, 2014
+*/
+/* ===============================================================
+Basic Swiper Styles 
+================================================================*/
+.swiper-container {
+	margin:0 auto;
+	position:relative;
+	overflow:hidden;
+	-webkit-backface-visibility:hidden;
+	-moz-backface-visibility:hidden;
+	-ms-backface-visibility:hidden;
+	-o-backface-visibility:hidden;
+	backface-visibility:hidden;
+	/* Fix of Webkit flickering */
+	z-index:1;
+}
+.swiper-wrapper {
+	position:relative;
+	width:100%;
+	-webkit-transition-property:-webkit-transform, left, top;
+	-webkit-transition-duration:0s;
+	-webkit-transform:translate3d(0px,0,0);
+	-webkit-transition-timing-function:ease;
+	
+	-moz-transition-property:-moz-transform, left, top;
+	-moz-transition-duration:0s;
+	-moz-transform:translate3d(0px,0,0);
+	-moz-transition-timing-function:ease;
+	
+	-o-transition-property:-o-transform, left, top;
+	-o-transition-duration:0s;
+	-o-transform:translate3d(0px,0,0);
+	-o-transition-timing-function:ease;
+	-o-transform:translate(0px,0px);
+	
+	-ms-transition-property:-ms-transform, left, top;
+	-ms-transition-duration:0s;
+	-ms-transform:translate3d(0px,0,0);
+	-ms-transition-timing-function:ease;
+	
+	transition-property:transform, left, top;
+	transition-duration:0s;
+	transform:translate3d(0px,0,0);
+	transition-timing-function:ease;
+
+	-webkit-box-sizing: content-box;
+	-moz-box-sizing: content-box;
+	box-sizing: content-box;
+}
+.swiper-free-mode > .swiper-wrapper {
+	-webkit-transition-timing-function: ease-out;
+	-moz-transition-timing-function: ease-out;
+	-ms-transition-timing-function: ease-out;
+	-o-transition-timing-function: ease-out;
+	transition-timing-function: ease-out;
+	margin: 0 auto;
+}
+.swiper-slide {
+	float: left;
+	-webkit-box-sizing: content-box;
+	-moz-box-sizing: content-box;
+	box-sizing: content-box;
+}
+
+/* IE10 Windows Phone 8 Fixes */
+.swiper-wp8-horizontal {
+	-ms-touch-action: pan-y;
+}
+.swiper-wp8-vertical {
+	-ms-touch-action: pan-x;
+}
+
+/* ===============================================================
+Your custom styles, here you need to specify container's and slide's
+sizes, pagination, etc.
+================================================================*/
+.swiper-container {
+	/* Specify Swiper's Size: */
+
+	/*width:200px;
+	height: 100px;*/
+}
+.swiper-slide {
+	/* Specify Slides's Size: */
+	
+	/*width: 100%;
+	height: 100%;*/
+}
+.swiper-slide-active {
+	/* Specific active slide styling: */
+	
+}
+.swiper-slide-visible {
+	/* Specific visible slide styling: */	
+
+}
+/* ===============================================================
+Pagination Styles
+================================================================*/
+.swiper-pagination-switch {
+	/* Stylize pagination button: */	
+
+}
+.swiper-active-switch {
+	/* Specific active button style: */	
+	
+}
+.swiper-visible-switch {
+	/* Specific visible button style: */	
+	
+}

+ 231 - 0
src/main/resources/static/public/content/owl.carousel.css

@@ -0,0 +1,231 @@
+/* 
+ * 	Core Owl Carousel CSS File
+ *	v1.24
+ */
+ /* 代码整理:懒人之家 www.lanrenzhijia.com */
+/* clearfix */
+.owl-carousel .owl-wrapper:after {
+	content: ".";
+	display: block;
+	clear: both;
+	visibility: hidden;
+	line-height: 0;
+	height: 0;
+}
+/* display none until init */
+.owl-carousel{
+	display: none;
+	position: relative;
+	width: 100%;
+	-ms-touch-action: pan-y;
+}
+.owl-carousel .owl-wrapper{
+	display: none;
+	position: relative;
+	-webkit-transform: translate3d(0px, 0px, 0px);
+}
+    .owl-carousel .owl-wrapper-outer {
+        /*overflow: hidden;*/
+        position: relative;
+        width: 100%;
+    }
+.owl-carousel .owl-wrapper-outer.autoHeight{
+	-webkit-transition: height 500ms ease-in-out;
+	-moz-transition: height 500ms ease-in-out;
+	-ms-transition: height 500ms ease-in-out;
+	-o-transition: height 500ms ease-in-out;
+	transition: height 500ms ease-in-out;
+}
+	
+.owl-carousel .owl-item{
+	float: left;
+}
+.owl-controls .owl-page,
+.owl-controls .owl-buttons div{
+	cursor: pointer;
+}
+.owl-controls {
+	-webkit-user-select: none;
+	-khtml-user-select: none;
+	-moz-user-select: none;
+	-ms-user-select: none;
+	user-select: none;
+	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+}
+
+/* mouse grab icon */
+        .grabbing { 
+    cursor:url(grabbing.png) 8 8, move;
+}
+
+/* fix */
+.owl-carousel  .owl-wrapper,
+.owl-carousel  .owl-item{
+	-webkit-backface-visibility: hidden;
+	-moz-backface-visibility:    hidden;
+	-ms-backface-visibility:     hidden;
+  -webkit-transform: translate3d(0,0,0);
+  -moz-transform: translate3d(0,0,0);
+  -ms-transform: translate3d(0,0,0);
+}
+
+/* CSS3 Transitions */
+
+.owl-origin {
+	-webkit-perspective: 1200px;
+	-webkit-perspective-origin-x : 50%;
+	-webkit-perspective-origin-y : 50%;
+	-moz-perspective : 1200px;
+	-moz-perspective-origin-x : 50%;
+	-moz-perspective-origin-y : 50%;
+	perspective : 1200px;
+}
+/* fade */
+.owl-fade-out {
+  z-index: 10;
+  -webkit-animation: fadeOut .7s both ease;
+  -moz-animation: fadeOut .7s both ease;
+  animation: fadeOut .7s both ease;
+}
+.owl-fade-in {
+  -webkit-animation: fadeIn .7s both ease;
+  -moz-animation: fadeIn .7s both ease;
+  animation: fadeIn .7s both ease;
+}
+/* backSlide */
+.owl-backSlide-out {
+  -webkit-animation: backSlideOut 1s both ease;
+  -moz-animation: backSlideOut 1s both ease;
+  animation: backSlideOut 1s both ease;
+}
+.owl-backSlide-in {
+  -webkit-animation: backSlideIn 1s both ease;
+  -moz-animation: backSlideIn 1s both ease;
+  animation: backSlideIn 1s both ease;
+}
+/* goDown */
+.owl-goDown-out {
+  -webkit-animation: scaleToFade .7s ease both;
+  -moz-animation: scaleToFade .7s ease both;
+  animation: scaleToFade .7s ease both;
+}
+.owl-goDown-in {
+  -webkit-animation: goDown .6s ease both;
+  -moz-animation: goDown .6s ease both;
+  animation: goDown .6s ease both;
+}
+/* scaleUp */
+.owl-fadeUp-in {
+  -webkit-animation: scaleUpFrom .5s ease both;
+  -moz-animation: scaleUpFrom .5s ease both;
+  animation: scaleUpFrom .5s ease both;
+}
+
+.owl-fadeUp-out {
+  -webkit-animation: scaleUpTo .5s ease both;
+  -moz-animation: scaleUpTo .5s ease both;
+  animation: scaleUpTo .5s ease both;
+}
+/* Keyframes */
+/*empty*/ /* 代码整理:懒人之家 www.lanrenzhijia.com */
+@-webkit-keyframes empty {
+  0% {opacity: 1}
+}
+@-moz-keyframes empty {
+  0% {opacity: 1}
+}
+@keyframes empty {
+  0% {opacity: 1}
+}
+@-webkit-keyframes fadeIn {
+  0% { opacity:0; }
+  100% { opacity:1; }
+}
+@-moz-keyframes fadeIn {
+  0% { opacity:0; }
+  100% { opacity:1; }
+}
+@keyframes fadeIn {
+  0% { opacity:0; }
+  100% { opacity:1; }
+}
+@-webkit-keyframes fadeOut {
+  0% { opacity:1; }
+  100% { opacity:0; }
+}
+@-moz-keyframes fadeOut {
+  0% { opacity:1; }
+  100% { opacity:0; }
+}
+@keyframes fadeOut {
+  0% { opacity:1; }
+  100% { opacity:0; }
+}
+@-webkit-keyframes backSlideOut {
+  25% { opacity: .5; -webkit-transform: translateZ(-500px); }
+  75% { opacity: .5; -webkit-transform: translateZ(-500px) translateX(-200%); }
+  100% { opacity: .5; -webkit-transform: translateZ(-500px) translateX(-200%); }
+}
+@-moz-keyframes backSlideOut {
+  25% { opacity: .5; -moz-transform: translateZ(-500px); }
+  75% { opacity: .5; -moz-transform: translateZ(-500px) translateX(-200%); }
+  100% { opacity: .5; -moz-transform: translateZ(-500px) translateX(-200%); }
+}
+@keyframes backSlideOut {
+  25% { opacity: .5; transform: translateZ(-500px); }
+  75% { opacity: .5; transform: translateZ(-500px) translateX(-200%); }
+  100% { opacity: .5; transform: translateZ(-500px) translateX(-200%); }
+}
+@-webkit-keyframes backSlideIn {
+  0%, 25% { opacity: .5; -webkit-transform: translateZ(-500px) translateX(200%); }
+  75% { opacity: .5; -webkit-transform: translateZ(-500px); }
+  100% { opacity: 1; -webkit-transform: translateZ(0) translateX(0); }
+}
+@-moz-keyframes backSlideIn {
+  0%, 25% { opacity: .5; -moz-transform: translateZ(-500px) translateX(200%); }
+  75% { opacity: .5; -moz-transform: translateZ(-500px); }
+  100% { opacity: 1; -moz-transform: translateZ(0) translateX(0); }
+}
+@keyframes backSlideIn {
+  0%, 25% { opacity: .5; transform: translateZ(-500px) translateX(200%); }
+  75% { opacity: .5; transform: translateZ(-500px); }
+  100% { opacity: 1; transform: translateZ(0) translateX(0); }
+}
+@-webkit-keyframes scaleToFade {
+  to { opacity: 0; -webkit-transform: scale(.8); }
+}
+@-moz-keyframes scaleToFade {
+  to { opacity: 0; -moz-transform: scale(.8); }
+}
+@keyframes scaleToFade {
+  to { opacity: 0; transform: scale(.8); }
+}
+@-webkit-keyframes goDown {
+  from { -webkit-transform: translateY(-100%); }
+}
+@-moz-keyframes goDown {
+  from { -moz-transform: translateY(-100%); }
+}
+@keyframes goDown {
+  from { transform: translateY(-100%); }
+}
+
+@-webkit-keyframes scaleUpFrom {
+  from { opacity: 0; -webkit-transform: scale(1.5); }
+}
+@-moz-keyframes scaleUpFrom {
+  from { opacity: 0; -moz-transform: scale(1.5); }
+}
+@keyframes scaleUpFrom {
+  from { opacity: 0; transform: scale(1.5); }
+}
+
+@-webkit-keyframes scaleUpTo {
+  to { opacity: 0; -webkit-transform: scale(1.5); }
+}
+@-moz-keyframes scaleUpTo {
+  to { opacity: 0; -moz-transform: scale(1.5); }
+}
+@keyframes scaleUpTo {
+  to { opacity: 0; transform: scale(1.5); }
+}

File diff suppressed because it is too large
+ 3186 - 0
src/main/resources/static/public/content/page.css


File diff suppressed because it is too large
+ 3181 - 0
src/main/resources/static/public/content/page.css.bak


+ 56 - 0
src/main/resources/static/public/content/responsive-calendar.css

@@ -0,0 +1,56 @@
+.responsive-calendar .controls {
+  text-align: center;
+}
+.responsive-calendar .controls a {
+  cursor: pointer;
+}
+.responsive-calendar .controls h4 {
+  display: inline;
+}
+.responsive-calendar .day-headers,
+.responsive-calendar .days {
+  font-size: 0;
+}
+.responsive-calendar .day {
+  display: inline-block;
+  position: relative;
+  font-size: 14px;
+  width: 14.285714285714286%;
+  text-align: center;
+}
+.responsive-calendar .day a {
+  color: #000000;
+  display: block;
+  cursor: pointer;
+  padding: 20% 0 20% 0;
+}
+.responsive-calendar .day a:hover {
+  background-color: #eee;
+  text-decoration: none;
+}
+.responsive-calendar .day.header {
+  border-bottom: 1px gray solid;
+}
+.responsive-calendar .day.active a {
+  background-color: #1d86c8;
+  color: #ffffff;
+}
+.responsive-calendar .day.active a:hover {
+  background-color: #36a0e2;
+}
+.responsive-calendar .day.active .not-current {
+  background-color: #8fcaef;
+  color: #ffffff;
+}
+.responsive-calendar .day.active .not-current:hover {
+  background-color: #bcdff5;
+}
+.responsive-calendar .day.not-current a {
+  color: #ddd;
+}
+.responsive-calendar .day .badge {
+  position: absolute;
+  top: 2px;
+  right: 2px;
+  z-index: 1;
+}

+ 592 - 0
src/main/resources/static/public/content/settings.css

@@ -0,0 +1,592 @@
+/*-----------------------------------------------------------------------------
+
+	-	Revolution Slider 4.1 Captions -
+
+		Screen Stylesheet
+
+version:   	1.4.5
+date:      	27/11/13
+author:		themepunch
+email:     	info@themepunch.com
+website:   	http://www.themepunch.com
+-----------------------------------------------------------------------------*/
+
+
+
+/*************************
+	-	CAPTIONS	-
+**************************/
+
+.tp-hide-revslider,.tp-caption.tp-hidden-caption	{	visibility:hidden !important; display:none !important;}
+
+
+.tp-caption { z-index:1;}
+
+.tp-caption-demo .tp-caption	{	position:relative !important; display:inline-block; margin-bottom:10px; margin-right:20px !important;}
+
+
+
+/*.tp-caption			{	transform:none !important}*/
+
+.copyrights{text-indent:-9999px;height:0;line-height:0;font-size:0;overflow:hidden;}
+/*********************************
+	-	SPECIAL TP CAPTIONS -
+**********************************/
+.tp-caption.full-width-caption{
+	width:100%;
+	left:0!important;
+	right:0;
+	padding:0 100px!important;
+}
+
+.tp-caption .frontcorner		{
+										width: 0;
+										height: 0;
+										border-left: 40px solid transparent;
+										border-right: 0px solid transparent;
+										border-top: 40px solid #00A8FF;
+										position: absolute;left:-40px;top:0px;
+									}
+
+.tp-caption .backcorner		{
+										width: 0;
+										height: 0;
+										border-left: 0px solid transparent;
+										border-right: 40px solid transparent;
+										border-bottom: 40px solid #00A8FF;
+										position: absolute;right:0px;top:0px;
+									}
+
+.tp-caption .frontcornertop		{
+										width: 0;
+										height: 0;
+										border-left: 40px solid transparent;
+										border-right: 0px solid transparent;
+										border-bottom: 40px solid #00A8FF;
+										position: absolute;left:-40px;top:0px;
+									}
+
+.tp-caption .backcornertop		{
+										width: 0;
+										height: 0;
+										border-left: 0px solid transparent;
+										border-right: 40px solid transparent;
+										border-top: 40px solid #00A8FF;
+										position: absolute;right:0px;top:0px;
+									}
+
+
+/****************************************************************
+
+	-	SET THE ANIMATION EVEN MORE SMOOTHER ON ANDROID   -
+
+******************************************************************/
+
+/*.tp-simpleresponsive				{	-webkit-perspective: 1500px;
+										-moz-perspective: 1500px;
+										-o-perspective: 1500px;
+										-ms-perspective: 1500px;
+										perspective: 1500px;
+									}*/
+
+
+
+
+/**********************************************
+	-	FULLSCREEN AND FULLWIDHT CONTAINERS	-
+**********************************************/
+
+.fullscreen-container {
+		width:100%;
+		position:relative;
+		padding:0;
+}
+
+
+
+.fullwidthbanner-container{
+	width:100%;
+	position:relative;
+	padding:0;
+	overflow:hidden;
+}
+
+.fullwidthbanner-container .fullwidthbanner{
+	width:100%;
+	position:relative;
+}
+
+
+
+/************************************************
+	  - SOME CAPTION MODIFICATION AT START  -
+*************************************************/
+.tp-simpleresponsive .caption,
+.tp-simpleresponsive .tp-caption {
+	/*-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";		-moz-opacity: 0;	-khtml-opacity: 0;	opacity: 0; */
+	position:absolute;visibility: hidden;
+	-webkit-font-smoothing: antialiased !important;
+}
+
+
+.tp-simpleresponsive img	{	max-width:none;}
+
+
+
+/******************************
+	-	IE8 HACKS	-
+*******************************/
+.noFilterClass {
+	filter:none !important;
+}
+
+
+/******************************
+	-	SHADOWS		-
+******************************/
+.tp-bannershadow  {
+		position:absolute;
+
+		margin-left:auto;
+		margin-right:auto;
+		-moz-user-select: none;
+        -khtml-user-select: none;
+        -webkit-user-select: none;
+        -o-user-select: none;
+	}
+
+.tp-bannershadow.tp-shadow1 {	background:url(../assets/shadow1.png) no-repeat; background-size:100% 100%; width:890px; height:60px; bottom:-60px;}
+.tp-bannershadow.tp-shadow2 {	background:url(../assets/shadow2.png) no-repeat; background-size:100% 100%; width:890px; height:60px;bottom:-60px;}
+.tp-bannershadow.tp-shadow3 {	background:url(../assets/shadow3.png) no-repeat; background-size:100% 100%; width:890px; height:60px;bottom:-60px;}
+
+
+/********************************
+	-	FULLSCREEN VIDEO	-
+*********************************/
+.caption.fullscreenvideo {	left:0px; top:0px; position:absolute;width:100%;height:100%;}
+.caption.fullscreenvideo iframe,
+.caption.fullscreenvideo video	{ width:100% !important; height:100% !important; display: none}
+
+.tp-caption.fullscreenvideo {	left:0px; top:0px; position:absolute;width:100%;height:100%;}
+.tp-caption.fullscreenvideo iframe,
+.tp-caption.fullscreenvideo iframe video	{ width:100% !important; height:100% !important; display: none;}
+
+
+.fullscreenvideo .vjs-loading-spinner { visibility:none;display:none !important; width:0px;height:0px;}
+.fullscreenvideo .vjs-control-bar.vjs-fade-out,
+.fullscreenvideo .vjs-control-bar.vjs-fade-in,
+.fullscreenvideo .vjs-control-bar.vjs-fade-out.vjs-lock-showing,
+.fullscreenvideo .vjs-control-bar.vjs-fade-in.vjs-lock-showing		{	visibility: hidden !important; opacity: 0 !important;display:none !important;width:0px;height:0px;overflow: hidden;}
+
+.fullcoveredvideo.video-js,
+.fullcoveredvideo video				{	background: transparent !important;}
+
+.fullcoveredvideo .vjs-poster		{	background-position: center center;background-size: cover;width:100%;height:100%;top:0px;left:0px;}
+
+/********************************
+	-	DOTTED OVERLAYS	-
+*********************************/
+.tp-dottedoverlay						{	background-repeat:repeat;width:100%;height:100%;position:absolute;top:0px;left:0px;z-index:1;}
+.tp-dottedoverlay.twoxtwo				{	background:url(../assets/gridtile.png)}
+.tp-dottedoverlay.twoxtwowhite			{	background:url(../assets/gridtile_white.png)}
+.tp-dottedoverlay.threexthree			{	background:url(../assets/gridtile_3x3.png)}
+.tp-dottedoverlay.threexthreewhite		{	background:url(../assets/gridtile_3x3_white.png)}
+/********************************
+	-	DOTTED OVERLAYS ENDS	-
+*********************************/
+
+
+/************************
+	-	NAVIGATION	-
+*************************/
+
+/** BULLETS **/
+
+.tpclear		{	clear:both;}
+
+
+.tp-bullets									{	z-index:1000; position:absolute;
+												-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
+												-moz-opacity: 1;
+												-khtml-opacity: 1;
+												opacity: 1;
+												-webkit-transition: opacity 0.2s ease-out; -moz-transition: opacity 0.2s ease-out; -o-transition: opacity 0.2s ease-out; -ms-transition: opacity 0.2s ease-out;-webkit-transform: translateZ(5px);
+											}
+.tp-bullets.hidebullets					{
+												-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
+												-moz-opacity: 0;
+												-khtml-opacity: 0;
+												opacity: 0;
+											}
+
+
+.tp-bullets.simplebullets.navbar						{ 	border:1px solid #666; border-bottom:1px solid #444; background:url(../assets/boxed_bgtile.png); height:40px; padding:0px 10px; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px ;}
+
+.tp-bullets.simplebullets.navbar-old					{ 	 background:url(../assets/navigdots_bgtile.png); height:35px; padding:0px 10px; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px ;}
+
+
+.tp-bullets.simplebullets.round .bullet					{	cursor:pointer; position:relative;	background:url(../assets/bullet.png) no-Repeat top left;	width:20px;	height:20px;  margin-right:0px; float:left; margin-top:0px; margin-left:3px;}
+.tp-bullets.simplebullets.round .bullet.last			{	margin-right:3px;}
+
+.tp-bullets.simplebullets.round-old .bullet				{	cursor:pointer; position:relative;	background:url(../assets/bullets.png) no-Repeat bottom left;	width:23px;	height:23px;  margin-right:0px; float:left; margin-top:0px;}
+.tp-bullets.simplebullets.round-old .bullet.last		{	margin-right:0px;}
+
+
+/**	SQUARE BULLETS **/
+.tp-bullets.simplebullets.square .bullet				{	cursor:pointer; position:relative;	background:url(../assets/bullets2.png) no-Repeat bottom left;	width:19px;	height:19px;  margin-right:0px; float:left; margin-top:0px;}
+.tp-bullets.simplebullets.square .bullet.last			{	margin-right:0px;}
+
+
+/**	SQUARE BULLETS **/
+.tp-bullets.simplebullets.square-old .bullet			{	cursor:pointer; position:relative;	background:url(../assets/bullets2.png) no-Repeat bottom left;	width:19px;	height:19px;  margin-right:0px; float:left; margin-top:0px;}
+.tp-bullets.simplebullets.square-old .bullet.last		{	margin-right:0px;}
+
+
+/** navbar NAVIGATION VERSION **/
+.tp-bullets.simplebullets.navbar .bullet			{	cursor:pointer; position:relative;	background:url(../assets/bullet_boxed.png) no-Repeat top left;	width:18px;	height:19px;   margin-right:5px; float:left; margin-top:0px;}
+
+.tp-bullets.simplebullets.navbar .bullet.first		{	margin-left:0px !important;}
+.tp-bullets.simplebullets.navbar .bullet.last		{	margin-right:0px !important;}
+
+
+
+/** navbar NAVIGATION VERSION **/
+.tp-bullets.simplebullets.navbar-old .bullet			{	cursor:pointer; position:relative;	background:url(../assets/navigdots.png) no-Repeat bottom left;	width:15px;	height:15px;  margin-left:5px !important; margin-right:5px !important;float:left; margin-top:10px;}
+.tp-bullets.simplebullets.navbar-old .bullet.first		{	margin-left:0px !important;}
+.tp-bullets.simplebullets.navbar-old .bullet.last		{	margin-right:0px !important;}
+
+
+.tp-bullets.simplebullets .bullet:hover,
+.tp-bullets.simplebullets .bullet.selected				{	background-position:top left; }
+
+.tp-bullets.simplebullets.round .bullet:hover,
+.tp-bullets.simplebullets.round .bullet.selected,
+.tp-bullets.simplebullets.navbar .bullet:hover,
+.tp-bullets.simplebullets.navbar .bullet.selected		{	background-position:bottom left; }
+
+
+
+/*************************************
+	-	TP ARROWS 	-
+**************************************/
+.tparrows												{	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
+															-moz-opacity: 1;
+															-khtml-opacity: 1;
+															opacity: 1;
+															-webkit-transition: opacity 0.2s ease-out; -moz-transition: opacity 0.2s ease-out; -o-transition: opacity 0.2s ease-out; -ms-transition: opacity 0.2s ease-out;			-webkit-transform: translateZ(5px);
+
+														}
+.tparrows.hidearrows									{
+															-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
+															-moz-opacity: 0;
+															-khtml-opacity: 0;
+															opacity: 0;
+														}
+.tp-leftarrow											{	z-index:100;cursor:pointer; position:relative;	background:url(../assets/large_left.png) no-Repeat top left;	width:40px;	height:40px;   }
+.tp-rightarrow											{	z-index:100;cursor:pointer; position:relative;	background:url(../assets/large_right.png) no-Repeat top left;	width:40px;	height:40px;   }
+
+
+.tp-leftarrow.round										{	z-index:100;cursor:pointer; position:relative;	background:url(../assets/small_left.png) no-Repeat top left;	width:19px;	height:14px;  margin-right:0px; float:left; margin-top:0px;	}
+.tp-rightarrow.round									{	z-index:100;cursor:pointer; position:relative;	background:url(../assets/small_right.png) no-Repeat top left;	width:19px;	height:14px;  margin-right:0px; float:left;	margin-top:0px;}
+
+
+.tp-leftarrow.round-old									{	z-index:100;cursor:pointer; position:relative;	background:url(../assets/arrow_left.png) no-Repeat top left;	width:26px;	height:26px;  margin-right:0px; float:left; margin-top:0px;	}
+.tp-rightarrow.round-old								{	z-index:100;cursor:pointer; position:relative;	background:url(../assets/arrow_right.png) no-Repeat top left;	width:26px;	height:26px;  margin-right:0px; float:left;	margin-top:0px;}
+
+
+.tp-leftarrow.navbar									{	z-index:100;cursor:pointer; position:relative;	background:url(../assets/small_left_boxed.png) no-Repeat top left;	width:20px;	height:15px;   float:left;	margin-right:6px; margin-top:12px;}
+.tp-rightarrow.navbar									{	z-index:100;cursor:pointer; position:relative;	background:url(../assets/small_right_boxed.png) no-Repeat top left;	width:20px;	height:15px;   float:left;	margin-left:6px; margin-top:12px;}
+
+
+.tp-leftarrow.navbar-old								{	z-index:100;cursor:pointer; position:relative;	background:url(../assets/arrowleft.png) no-Repeat top left;		width:9px;	height:16px;   float:left;	margin-right:6px; margin-top:10px;}
+.tp-rightarrow.navbar-old								{	z-index:100;cursor:pointer; position:relative;	background:url(../assets/arrowright.png) no-Repeat top left;	width:9px;	height:16px;   float:left;	margin-left:6px; margin-top:10px;}
+
+.tp-leftarrow.navbar-old.thumbswitharrow				{	margin-right:10px; }
+.tp-rightarrow.navbar-old.thumbswitharrow				{	margin-left:0px; }
+
+.tp-leftarrow.square									{	z-index:100;cursor:pointer; position:relative;	background:url(../assets/arrow_left2.png) no-Repeat top left;	width:12px;	height:17px;   float:left;	margin-right:0px; margin-top:0px;}
+.tp-rightarrow.square									{	z-index:100;cursor:pointer; position:relative;	background:url(../assets/arrow_right2.png) no-Repeat top left;	width:12px;	height:17px;   float:left;	margin-left:0px; margin-top:0px;}
+
+
+.tp-leftarrow.square-old								{	z-index:100;cursor:pointer; position:relative;	background:url(../assets/arrow_left2.png) no-Repeat top left;	width:12px;	height:17px;   float:left;	margin-right:0px; margin-top:0px;}
+.tp-rightarrow.square-old								{	z-index:100;cursor:pointer; position:relative;	background:url(../assets/arrow_right2.png) no-Repeat top left;	width:12px;	height:17px;   float:left;	margin-left:0px; margin-top:0px;}
+
+
+.tp-leftarrow.default									{	z-index:100;cursor:pointer; position:relative;	background:url(../assets/large_left.png) no-Repeat 0 0;	width:40px;	height:40px;
+
+														}
+.tp-rightarrow.default									{	z-index:100;cursor:pointer; position:relative;	background:url(../assets/large_right.png) no-Repeat 0 0;	width:40px;	height:40px;
+
+														}
+
+
+
+
+.tp-leftarrow:hover,
+.tp-rightarrow:hover 									{	background-position:bottom left; }
+
+
+
+
+
+
+/****************************************************************************************************
+	-	TP THUMBS 	-
+*****************************************************************************************************
+
+ - tp-thumbs & tp-mask Width is the width of the basic Thumb Container (500px basic settings)
+
+ - .bullet width & height is the dimension of a simple Thumbnail (basic 100px x 50px)
+
+ *****************************************************************************************************/
+
+
+.tp-bullets.tp-thumbs						{	z-index:1000; position:absolute; padding:3px;background-color:#fff;
+												width:500px;height:50px; 			/* THE DIMENSIONS OF THE THUMB CONTAINER */
+												margin-top:-50px;
+											}
+
+
+.fullwidthbanner-container .tp-thumbs		{  padding:3px;}
+
+.tp-bullets.tp-thumbs .tp-mask				{	width:500px; height:50px;  			/* THE DIMENSIONS OF THE THUMB CONTAINER */
+												overflow:hidden; position:relative;}
+
+
+.tp-bullets.tp-thumbs .tp-mask .tp-thumbcontainer	{	width:5000px; position:absolute;}
+
+.tp-bullets.tp-thumbs .bullet				{   width:100px; height:50px; 			/* THE DIMENSION OF A SINGLE THUMB */
+												cursor:pointer; overflow:hidden;background:none;margin:0;float:left;
+												-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
+												/*filter: alpha(opacity=50);	*/
+												-moz-opacity: 0.5;
+												-khtml-opacity: 0.5;
+												opacity: 0.5;
+
+												-webkit-transition: all 0.2s ease-out; -moz-transition: all 0.2s ease-out; -o-transition: all 0.2s ease-out; -ms-transition: all 0.2s ease-out;
+											}
+
+
+.tp-bullets.tp-thumbs .bullet:hover,
+.tp-bullets.tp-thumbs .bullet.selected		{ 	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
+
+												-moz-opacity: 1;
+												-khtml-opacity: 1;
+												opacity: 1;
+											}
+.tp-thumbs img								{	width:100%; }
+
+
+/************************************
+		-	TP BANNER TIMER		-
+*************************************/
+.tp-bannertimer								{	width:100%; height:10px; background:url(../assets/timer.png);position:absolute; z-index:200;top:0px;}
+.tp-bannertimer.tp-bottom					{	bottom:0px;height:5px; top:auto;}
+
+
+
+
+/***************************************
+	-	RESPONSIVE SETTINGS 	-
+****************************************/
+
+
+
+
+    @media only screen and (min-width: 0px) and (max-width: 479px) {
+				.responsive .tp-bullets	{	display:none}
+				.responsive .tparrows	{	display:none;}
+	}
+
+
+/******************************
+	-	HTML5 VIDEO SETTINGS	-
+********************************/
+
+.vjs-tech { margin-top:1px}
+
+.tp-caption .vjs-default-skin .vjs-big-play-button	{	left: 50%;
+top: 50%;
+margin-left: -20px;
+margin-top: -20px;
+width: 40px;
+height: 40px;
+border-radius: 5px;
+-moz-border-radius: 5px;
+-webkit-border-radius: 5px;
+border: none;
+box-shadow: none;
+text-shadow: none;
+line-height: 30px;
+vertical-align: top;
+padding: 0px;
+}
+
+.tp-caption .vjs-default-skin .vjs-big-play-button:before {
+ position:absolute;
+ top:0px; left:0px;
+ line-height:40px;
+ text-shadow: none !important;
+ color:#fff;
+ font-size:18px;
+
+}
+
+.tp-caption  .vjs-default-skin:hover .vjs-big-play-button, .vjs-default-skin .vjs-big-play-button:focus {
+
+	box-shadow:none;
+	-webkit-box-shadow:none;
+
+}
+
+
+
+/*********************************************
+
+	-	BASIC SETTINGS FOR THE BANNER	-
+
+***********************************************/
+
+ .tp-simpleresponsive img {
+		-moz-user-select: none;
+        -khtml-user-select: none;
+        -webkit-user-select: none;
+        -o-user-select: none;
+}
+
+
+
+.tp-simpleresponsive a{	text-decoration:none;}
+
+.tp-simpleresponsive ul {
+	list-style:none;
+	padding:0;
+	margin:0;
+}
+
+.tp-simpleresponsive >ul >li{
+	list-stye:none;
+	position:absolute;
+	visibility:hidden;
+}
+/*  CAPTION SLIDELINK   **/
+.caption.slidelink a div,
+.tp-caption.slidelink a div {	width:3000px; height:1500px;  background:url(../assets/coloredbg.png) repeat;}
+
+.tp-loader 	{	background:url(../assets/loader.gif) no-repeat 10px 10px; background-color:#fff;  margin:-22px -22px; top:50%; left:50%; z-index:10000; position:absolute;width:44px;height:44px;
+				border-radius: 3px;
+				-moz-border-radius: 3px;
+				-webkit-border-radius: 3px;
+			}
+
+
+.tp-transparentimg {	content:"url(../assets/transparent.png)"}
+.tp-3d				{	-webkit-transform-style: preserve-3d;
+						 -webkit-transform-origin: 50% 50%;
+					}
+
+
+
+.tp-caption img {
+background: transparent;
+-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF)";
+filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF);
+zoom: 1;
+}
+
+
+@font-face {
+  font-family: 'revicons';
+  src: url('../font/revicons.eot?5510888');
+  src: url('../font/revicons.eot?5510888#iefix') format('embedded-opentype'),
+       url('../font/revicons.woff?5510888') format('woff'),
+       url('../font/revicons.ttf?5510888') format('truetype'),
+       url('../font/revicons.svg?5510888#revicons') format('svg');
+  font-weight: normal;
+  font-style: normal;
+}
+/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
+/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
+/*
+@media screen and (-webkit-min-device-pixel-ratio:0) {
+  @font-face {
+    font-family: 'revicons';
+    src: url('../font/revicons.svg?5510888#revicons') format('svg');
+  }
+}
+*/
+
+ [class^="revicon-"]:before, [class*=" revicon-"]:before {
+  font-family: "revicons";
+  font-style: normal;
+  font-weight: normal;
+  speak: none;
+
+  display: inline-block;
+  text-decoration: inherit;
+  width: 1em;
+  margin-right: .2em;
+  text-align: center;
+  /* opacity: .8; */
+
+  /* For safety - reset parent styles, that can break glyph codes*/
+  font-variant: normal;
+  text-transform: none;
+
+  /* fix buttons height, for twitter bootstrap */
+  line-height: 1em;
+
+  /* Animation center compensation - margins should be symmetric */
+  /* remove if not needed */
+  margin-left: .2em;
+
+  /* you can be more comfortable with increased icons size */
+  /* font-size: 120%; */
+
+  /* Uncomment for 3D effect */
+  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
+}
+
+.revicon-search-1:before { content: '\e802'; } /* '' */
+.revicon-pencil-1:before { content: '\e831'; } /* '' */
+.revicon-picture-1:before { content: '\e803'; } /* '' */
+.revicon-cancel:before { content: '\e80a'; } /* '' */
+.revicon-info-circled:before { content: '\e80f'; } /* '' */
+.revicon-trash:before { content: '\e801'; } /* '' */
+.revicon-left-dir:before { content: '\e817'; } /* '' */
+.revicon-right-dir:before { content: '\e818'; } /* '' */
+.revicon-down-open:before { content: '\e83b'; } /* '' */
+.revicon-left-open:before { content: '\e819'; } /* '' */
+.revicon-right-open:before { content: '\e81a'; } /* '' */
+.revicon-angle-left:before { content: '\e820'; } /* '' */
+.revicon-angle-right:before { content: '\e81d'; } /* '' */
+.revicon-left-big:before { content: '\e81f'; } /* '' */
+.revicon-right-big:before { content: '\e81e'; } /* '' */
+.revicon-magic:before { content: '\e807'; } /* '' */
+.revicon-picture:before { content: '\e800'; } /* '' */
+.revicon-export:before { content: '\e80b'; } /* '' */
+.revicon-cog:before { content: '\e832'; } /* '' */
+.revicon-login:before { content: '\e833'; } /* '' */
+.revicon-logout:before { content: '\e834'; } /* '' */
+.revicon-video:before { content: '\e805'; } /* '' */
+.revicon-arrow-combo:before { content: '\e827'; } /* '' */
+.revicon-left-open-1:before { content: '\e82a'; } /* '' */
+.revicon-right-open-1:before { content: '\e82b'; } /* '' */
+.revicon-left-open-mini:before { content: '\e822'; } /* '' */
+.revicon-right-open-mini:before { content: '\e823'; } /* '' */
+.revicon-left-open-big:before { content: '\e824'; } /* '' */
+.revicon-right-open-big:before { content: '\e825'; } /* '' */
+.revicon-left:before { content: '\e836'; } /* '' */
+.revicon-right:before { content: '\e826'; } /* '' */
+.revicon-ccw:before { content: '\e808'; } /* '' */
+.revicon-arrows-ccw:before { content: '\e806'; } /* '' */
+.revicon-palette:before { content: '\e829'; } /* '' */
+.revicon-list-add:before { content: '\e80c'; } /* '' */
+.revicon-doc:before { content: '\e809'; } /* '' */
+.revicon-left-open-outline:before { content: '\e82e'; } /* '' */
+.revicon-left-open-2:before { content: '\e82c'; } /* '' */
+.revicon-right-open-outline:before { content: '\e82f'; } /* '' */
+.revicon-right-open-2:before { content: '\e82d'; } /* '' */
+.revicon-equalizer:before { content: '\e83a'; } /* '' */
+.revicon-layers-alt:before { content: '\e804'; } /* '' */
+.revicon-popup:before { content: '\e828'; } /* '' */

File diff suppressed because it is too large
+ 1 - 0
src/main/resources/static/public/content/share_style0_32.css


File diff suppressed because it is too large
+ 8377 - 0
src/main/resources/static/public/content/style.css


File diff suppressed because it is too large
+ 8380 - 0
src/main/resources/static/public/content/style.css.bak


+ 413 - 0
src/main/resources/static/public/content/txp_barrage.css

@@ -0,0 +1,413 @@
+@charset "UTF-8";
+.txp_mod_barrage{position:relative;background:#26262b;height:50px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
+.txp_mod_barrage .txp_none{display:none!important}
+.txp_mod_barrage .txp_svg_icon{display:inline-block;vertical-align:top}
+.txp_mod_barrage .txp_btn_drag{display:none}
+.txp_mod_barrage .txp_barrage_form{position:relative;display:block;width:auto;height:32px;margin-top:8px;margin-left:70px;margin-right:118px;background-color:#1e1e20;transition:width ease .15s,margin-left ease .15s;border-radius:17px}
+.txp_mod_barrage .txp_barrage_form .txp_inp_text{position:relative;z-index:1;display:block;zoom:1;border:none;width:100%;padding:6px 10px;font-size:14px;line-height:20px;background:0 0;color:#ccc;border-radius:17px 0 0 17px;box-sizing:border-box;overflow:hidden;text-indent:0;background-size:0}
+.txp_mod_barrage .txp_barrage_form .txp_inp_text:focus{outline:0;color:#fff}
+.txp_mod_barrage .stars_pendant_info,.txp_mod_barrage .txp_barrage_input_box{display:inline-block;position:relative;vertical-align:middle;white-space:nowrap;margin-right:-10px}
+.txp_mod_barrage .txp_barrage_input_box{width:-ms-calc(100% - 130px);width:-webkit-calc(100% - 130px);width:calc(100% - 130px)}
+.txp_mod_barrage .stars_pendant_avatar,.txp_mod_barrage .stars_pendant_name{display:inline-block;position:relative;vertical-align:middle;margin:0 3px;color:#666;font-size:12px;line-height:18px;max-width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
+.txp_mod_barrage .stars_pendant_name{box-sizing:border-box;padding-right:10px}
+.txp_mod_barrage .stars_pendant_name:after{content:':';position:absolute;font-size:12px;line-height:18px;color:#666;right:0}
+.txp_mod_barrage .stars_pendant_avatar{margin-left:10px;width:24px;height:24px;-ms-border-radius:50%;-webkit-border-radius:50%;border-radius:50%;background:no-repeat center/100% auto}
+.txp_mod_barrage .txp_barrage_form_nohotbtn{margin-right:10px}
+.txp_mod_barrage .txp_barrage_inp{position:absolute;left:0;right:115px;border-radius:16px 0 0 16px;overflow:hidden;height:32px;text-align:left}
+.txp_mod_barrage .txp_barrage_inp_whole{padding-right:0;right:66px}
+.txp_mod_barrage .txp_barrage_star{position:absolute;height:32px;right:118px}
+.txp_mod_barrage .txp_btn_submit{position:absolute;right:0;top:0;width:66px;font-size:14px;line-height:32px;height:32px;color:#ccc;border:none;cursor:pointer;border-radius:0 16px 16px 0;background-color:#515155;outline:0}
+.txp_mod_barrage .txp_btn_submit:hover{color:#fff;background:#ff6428;background:-webkit-linear-gradient(left,#ff850b 0,#ff5945 100%);background:linear-gradient(to right,#ff850b 0,#ff5945 100%)}
+.txp_mod_barrage .txp_btn_fonts{right:80px}
+.txp_mod_barrage .txp_btn_barrage_list{display:inline-block;margin:8px 0 0 0;padding:0 6px 0 6px;vertical-align:top;height:32px;line-height:32px;background-color:#515155;color:#ccc;border:none;text-decoration:none;cursor:pointer;overflow:hidden;white-space:nowrap;border-radius:16px;position:absolute;text-align:right;font-size:0;right:10px;top:0}
+.txp_mod_barrage .txp_btn_barrage_list .txp_icon_text{font-size:12px}
+.txp_mod_barrage .txp_btn_barrage_list .arrow_next_xs{position:absolute;right:8px;top:10px}
+.txp_mod_barrage .txp_hl{color:#ff6428}
+.txp_mod_barrage .txp_barrage_avatar_list{position:relative;display:inline-block;vertical-align:top;padding-top:2px}
+.txp_mod_barrage .txp_barrage_avatar_list img.txp_barrage_avatar:nth-child(2){margin-left:-16px}
+.txp_mod_barrage .txp_barrage_avatar{width:24px;height:24px;margin:0;border-radius:14px;border:2px #515155 solid;vertical-align:top;position:relative;z-index:1}
+.txp_mod_barrage .txp_popup_barrage_toast{display:inline-block;position:absolute;top:-35px;left:0;right:0;margin:auto;font-size:12px;line-height:20px;-ms-transform:translateY(-50%);-webkit-transform:translateY(-50%);transform:translateY(-50%);padding:7px 20px;background:rgba(17,17,17,.9);border-radius:50px;max-width:200px;text-align:center;color:#999;z-index:6}
+.txp_mod_barrage_live .txp_barrage_form{margin-right:10px;margin-left:70px}
+.txp_mod_barrage .txp_svg_icon path,.txp_mod_barrage .txp_svg_icon use{fill:currentColor}
+.txp_barrage_switch{position:absolute;left:10px;display:inline-block;text-align:left;width:50px;height:24px;line-height:24px;font-size:12px;vertical-align:top;top:13px;border-radius:12px;background-color:#1e1e22;cursor:pointer}
+.txp_barrage_switch .txp_btn_text{display:inline-block;color:#fff;margin-left:24px}
+.txp_barrage_switch .txp_btn_toggle{width:6px;height:6px;position:absolute;left:12px;top:9px;background-color:#67676b;border-radius:6px;display:inline-block;box-sizing:content-box;-webkit-transition:background-color ease .15s;transition:background-color ease .15s}
+.txp_barrage_switch.txp_open .txp_btn_text{color:#ff6428}
+.txp_barrage_switch.txp_open .txp_btn_toggle{left:9px;top:6px;background-color:#ff6428;border:3px #4b2c24 solid}
+.txp_mod_barrage .txp_btn_type{color:#666;cursor:pointer;text-decoration:none}
+.txp_barrage_form .txp_btn_type{position:absolute;left:-28px;top:0;display:none}
+.txp_mod_barrage .txp_btn_face:hover,.txp_mod_barrage .txp_btn_fonts:hover,.txp_mod_barrage .txp_btn_type:hover{color:#ff5c38}
+.txp_mod_barrage .txp_icon{display:inline-block;width:20px;height:20px;vertical-align:top;margin-top:6px}
+.txp_mod_barrage .txp_icon_arrow_next{position:relative;width:10px;height:10px;top:5px}
+.txp_mod_barrage .txp_svg_icon_arrow_next{width:10px;height:10px}
+.txp_mod_barrage .txp_btn_barrage_list:hover{background-color:#585858}
+.txp_mod_barrage .txp_btn_barrage_list:hover .txp_barrage_avatar{border-color:#585858}
+.txp_mod_barrage .txp_btn_submit.txp_disabled,.txp_mod_barrage .txp_btn_submit.txp_disabled:hover{opacity:.6;right:-1px;cursor:default;background:#414141}
+.txp_barrage_login,.txp_barrage_tips{position:absolute;top:0;left:0;right:0;padding-left:10px;text-align:left;font-size:12px;line-height:32px;overflow:hidden;cursor:pointer;border-radius:16px 0 0 16px;color:#666}
+.txp_barrage_login .txp_barrage_pendant,.txp_barrage_tips .txp_barrage_pendant{display:inline-block;vertical-align:middle;width:24px;height:24px;object-fit:contain;margin:0 4px}
+.txp_barrage_login .txp_barrage_desc,.txp_barrage_tips .txp_barrage_desc{display:inline-block;vertical-align:middle}
+.txp_barrage_login .txp_link,.txp_barrage_tips .txp_link{padding-right:2px;color:#ff6428;vertical-align:middle}
+.txp_barrage_login .txp_link:hover,.txp_barrage_tips .txp_link:hover{color:#ff5945}
+.txp_barrage_login{z-index:1}
+.x_mod_bubble{right:0;bottom:35px}
+.txp_mod_barrage{font-size:0;zoom:1;text-align:right}
+.txp_mod_barrage:after,.txp_mod_barrage:before{content:'';display:table}
+.txp_mod_barrage:after{clear:both}
+.txp_html_fullscreen #mod_barrage_container,.txp_html_fullscreen .mod_action,.txp_html_fullscreen .mod_barrage_container{position:initial}
+.txp_html_fullscreen .txp_mod_barrage,.txp_html_fullscreen .txp_mod_barrage *{visibility:visible}
+.container_short .txp_mod_barrage,.player_container .txp_mod_barrage{position:absolute;background:0 0;right:0;top:0}
+.txp_html_fullscreen .player_container .txp_mod_barrage,.txp_html_fullscreen .txp_mod_barrage{opacity:.7;background-color:rgba(0,0,0,.7);width:80%!important;max-width:1280px;transform:translate(-50%,0);height:56px;border-radius:28px;left:50%;position:fixed;z-index:0;top:inherit;bottom:67px}
+.txp_html_fullscreen .player_container .txp_mod_barrage:hover,.txp_html_fullscreen .txp_mod_barrage:hover{opacity:1}
+.txp_html_fullscreen .player_container .txp_mod_barrage .txp_barrage_switch,.txp_html_fullscreen .player_container .txp_mod_barrage .txp_btn_barrage_list,.txp_html_fullscreen .txp_mod_barrage .txp_barrage_switch,.txp_html_fullscreen .txp_mod_barrage .txp_btn_barrage_list{display:none}
+.txp_html_fullscreen .player_container .txp_mod_barrage .txp_barrage_inp,.txp_html_fullscreen .txp_mod_barrage .txp_barrage_inp{height:40px}
+.txp_html_fullscreen .player_container .txp_mod_barrage .txp_barrage_form,.txp_html_fullscreen .txp_mod_barrage .txp_barrage_form{background-color:rgba(30,30,32,.7);left:8px!important;right:84px!important;height:40px;border-radius:20px;font-size:16px;width:auto!important;position:absolute!important;margin-left:32px}
+.txp_html_fullscreen .player_container .txp_mod_barrage .txp_barrage_form .txp_barrage_login,.txp_html_fullscreen .player_container .txp_mod_barrage .txp_barrage_form .txp_barrage_tips,.txp_html_fullscreen .txp_mod_barrage .txp_barrage_form .txp_barrage_login,.txp_html_fullscreen .txp_mod_barrage .txp_barrage_form .txp_barrage_tips{line-height:40px}
+.txp_html_fullscreen .player_container .txp_mod_barrage .txp_barrage_form .txp_barrage_inp,.txp_html_fullscreen .txp_mod_barrage .txp_barrage_form .txp_barrage_inp{height:40px}
+.txp_html_fullscreen .player_container .txp_mod_barrage .txp_barrage_form .txp_inp_text,.txp_html_fullscreen .txp_mod_barrage .txp_barrage_form .txp_inp_text{height:40px;line-height:40px}
+.txp_html_fullscreen .player_container .txp_mod_barrage .txp_barrage_form .txp_btn_fonts,.txp_html_fullscreen .txp_mod_barrage .txp_barrage_form .txp_btn_fonts{right:103px}
+.txp_html_fullscreen .player_container .txp_mod_barrage .txp_barrage_form .txp_btn_face,.txp_html_fullscreen .txp_mod_barrage .txp_barrage_form .txp_btn_face{right:125px}
+.txp_html_fullscreen .player_container .txp_mod_barrage .txp_barrage_form .txp_icon,.txp_html_fullscreen .txp_mod_barrage .txp_barrage_form .txp_icon{margin-top:10px}
+.txp_html_fullscreen .player_container .txp_mod_barrage .txp_barrage_form .txp_btn_type,.txp_html_fullscreen .txp_mod_barrage .txp_barrage_form .txp_btn_type{left:initial;right:-32px;top:2px}
+.txp_html_fullscreen .player_container .txp_mod_barrage .txp_barrage_form .txp_btn_submit,.txp_html_fullscreen .txp_mod_barrage .txp_barrage_form .txp_btn_submit{height:40px;width:96px;line-height:40px;font-size:18px;border-radius:0 20px 20px 0}
+.txp_html_fullscreen .player_container .txp_mod_barrage .txp_barrage_form .txp_popup_barrage,.txp_html_fullscreen .txp_mod_barrage .txp_barrage_form .txp_popup_barrage{bottom:50px;right:80px}
+.txp_html_fullscreen .player_container .txp_mod_barrage .txp_barrage_form .txp_popup_barrage_text,.txp_html_fullscreen .txp_mod_barrage .txp_barrage_form .txp_popup_barrage_text{bottom:50px;right:104px}
+.txp_html_fullscreen .player_container .txp_mod_barrage .txp_barrage_form .txp_popup_barrage_type,.txp_html_fullscreen .txp_mod_barrage .txp_barrage_form .txp_popup_barrage_type{left:initial;right:-54px}
+.txp_html_fullscreen .player_container .txp_mod_barrage .txp_barrage_form .txp_popup_barrage_type .txp_popup_barrage_triangle,.txp_html_fullscreen .txp_mod_barrage .txp_barrage_form .txp_popup_barrage_type .txp_popup_barrage_triangle{left:initial}
+.txp_html_fullscreen .player_container .txp_mod_barrage .txp_barrage_form .txp_barrage_star,.txp_html_fullscreen .txp_mod_barrage .txp_barrage_form .txp_barrage_star{height:40px;right:138px}
+.txp_html_fullscreen .player_container .txp_mod_barrage .txp_barrage_form .txp_btn_drag,.txp_html_fullscreen .txp_mod_barrage .txp_barrage_form .txp_btn_drag{display:block;position:absolute;right:-60px;top:2px;cursor:pointer;color:#666;text-decoration:none}
+.txp_html_fullscreen .player_container .txp_mod_barrage .txp_barrage_form .txp_btn_drag:hover,.txp_html_fullscreen .txp_mod_barrage .txp_barrage_form .txp_btn_drag:hover{color:#ff6428}
+.txp_html_fullscreen .player_container .txp_mod_barrage .txp_barrage_form .txp_btn_drag .txp_icon,.txp_html_fullscreen .txp_mod_barrage .txp_barrage_form .txp_btn_drag .txp_icon{width:20px;height:20px}
+.txp_html_fullscreen .txp_mod_barrage.txp_focus .txp_barrage_form{margin-left:0;width:auto!important}
+.txp_html_fullscreen.txp_html_barrage_on .mod_action{visibility:hidden}
+.lte_ie8 .txp_mod_barrage svg{visibility:hidden}
+.lte_ie8 .txp_mod_barrage .txp_icon_arrow_next,.lte_ie8 .txp_mod_barrage .txp_icon_drag,.lte_ie8 .txp_mod_barrage .txp_icon_face,.lte_ie8 .txp_mod_barrage .txp_icon_fonts,.lte_ie8 .txp_mod_barrage .txp_icon_type{background-image:url(/tencentvideo/txp/style/img/sprite/icon_txp_barrage.png);background-repeat:no-repeat}
+.lte_ie8 .txp_mod_barrage .txp_icon_type{background-position:0 -136px}
+.lte_ie8 .txp_mod_barrage .txp_icon_fonts{background-position:0 -80px}
+.lte_ie8 .txp_mod_barrage .txp_icon_face{background-position:0 -50px}
+.lte_ie8 .txp_mod_barrage .txp_icon_drag{background-position:0 -20px}
+.lte_ie8 .txp_mod_barrage .icon_arrow_next{background-position:0 0}
+.txp_mod_barrage .txp_btn_face,.txp_mod_barrage .txp_btn_fonts{position:absolute;top:0;cursor:pointer;color:#d8d8d8;text-decoration:none;z-index:2}
+.txp_mod_barrage .txp_btn_face{right:98px}
+.txp_mod_barrage .txp_btn_fonts{right:73px}
+.container_short .txp_mod_barrage .txp_barrage_input_box,.screen_xs .txp_mod_barrage .txp_barrage_input_box,.screen_xxs .txp_mod_barrage .txp_barrage_input_box{-ms-width:calc(100% - 70px);-webkit-width:calc(100% - 70px);width:calc(100% - 70px)}
+.container_short .txp_mod_barrage .stars_pendant_avatar,.container_short .txp_mod_barrage .stars_pendant_name,.screen_xs .txp_mod_barrage .stars_pendant_avatar,.screen_xs .txp_mod_barrage .stars_pendant_name,.screen_xxs .txp_mod_barrage .stars_pendant_avatar,.screen_xxs .txp_mod_barrage .stars_pendant_name{max-width:34px}
+@media (max-width:1269px){
+.txp_mod_barrage .txp_barrage_input_box{-ms-width:calc(100% - 70px);-webkit-width:calc(100% - 70px);width:calc(100% - 70px)}
+.txp_mod_barrage .stars_pendant_avatar,.txp_mod_barrage .stars_pendant_name{max-width:34px}
+}
+*{margin:0;padding:0}
+li{list-style:none}
+.none{display:none!important}
+.txp_popup_barrage{position:absolute;text-align:left;border-radius:5px 5px 0 0;font-family:PingFangSC-Regular,Tahoma,Microsoft Yahei,Arial,Hiragino Sans GB;z-index:3000;color:#999;font-size:14px;right:41px;bottom:32px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
+.txp_popup_barrage .txp_icon{width:24px;height:24px;margin:0}
+.txp_popup_barrage .txp_btn{width:24px;height:24px;position:absolute;top:50%;margin-top:-12px;z-index:2;cursor:pointer}
+.txp_popup_barrage .txp_btn svg{pointer-events:none;fill:#9b9d9d}
+.txp_popup_barrage .txp_btn:hover .txp_icon{fill:#ff6e0b}
+.txp_popup_barrage .txp_btn_prev{left:0}
+.txp_popup_barrage .txp_btn_next{right:0}
+.txp_popup_barrage[data-status="0"] .txp_popup_barrage_inner{height:100px}
+.txp_popup_barrage[data-status="0"] .txp_popup_barrage_inner_scroll{left:0}
+.txp_popup_barrage[data-status="1"] .txp_popup_barrage_inner{height:200px}
+.txp_popup_barrage[data-status="1"] .txp_popup_barrage_inner_scroll{left:-410px}
+.txp_popup_barrage.hide .txp_btn{display:none}
+.txp_popup_barrage.hide .txp_popup_barrage_inner{height:0}
+.txp_popup_barrage_emoji{width:410px;height:200px}
+.txp_popup_barrage_type{left:-54px;bottom:40px}
+.txp_popup_barrage .txp_iframe_mask{position:absolute;z-index:1;width:100%;height:100%;border-radius:5px;opacity:0;filter:alpha(opacity=0)}
+.txp_popup_barrage_inner{position:relative;background-color:#28292d;background-color:rgba(40,41,45,.93);box-shadow:0 1px 6px 0 rgba(0,0,0,.5);margin:0 24px;z-index:2;font-size:0;width:410px;overflow:hidden;-webkit-transition:height .4s ease-in;-moz-transition:height .4s ease-in;-ms-transition:height .4s ease-in;transition:height .4s ease-in}
+.txp_popup_barrage_inner_scroll{width:820px;position:relative;-webkit-transition:left .5s;-moz-transition:left .5s;-ms-transition:left .5s;transition:left .5s}
+.txp_popup_barrage_inner_scroll .txp_popup_barrage_emoji,.txp_popup_barrage_inner_scroll .txp_popup_barrage_text{display:inline-block;vertical-align:top}
+.txp_popup_barrage .txp_popup_barrage_hd{position:relative;text-align:right;padding:8px 20px;overflow:hidden}
+.txp_popup_barrage_bd{height:164px}
+.txp_popup_barrage .txp_popup_barrage_title{font-size:14px;color:#999}
+.txp_popup_barrage .txp_popup_barrage_title .txp_list_item{float:left;margin-right:30px;list-style:none;cursor:pointer}
+.txp_popup_barrage .txp_popup_barrage_title .txp_current{color:#ff6428}
+.txp_popup_barrage .txp_link{font-size:14px;color:#ff6428;text-decoration:none;cursor:pointer}
+.txp_popup_barrage .txp_link:hover{color:#ff2424}
+.txp_popup_barrage .x_mod_bd{position:relative}
+.txp_popup_barrage .txp_bubble_list:after,.txp_popup_barrage .txp_bubble_list:before{content:'';display:table}
+.txp_popup_barrage .txp_bubble_list:after{clear:both}
+.txp_popup_barrage .txp_scroll_wrap{position:relative;*zoom:1;list-style:none;max-height:135px;_height:150px;margin-left:2px;font-size:0;overflow-y:auto;overflow-x:hidden;transform:translateZ(0);padding-top:16px;margin-right:9px;-webkit-overflow-scrolling:touch}
+.txp_popup_barrage .txp_scroll_wrap{position:relative;zoom:1;scrollbar-base-color:#222225;scrollbar-face-color:#4c4c4c;scrollbar-arrow-color:#000;scrollbar-3dlight-color:#4c4c4c;scrollbar-highlight-color:#4c4c4c;scrollbar-shadow-color:#4c4c4c;scrollbar-darkshadow-color:#4c4c4c;scrollbar-track-color:#333338}
+.txp_popup_barrage .txp_scroll_wrap .scroll_wrap_inner{position:relative;height:100%;overflow:auto}
+.txp_popup_barrage .txp_scroll_wrap .mod_playlist{margin-bottom:10px}
+.txp_popup_barrage .txp_scroll_wrap .mb0{margin-bottom:0}
+.txp_popup_barrage .txp_scroll_wrap::-webkit-scrollbar{width:5px;background:#333338}
+.txp_popup_barrage .txp_scroll_wrap::-webkit-scrollbar-track-piece{background:0 0}
+.txp_popup_barrage .txp_scroll_wrap::-webkit-scrollbar-button{display:none}
+.txp_popup_barrage .txp_scroll_wrap::-webkit-scrollbar-thumb{background:#555;border-radius:5px}
+.txp_bubble_list .txp_list_item{position:relative;display:inline-block;margin:0 0 10px 16px;height:34px;width:161px;border-radius:7px;border:2px solid transparent;cursor:pointer}
+.txp_bubble_list .txp_list_item img{display:inline-block;position:absolute;bottom:0;left:0;width:161px}
+.txp_bubble_list .txp_current img{border-radius:6px}
+.txp_bubble_list .txp_list_item .txp_barrage_icon_slted{display:none;position:absolute;top:2px;left:2px;z-index:1;width:9px;height:7px;overflow:hidden;width:8px;height:6px;background-image:url(/tencentvideo/txp/style/img/sprite/txp_barrage_set.png);background-position:0 -241px}
+.txp_bubble_list .txp_current{border:2px solid #ff6428}
+.txp_bubble_list .txp_current .txp_barrage_icon_slted{display:inline-block}
+.txp_popup_barrage .txp_emoticon_list{color:#eaeaea;line-height:30px;padding-left:20px;padding-top:12px}
+.txp_popup_barrage .txp_emoticon_list li{font-size:14px;cursor:pointer}
+.txp_popup_barrage .txp_emoticon_list .txp_list_item:hover{color:#ff6428}
+.txp_popup_barrage .txp_emoticon_list .txp_current{color:#ff6428}
+.txp_popup_barrage_text{width:410px;height:100px}
+.txp_barrage_settings{position:relative;overflow:hidden;padding:16px 0 16px 70px;border-bottom:1px #2c2c31 solid;margin:0 20px;font-size:14px;box-sizing:content-box}
+.txp_barrage_settings_title{position:absolute;left:0;top:16px}
+.txp_popup_barrage_text .txp_barrage_settings{padding:0 0 0 28px;margin:16px 0 0;width:168px;display:inline-block;vertical-align:top;border-bottom:0}
+.txp_popup_barrage_text .txp_barrage_settings:first-child{border-right:1px #393a3d solid}
+.txp_popup_barrage_text .txp_barrage_settings_title{position:static;line-height:1}
+.txp_barrage_settings_color{margin-right:-12px;overflow:hidden;font-size:0}
+.txp_barrage_settings_color .txp_list_item{display:inline-block;cursor:pointer;margin-right:12px;margin-top:8px}
+.txp_barrage_settings_color .txp_list_item span{width:16px;height:16px;border-radius:16px;margin:2px;display:block;opacity:.8;box-sizing:content-box}
+.txp_barrage_settings_color .txp_list_item:hover span{opacity:1}
+.txp_barrage_settings_color .txp_current span{border:2px rgba(255,92,56,.6) solid;margin:0;opacity:1}
+.txp_barrage_mode_title{font-size:12px}
+.txp_barrage_mode{overflow:hidden;font-size:0;margin-right:-11px;margin-top:8px}
+.txp_barrage_mode .txp_list_item{display:inline-block;margin-right:11px;text-align:center;cursor:pointer}
+.txp_barrage_mode .txp_barrage_mode_box{width:47px;height:32px;position:relative;margin:0 0 2px 0;overflow:hidden}
+.txp_barrage_mode .txp_barrage_mode_box:after{width:38px;height:24px;content:'';display:block;border:2px #515155 solid;border-radius:4px;position:absolute;left:0;top:0}
+.txp_barrage_mode .txp_barrage_mode_box .txp_barrage_mode_line{display:block;width:18px;height:2px;background-color:#515155;margin-left:12px;margin-top:4px}
+.txp_barrage_mode .txp_barrage_mode_box .txp_barrage_mode_line1{margin-top:6px}
+.txp_barrage_mode .txp_barrage_mode_scroll .txp_barrage_mode_line1{margin-left:12px}
+.txp_barrage_mode .txp_barrage_mode_scroll .txp_barrage_mode_line2{margin-left:6px}
+.txp_barrage_mode .txp_barrage_mode_scroll .txp_barrage_mode_line3{margin-left:18px;width:8px}
+.txp_barrage_mode .txp_barrage_mode_top .txp_barrage_mode_line2{width:10px;margin-left:16px}
+.txp_barrage_mode .txp_barrage_mode_bottom .txp_barrage_mode_line1{margin-top:14px;width:10px;margin-left:16px}
+.txp_barrage_mode .txp_current .txp_barrage_mode_box:after{border:0;width:42px;height:28px;background-image:url(/tencentvideo/txp/style/img/sprite/txp_barrage_set.png);background-position:0 0;background-repeat:no-repeat}
+.txp_barrage_mode .txp_current .txp_barrage_mode_box:before{content:'';display:block;position:absolute;right:0;bottom:0;width:14px;height:14px;background-image:url(/tencentvideo/txp/style/img/sprite/txp_barrage_set.png);background-position:0 -172px;background-repeat:no-repeat}
+.txp_barrage_mode .txp_current .txp_barrage_mode_line{background-color:#999}
+.txp_barrage_mode .txp_current .txp_barrage_mode_title{color:#999}
+.txp_barrage_mode .txp_barrage_mode_box:hover:after{border-color:#999}
+.txp_barrage_mode .txp_barrage_mode_box:hover .txp_barrage_mode_line{background-color:#999}
+.txp_barrage_mode_block{margin-right:-26px;margin-top:0}
+.txp_barrage_mode_block .txp_list_item{margin-right:26px}
+.txp_barrage_mode_block .txp_barrage_mode_box{width:62px;height:46px}
+.txp_barrage_mode_block .txp_barrage_mode_box:after{width:56px;height:40px}
+.txp_barrage_mode_block .txp_barrage_mode_box .txp_barrage_mode_line{width:28px;margin-top:8px}
+.txp_barrage_mode_block .txp_barrage_mode_scroll .txp_barrage_mode_line1{margin-left:18px}
+.txp_barrage_mode_block .txp_barrage_mode_scroll .txp_barrage_mode_line2{margin-left:9px}
+.txp_barrage_mode_block .txp_barrage_mode_scroll .txp_barrage_mode_line3{margin-left:16px}
+.txp_barrage_mode_block .txp_barrage_mode_top .txp_barrage_mode_line2{width:18px}
+.txp_barrage_mode_block .txp_barrage_mode_bottom .txp_barrage_mode_line1{margin-top:23px;width:18px}
+.txp_barrage_mode_block .txp_current .txp_barrage_mode_box:after{width:60px;height:44px;background-image:url(/tencentvideo/txp/style/img/sprite/txp_barrage_set.png);background-position:0 -38px}
+.txp_barrage_mode_block .txp_current .txp_barrage_mode_box:before{width:14px;height:14px;background-image:url(/tencentvideo/txp/style/img/sprite/txp_barrage_set.png);background-position:0 -148px}
+.txp_barrage_settings_checkbox{padding-left:0;border-bottom:0}
+.txp_barrage_settings_checkbox .txp_checkbox{display:inline-block;width:12px;height:12px;border:1px #999 solid;border-radius:7px;margin-right:6px;cursor:pointer;position:relative;top:2px}
+.txp_barrage_settings_checkbox .txp_checkbox:hover{border-color:#ff5c38}
+.txp_barrage_settings_checkbox .txp_checkbox_selected{width:14px;height:14px;background-image:url(/tencentvideo/txp/style/img/sprite/txp_barrage_set.png);background-position:0 -172px;border:0}
+.txp_popup_barrage_type .txp_barrage_settings{line-height:20px;width:225px}
+.txp_popup_barrage_type .txp_popup_barrage_inner{width:auto;height:auto;margin:0}
+.txp_barrage_progress{height:20px;font-size:0}
+.txp_barrage_progress .txp_barrage_progress_value{display:inline-block;font-size:12px;position:absolute;right:0;top:16px}
+.txp_popup_barrage_text .txp_barrage_settings_checkbox{padding-left:0}
+.txp_barrage_progress_bar{width:180px;height:4px;margin:8px 0;background-color:#222225;border-radius:2px;position:relative;cursor:pointer}
+.txp_barrage_progress_bar:before{content:'';display:block;width:100%;height:30px;position:absolute;left:0;top:-13px}
+.txp_barrage_progress_bar .txp_barrage_progress_play{background-color:#ff5945;height:4px;position:absolute;left:0;top:0;border-radius:2px;cursor:pointer}
+.txp_barrage_progress_bar .txp_barrage_progress_handler{width:12px;height:12px;border-radius:6px;position:absolute;top:-4px;margin-left:-6px;background-color:#ff5945;cursor:pointer}
+.txp_barrage_progress_bar .txp_barrage_progress_handler:hover:after{content:'';display:block;width:20px;height:20px;border-radius:10px;background-color:#ff5945;opacity:.2;position:absolute;left:-4px;top:-4px}
+.txp_popup_barrage_type{width:335px;height:auto}
+.txp_popup_barrage_type .txp_barrage_progress_bar,.txp_popup_barrage_type .txp_barrage_settings_title{display:inline-block}
+.txp_popup_barrage_type .txp_list_item{margin-right:18px}
+.player_container .txp_mod_barrage .txp_barrage_form .txp_popup_barrage_v2 .txp_popup_barrage_emoji,.player_container .txp_mod_barrage .txp_barrage_form .txp_popup_barrage_v2 .txp_popup_barrage_inner,.player_container .txp_mod_barrage .txp_barrage_form .txp_popup_barrage_v2 .txp_popup_barrage_text{width:364px}
+.txp_html_fullscreen .txp_popup_barrage_v2 .svg_icon_close{margin-top:-10px}
+.txp_popup_barrage_v2 .txp_barrage_box{display:block;position:relative;width:100%;overflow:hidden}
+.txp_popup_barrage_v2 .txp_barrage_mode{margin-top:0;position:relative;overflow:visible;transition:all .2s ease;left:0;white-space:nowrap}
+.txp_popup_barrage_v2 .txp_list_item{margin-right:10px}
+.txp_popup_barrage_v2 .txp_popup_barrage_inner{width:364px}
+.txp_popup_barrage_v2 .txp_current .txp_barrage_mode_box:before{background-image:none}
+.txp_popup_barrage_v2 .txp_barrage_settings{padding:18px 0 0 0;overflow:visible;width:auto;border:none}
+.txp_popup_barrage_v2 .txp_barrage_settings_checkbox{padding:0;margin:15px 10px 0;height:35px;line-height:35px;text-align:right;border-top:1px solid rgba(255,255,255,.08);color:#999;font-size:12px}
+.txp_popup_barrage_v2 .txp_barrage_settings_checkbox .setting_icon,.txp_popup_barrage_v2 .txp_barrage_settings_checkbox .txp_setting_icon{display:inline-block;vertical-align:middle;width:16px;height:16px;margin:-1px 5px 0}
+.txp_popup_barrage_v2 .txp_barrage_settings_checkbox .setting_icon_pic,.txp_popup_barrage_v2 .txp_barrage_settings_checkbox .txp_setting_icon_pic{display:block;width:100%;height:100%}
+.txp_popup_barrage_v2 .txp_barrage_settings_title{display:block;position:static;line-height:1;font-size:12px;font-weight:700;color:#eee;margin-bottom:10px}
+.txp_popup_barrage_v2 .txp_barrage_mode_box,.txp_popup_barrage_v2 .txp_current .txp_barrage_mode_box{display:inline-block;vertical-align:middle;width:22px;height:16px;overflow:visible}
+.txp_popup_barrage_v2 .txp_barrage_mode_box .txp_barrage_mode_line,.txp_popup_barrage_v2 .txp_current .txp_barrage_mode_box .txp_barrage_mode_line{position:relative;height:1px;background:#999;margin-top:2px;z-index:2;width:12px}
+.txp_popup_barrage_v2 .txp_barrage_mode_box .txp_barrage_mode_line1,.txp_popup_barrage_v2 .txp_current .txp_barrage_mode_box .txp_barrage_mode_line1{margin-top:3px;margin-left:7px}
+.txp_popup_barrage_v2 .txp_barrage_mode_box .txp_barrage_mode_line2,.txp_popup_barrage_v2 .txp_current .txp_barrage_mode_box .txp_barrage_mode_line2{margin-left:4px}
+.txp_popup_barrage_v2 .txp_barrage_mode_box .txp_barrage_mode_line3,.txp_popup_barrage_v2 .txp_current .txp_barrage_mode_box .txp_barrage_mode_line3{margin-left:9px;width:8px}
+.txp_popup_barrage_v2 .txp_barrage_mode_box:after,.txp_popup_barrage_v2 .txp_current .txp_barrage_mode_box:after{width:22px;height:16px;border:1px solid #999;border-radius:2px;box-sizing:border-box;background-image:none}
+.txp_popup_barrage_v2 .txp_barrage_mode_box:hover .txp_barrage_mode_line,.txp_popup_barrage_v2 .txp_current .txp_barrage_mode_box:hover .txp_barrage_mode_line{background-color:#ff5c38}
+.txp_popup_barrage_v2 .txp_barrage_mode_box:hover:after,.txp_popup_barrage_v2 .txp_current .txp_barrage_mode_box:hover:after{border-color:#ff5c38}
+.txp_popup_barrage_v2 .txp_barrage_mode_top .txp_barrage_mode_line1{width:14px;margin-left:4px}
+.txp_popup_barrage_v2 .txp_barrage_mode_top .txp_barrage_mode_line2{width:8px;margin-left:7px}
+.txp_popup_barrage_v2 .txp_barrage_mode_bottom .txp_barrage_mode_line1{width:8px;margin-left:7px;margin-top:9px}
+.txp_popup_barrage_v2 .txp_barrage_mode_bottom .txp_barrage_mode_line2{width:14px;margin-left:4px}
+.txp_popup_barrage_v2 .txp_barrage_mode_title{display:inline-block;vertical-align:middle;line-height:16px;font-size:12px;margin-left:7px}
+.txp_popup_barrage_v2 .txp_barrage_btn{position:relative;font-size:12px;width:64px;height:30px;box-sizing:border-box;border-radius:30px;background:0 0;outline:0;border:2px solid transparent;cursor:pointer;color:#fff}
+.txp_popup_barrage_v2 .txp_barrage_btn:hover{border:2px solid #ff5c38!important}
+.txp_popup_barrage_v2 .txp_barrage_btn.current{border:2px solid #ff5c38!important}
+.txp_popup_barrage_v2 .txp_barrage_btn.current:after{content:'';display:block;position:absolute;bottom:-2px;right:-2px;width:10px;height:10px;width:10px;height:10px;background-image:url(/tencentvideo/txp/style/img/sprite/txp_barrage_set.png);background-position:0 -196px;background-repeat:no-repeat}
+.txp_popup_barrage_v2 .txp_barrage_btn .star_bg{position:absolute;display:block;width:100%;height:100%;top:0;left:0;background:no-repeat center/auto 100%}
+.txp_popup_barrage_v2 .txp_barrage_color .txp_list_item{margin-right:22px}
+.txp_popup_barrage_v2 .txp_barrage_color .current .txp_barrage_btn{border:2px solid #ff5c38!important}
+.txp_popup_barrage_v2 .txp_barrage_color .current .txp_barrage_btn .txp_barrage_btn_mark{top:-2px;right:-2px}
+.txp_popup_barrage_v2 .txp_barrage_color .current .txp_barrage_btn:after{content:'';display:block;position:absolute;bottom:-2px;right:-2px;width:10px;height:10px;width:10px;height:10px;background-image:url(/tencentvideo/txp/style/img/sprite/txp_barrage_set.png);background-position:0 -196px;background-repeat:no-repeat}
+.txp_popup_barrage_v2 .txp_barrage_color .text,.txp_popup_barrage_v2 .txp_barrage_color .txp_text{position:relative;display:block;max-width:48px;text-align:center;overflow:hidden;margin:0 auto}
+.txp_popup_barrage_v2 .txp_barrage_genre{padding-bottom:5px}
+.txp_popup_barrage_v2 .txp_barrage_genre .current .txp_barrage_mode_box .hover_mark,.txp_popup_barrage_v2 .txp_barrage_genre .current .txp_barrage_mode_box .txp_hover_mark{position:absolute;display:inline-block;width:10px;height:10px;right:-1px;bottom:-1px;z-index:1}
+.txp_popup_barrage_v2 .txp_barrage_genre .current .txp_barrage_mode_box .hover_mark:before,.txp_popup_barrage_v2 .txp_barrage_genre .current .txp_barrage_mode_box .txp_hover_mark:before{content:'';position:absolute;display:block;right:-3px;bottom:-3px;width:10px;height:10px;background-image:url(/tencentvideo/txp/style/img/sprite/txp_barrage_set.png);background-position:0 -196px;background-repeat:no-repeat}
+.txp_popup_barrage_v2 .txp_barrage_genre .current .txp_barrage_mode_box .txp_barrage_mode_line{background:#ff5c38}
+.txp_popup_barrage_v2 .txp_barrage_genre .current .txp_barrage_mode_box:after{border-color:#ff5c38;-webkit-clip-path:polygon(0 0,28px 0,0 25px);clip-path:polygon(0 0,28px 0,0 25px)}
+.txp_popup_barrage_v2 .txp_barrage_color_vip .txp_barrage_btn{border:none}
+.txp_popup_barrage_v2 .txp_barrage_color_vip .txp_barrage_btn .txp_barrage_btn_mark{content:'';display:block;position:absolute;top:0;right:0;width:20px;height:10px;background:no-repeat center/cover}
+.txp_popup_barrage_v2 .txp_barrage_color_vip .txp_barrage_btn:hover{border:2px solid #ff5c38}
+.txp_popup_barrage_v2 .txp_barrage_color_vip .txp_barrage_btn:hover .txp_barrage_btn_mark{top:-2px;right:-2px}
+.txp_popup_barrage_v2 .stars_avatar,.txp_popup_barrage_v2 .txp_stars_avatar{position:relative;display:block;margin:0 auto;width:60px;height:60px;box-sizing:border-box;-ms-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;border:1px solid rgba(255,255,255,.24)}
+.txp_popup_barrage_v2 .stars_avatar .txp_barrage_btn_mark,.txp_popup_barrage_v2 .txp_stars_avatar .txp_barrage_btn_mark{position:absolute;display:block;width:20px;height:10px;right:-1px;bottom:-1px;background:no-repeat center/cover}
+.txp_popup_barrage_v2 .stars_avatar_pic,.txp_popup_barrage_v2 .txp_stars_avatar_pic{position:absolute;width:60px;height:auto;left:-1px;right:-1px;top:0;bottom:0;margin:auto;z-index:-1}
+.txp_popup_barrage_v2 .stars_name,.txp_popup_barrage_v2 .txp_stars_name{display:block;width:60px;margin-top:4px;font-size:12px;color:#ccc;text-align:center;line-height:1;overflow:hidden;white-space:nowrap}
+.txp_popup_barrage_v2 .txp_barrage_stars{margin-right:0;line-height:1}
+.txp_popup_barrage_v2 .txp_barrage_stars .txp_list_item{margin-right:28px}
+.txp_popup_barrage_v2 .txp_barrage_stars .current .stars_avatar,.txp_popup_barrage_v2 .txp_barrage_stars .current .txp_stars_avatar{border-color:#ff5c38;border-width:2px}
+.txp_popup_barrage_v2 .txp_barrage_stars .current .stars_avatar:after,.txp_popup_barrage_v2 .txp_barrage_stars .current .txp_stars_avatar:after{content:'';display:block;position:absolute;top:-2px;right:-2px;width:15px;height:15px;background-image:url(/tencentvideo/txp/style/img/sprite/txp_barrage_set.png);background-position:0 -216px;background-repeat:no-repeat}
+.txp_popup_barrage_v2 .txp_barrage_stars .current .stars_avatar_pic,.txp_popup_barrage_v2 .txp_barrage_stars .current .txp_stars_avatar_pic{left:-2px;right:-2px}
+.txp_popup_barrage_v2 .txp_barrage_stars .current .txp_barrage_btn_mark{bottom:-2px;right:-2px}
+.txp_popup_barrage_v2 .txp_barrage_stars .current .stars_name,.txp_popup_barrage_v2 .txp_barrage_stars .current .txp_stars_name{color:#ff5c38}
+.txp_popup_barrage_v2 .txp_barrage_stars .txp_list_item:hover .stars_avatar,.txp_popup_barrage_v2 .txp_barrage_stars .txp_list_item:hover .txp_stars_avatar{border-color:#ff5c38;border-width:2px}
+.txp_popup_barrage_v2 .txp_barrage_stars .txp_list_item:hover .stars_avatar_pic,.txp_popup_barrage_v2 .txp_barrage_stars .txp_list_item:hover .txp_stars_avatar_pic{left:-2px;right:-2px}
+.txp_popup_barrage_v2 .txp_barrage_stars .txp_list_item:hover .txp_barrage_btn_mark{bottom:-2px;right:-2px}
+.txp_popup_barrage_v2 .txp_barrage_btn_next,.txp_popup_barrage_v2 .txp_barrage_btn_prev{width:20px;height:20px;position:absolute;cursor:pointer;box-sizing:content-box;top:0;bottom:0;margin:auto}
+.txp_popup_barrage_v2 .txp_barrage_btn_next:hover,.txp_popup_barrage_v2 .txp_barrage_btn_prev:hover{color:#ff5c38}
+.txp_popup_barrage_v2 .txp_barrage_btn_prev{left:-30px}
+.txp_popup_barrage_v2 .txp_barrage_btn_next{right:-30px}
+.txp_popup_barrage_v2 .txp_barrage_btn_stars{padding:51px 10px 27px 10px}
+.txp_popup_barrage_v2 .txp_barrage_btn_color{padding:37px 10px 0 10px}
+.txp_popup_barrage_v2 .txp_icon{display:block;width:100%;height:100%;fill:currentColor}
+.txp_popup_barrage_v2 .txp_barrage_title{font-size:14px;font-weight:700;color:#eee;text-align:center}
+.txp_popup_barrage_v2 .txp_barrage_title .text,.txp_popup_barrage_v2 .txp_barrage_title .txp_text{display:inline-block;position:relative}
+.txp_popup_barrage_v2 .txp_barrage_title .text:after,.txp_popup_barrage_v2 .txp_barrage_title .text:before,.txp_popup_barrage_v2 .txp_barrage_title .txp_text:after,.txp_popup_barrage_v2 .txp_barrage_title .txp_text:before{content:'';position:absolute;display:block;width:10px;height:1px;background:#999;top:0;bottom:0;margin:auto}
+.txp_popup_barrage_v2 .txp_barrage_title .text:before,.txp_popup_barrage_v2 .txp_barrage_title .txp_text:before{left:-20px}
+.txp_popup_barrage_v2 .txp_barrage_title .text:after,.txp_popup_barrage_v2 .txp_barrage_title .txp_text:after{right:-20px}
+.txp_popup_barrage_v2 .txp_barrage_genre .txp_list_item{width:64px}
+.txp_popup_barrage_v2.txp_popup_barrage_alert .txp_popup_barrage_inner{background:rgba(0,0,0,.76)}
+.txp_popup_barrage_v2 .txp_popup_get_vip{padding:30px;font-size:12px;color:#d6ab56;text-align:center}
+.txp_popup_barrage_v2 .txp_barrage_vip_desc{margin-bottom:19px}
+.txp_popup_barrage_v2 .txp_barrage_vip_title{margin-bottom:12px;font-size:14px;font-weight:700}
+.txp_popup_barrage_v2 .txp_barrage_vip_btn{width:116px;height:32px;font-size:12px;font-weight:700;color:#fff;border:none;background:#d5ab56;border-radius:20px;cursor:pointer;outline:0}
+.txp_popup_barrage_v2 .txp_barrage_vip_btn:active{color:#fff;background:#d5ab56;opacity:.6}
+.txp_popup_barrage_v2 .txp_barrage_vip_btn:hover{background:#e8bd69}
+.txp_popup_barrage_v2 .txp_popup_up_vip{margin:0;padding:0}
+.txp_popup_barrage_v2 .txp_up_vip_pic{width:100%;height:auto}
+.txp_popup_barrage_v2 .txp_barrage_close{box-sizing:border-box;position:absolute;display:block;top:0;right:0;width:10px;height:10px;padding:13px;color:#ededed;box-sizing:content-box}
+.txp_popup_barrage_v2 .txp_barrage_close:hover{color:#ff5c38}
+.txp_popup_barrage_v2 .txp_popup_emoji{margin:20px 0;padding:0 16px 0 21px;font-size:0;max-height:92px;overflow:auto}
+.txp_popup_barrage_v2 .txp_emoji_tips{display:block;height:92px;margin:20px 15px;padding:0;box-sizing:border-box;text-align:center;line-height:92px;color:#999}
+.txp_popup_barrage_v2 .svg_icon_emoji_tips{display:inline-block;vertical-align:middle;width:18px;height:18px}
+.txp_popup_barrage_v2 .txp_popup_emoji_text{display:inline-block;vertical-align:middle}
+.txp_popup_barrage_v2 .txp_popup_emoji_icon{display:inline-block;position:relative;width:36px;height:36px;margin:5px;cursor:pointer}
+.txp_popup_barrage_v2 .txp_popup_emoji_icon .txp_barrage_btn_mark{position:absolute;width:20px;height:10px;background:no-repeat center/cover;right:0;bottom:0}
+.txp_popup_barrage_v2 .txp_popup_emoji_pic{display:inline-block;width:100%;height:100%;object-fit:contain}
+.txp_popup_barrage_v2 .txp_popup_toast{display:inline-block;position:absolute;top:50%;left:0;right:0;margin:auto;font-size:12px;line-height:20px;-ms-transform:translateY(-50%);-webkit-transform:translateY(-50%);transform:translateY(-50%);padding:7px 20px;background:rgba(17,17,17,.9);border-radius:50px;max-width:200px;text-align:center}
+.txp_popup_barrage_v2 .txp_barrage_genre .txp_list_item.current .txp_barrage_mode_box:after,.txp_popup_barrage_v2 .txp_barrage_genre .txp_list_item:hover .txp_barrage_mode_box:after{border-color:#ff5c38}
+.txp_popup_barrage_v2 .txp_barrage_genre .txp_list_item.current .txp_barrage_mode_line,.txp_popup_barrage_v2 .txp_barrage_genre .txp_list_item:hover .txp_barrage_mode_line{background-color:#ff5c38}
+.txp_popup_barrage_v2 .txp_barrage_genre .txp_list_item.current .txp_barrage_mode_title,.txp_popup_barrage_v2 .txp_barrage_genre .txp_list_item:hover .txp_barrage_mode_title{color:#ff5c38}
+.lte_ie8 svg{display:none}
+.lte_ie8 .txp_popup_barrage .txp_btn_next,.lte_ie8 .txp_popup_barrage .txp_btn_prev{width:12px;height:18px;background-image:url(/tencentvideo/txp/style/img/sprite/txp_barrage_set.png);background-position:0 -92px}
+.lte_ie8 .txp_popup_barrage .txp_btn_next{background-position:0 -120px}
+@-webkit-keyframes txp_barrage{
+0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}
+90%{opacity:1}
+100%{opacity:0;-webkit-transform:translateX(-2800px);transform:translateX(-2800px)}
+}
+@keyframes txp_barrage{
+0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}
+90%{opacity:1}
+100%{opacity:0;-webkit-transform:translateX(-2800px);transform:translateX(-2800px)}
+}
+@-webkit-keyframes txp_barrage_plusone{
+0%{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}
+100%{-webkit-transform:translateY(-40px);transform:translateY(-40px);opacity:0}
+}
+@keyframes txp_barrage_plusone{
+0%{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}
+100%{-webkit-transform:translateY(-40px);transform:translateY(-40px);opacity:0}
+}
+@-webkit-keyframes txp_barrage_star{
+0%{-webkit-transform:rotate(0) scale(1);transform:rotate(0) scale(1)}
+50%{-webkit-transform:rotate(180deg) scale(1.1);transform:rotate(180deg) scale(1.1)}
+100%{-webkit-transform:rotate(360deg) scale(1);transform:rotate(360deg) scale(1)}
+}
+@keyframes txp_barrage_star{
+0%{-webkit-transform:rotate(0) scale(1);transform:rotate(0) scale(1)}
+50%{-webkit-transform:rotate(180deg) scale(1.1);transform:rotate(180deg) scale(1.1)}
+100%{-webkit-transform:rotate(360deg) scale(1);transform:rotate(360deg) scale(1)}
+}
+@-webkit-keyframes txp_barrage_item_star_show{
+0%{opacity:0}
+100%{opacity:1}
+}
+@keyframes txp_barrage_item_star_show{
+0%{opacity:0}
+100%{opacity:1}
+}
+@-webkit-keyframes txp_barrage_item_star{
+0%{top:200px}
+100%{top:15px}
+}
+@keyframes txp_barrage_item_star{
+0%{top:200px}
+100%{top:15px}
+}
+@keyframes txp_barrage_item_show{
+0%{opacity:0}
+5%{opacity:1}
+95%{opacity:1}
+100%{opacity:0}
+}
+@-webkit-keyframes txp_barrage_item_show{
+0%{opacity:0}
+5%{opacity:1}
+95%{opacity:1}
+100%{opacity:0}
+}
+.txp_barrage{position:absolute;top:0;left:0;width:100%;height:100%;z-index:3;-webkit-transform:translateZ(0);transform:translateZ(0);text-overflow:ellipsis;pointer-events:none}
+.txp_barrage_item{position:absolute;top:20px;left:0;background-color:rgba(255,255,255,.01);padding:4px 4px;font-size:18px;line-height:24px;white-space:nowrap;text-shadow:0 0 2px rgba(0,0,0,.8),0 1px 0 rgba(0,0,0,.8),0 0 2px rgba(0,0,0,.8),0 0 1px rgba(0,0,0,.8);cursor:pointer;pointer-events:auto;stroke-width:1px;stroke:rgba(0,0,0,.5)}
+.txp_barrage_item .txp_text{display:inline-block;max-width:680px;overflow:hidden;text-overflow:ellipsis;vertical-align:top}
+.txp_barrage_item .txp_img{display:inline-block;vertical-align:top;width:auto;height:28px}
+.txp_barrage_item_bottom,.txp_barrage_item_top{position:absolute;padding:4px 4px;left:50%;transform:translate(-50%,0);top:20px;font-size:18px;line-height:24px;white-space:nowrap;text-shadow:0 0 1px #000;stroke-width:1px;stroke:rgba(0,0,0,.5);cursor:pointer;pointer-events:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;width:auto;text-align:center;opacity:0;pointer-events:auto}
+.txp_barrage_item_bottom.txp_animate,.txp_barrage_item_top.txp_animate{-webkit-animation:txp_barrage_item_show 5s ease both;animation:txp_barrage_item_show 5s ease both}
+.txp_barrage_item_top{top:20px}
+.txp_barrage_item_bottom{top:initial;bottom:24%}
+.txp_barrage_item_bottom2{margin-bottom:40px}
+.txp_svg_icon_like{width:20px;height:20px;fill:currentColor}
+.txp_icon_like{width:20px;height:20px}
+.txp_barrage_hide_bottom .txp_barrage_item_bottom,.txp_barrage_hide_roll .txp_barrage_item,.txp_barrage_hide_top .txp_barrage_item_star,.txp_barrage_hide_top .txp_barrage_item_top{display:none}
+.txp_barrage_hide_bottom .txp_barrage_item_bottom.txp_barrage_item_mine,.txp_barrage_hide_roll .txp_barrage_item.txp_barrage_item_mine,.txp_barrage_hide_top .txp_barrage_item_star.txp_barrage_item_mine,.txp_barrage_hide_top .txp_barrage_item_top.txp_barrage_item_mine{display:block}
+.txp_barrage_pause{-webkit-animation-play-state:paused;animation-play-state:paused}
+.txp_barrage_plusone{position:absolute;right:10px;top:-20px;font-size:20px;color:#ff4200;-webkit-animation:txp_barrage_plusone 1s linear both;animation:txp_barrage_plusone 1s linear both}
+.txp_barrage_emotion{display:inline-block;width:24px;height:24px;margin-right:2px;vertical-align:-3px}
+.txp_barrage_report{background-color:rgba(55,55,66,.95);width:80px;height:30px;line-height:30px;border-radius:15px;color:#fff;position:absolute;z-index:999;font-size:14px;left:0;top:0;text-align:center;cursor:pointer}
+.txp_barrage_report:hover{color:#ff920b}
+.txp_barrage_report:hover .txp_svg_icon_report{fill:#ff920b}
+.txp_svg_icon_report{width:20px;height:20px;margin-top:7px;vertical-align:top;fill:#fff;pointer-events:none}
+.txp_barrage_item_bubble{border-radius:20px;padding:4px 6px 4px 4px;padding-right:50px;background-size:contain!important;border:1px solid rgba(255,255,255,.5);background-position:right center;background-repeat:no-repeat}
+.txp_player_live .txp_barrage_item_bubble{padding-right:10px}
+.txp_barrage_vipicon{position:absolute;height:13px;top:19px;left:15px}
+.txp_barrage_item_mine{border:1px solid #fff;border-radius:20px;padding:4px 6px 4px 4px;width:auto;z-index:1}
+.txp_barrage_avatar,.txp_barrage_emoji{display:inline-block;position:relative;margin-right:6px;width:24px;height:24px;border-radius:100%;vertical-align:top;pointer-events:auto;background:no-repeat center/100% auto}
+.txp_barrage_emoji{margin:0 1px}
+.txp_barrage_badge,.txp_barrage_text{display:inline-block;vertical-align:top}
+.txp_barrage_badge{margin-left:4px}
+.txp_barrage_badge .txp_icon_text{margin-left:3px;display:inline-block}
+.txp_barrage_lv1{color:#ff4200}
+.txp_barrage_lv2{color:#ff7800}
+.txp_barrage_lv3{color:#edc88d}
+.txp_barrage_lv4{color:#fff}
+.txp_barrage_lv5{color:#37a5e4}
+.txp_barrage_item_mine.txp_barrage_item_bubble{padding:4px 50px 4px 4px}
+.txp_barrage_item_star{position:absolute;left:50%;width:auto;z-index:2;pointer-events:auto;cursor:pointer;-webkit-transform:translate(-50%,0);-ms-transform:translate(-50%,0);transform:translate(-50%,0);-webkit-animation:txp_barrage_item_star_show .2s ease 1 both,txp_barrage_item_star .4s .1s linear 1 both;animation:txp_barrage_item_star_show .2s ease 1 both,txp_barrage_item_star .4s .1s linear 1 both}
+.txp_barrage_item_star .txp_barrage_avatar{position:absolute;left:0;top:-1px;z-index:3;width:36px;height:36px}
+.txp_barrage_item_star .txp_barrage_star{position:absolute;left:-12px;top:-16px;z-index:2;width:60px;height:60px;background:url(/tencentvideo/txp/style/img/avatar_star.svg) 0 0 no-repeat;-webkit-transform-origin:30px 32px;-ms-transform-origin:30px 32px;transform-origin:30px 32px;-webkit-animation:txp_barrage_star .6s .4s linear 1 both;animation:txp_barrage_star .6s .4s linear 1 both}
+.txp_barrage_item_star .txp_barrage_content{position:relative;z-index:1;display:inline-block;padding:4px 15px 4px 50px;line-height:24px;font-size:22px;white-space:nowrap;text-shadow:0 0 1px rgba(0,0,0,.5);cursor:pointer;border-radius:20px;border:1px solid #ffcc02;background-color:rgba(0,0,0,.6);-webkit-backface-visibility:hidden;backface-visibility:hidden;font-size:20px}
+.txp_barrage_item_img{position:absolute;left:0;top:0;z-index:-1;display:none;cursor:pointer;pointer-events:auto}
+.txp_html_fullscreen .txp_barrage_item_star{margin-top:40px}
+.txp_html_fullscreen .txp_barrage{overflow:hidden}
+.txp_barrage_item_prop{border-radius:20px;padding:2px 58px 2px 2px;width:auto;z-index:1;background-color:rgba(255,92,56,.4);border:1px solid rgba(255,92,56,.6)}
+.txp_barrage_item_prop .txp_prop_img{position:absolute;right:10px;top:0;width:auto;height:30px}
+.txp_barrage_animate{position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none;overflow:visible;background:repeat-x left center/auto 100%}
+.txp_barrage_animate.animated{background-image:url(/tencentvideo/txp/style/img/apng/stars.png)}
+.txp_barrage_animate_pendant{position:absolute;width:10px;height:10px;top:0;bottom:0;margin:auto}
+.txp_barrage_animate_pendant .pic{position:absolute;display:block;top:0;left:0;width:100%;height:100%;object-fit:contain}
+.animated .txp_barrage_animate_pendant1{animation:txp_barrage_pendant1 10s linear infinite}
+.animated .txp_barrage_animate_pendant2{animation:txp_barrage_pendant2 10s linear infinite}
+.txp_barrage_item_v2{padding:6px 4px;padding-left:50px}
+.txp_barrage_item_v2 .txp_barrage_avatar{width:40px;height:40px;position:absolute;left:5px;top:-2px}
+.txp_barrage_item_v2.txp_barrage_item_mine{padding-right:6px}
+.txp_barrage_item .txp_text.txp_gradation,.txp_barrage_item_bottom .txp_text.txp_gradation,.txp_barrage_item_top .txp_text.txp_gradation{font-weight:700}
+#v_rdong{content:"20190218161745"}

File diff suppressed because it is too large
+ 963 - 0
src/main/resources/static/public/content/txp_desktop.css


+ 28 - 0
src/main/resources/static/public/content/txp_external.css

@@ -0,0 +1,28 @@
+@charset "UTF-8";
+.txp_search{background:rgba(0,0,0,.3);border:1px rgba(255,255,255,.1) solid;height:28px;width:auto;border-radius:14px 0 0 14px;position:absolute;top:10px;right:0;z-index:7;font-size:0;cursor:pointer;white-space:nowrap;padding-right:2px}
+.txp_search .txp_icon{width:24px;height:24px;margin:2px}
+.txp_search_icon{display:inline-block}
+.txp_search_input{display:inline-block;vertical-align:top;width:0;overflow:hidden;position:relative;transition:width .3s}
+.txp_search_input input{width:166px;height:28px;line-height:28px;padding-left:12px;border:0 none;outline:0;background:0 0;font-size:12px;display:block;color:#fff}
+.txp_search_input input::placeholder{color:rgba(255,255,255,.7)}
+.txp_search_input:after{content:'';display:block;background-color:rgba(255,255,255,.1);width:2px;height:19px;position:absolute;right:0;top:4px}
+.txp_search:hover .txp_icon{fill:#ff6e0b}
+.txp_search:hover .txp_search_input{width:166px;display:inline-block}
+.txp_tipbar{position:relative;width:100%;height:50px;background:#26262b;text-align:center;color:#fefefe;font-size:0;overflow:hidden}
+.txp_tipbar .txp_logo{display:inline-block;width:30px;height:30px;background:url(/tencentvideo/txp/style/img/logo.svg);vertical-align:top;margin-right:12px;position:absolute;left:10px}
+.txp_tipbar .txp_text{display:inline-block;line-height:30px;height:30px;vertical-align:top;margin-top:10px;margin-right:40px;padding:0 190px 0 52px;box-sizing:border-box;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;position:relative;font-size:16px}
+.txp_tipbar .txp_btn_normal{vertical-align:top;position:absolute;right:10px}
+.txp_btn_normal{display:inline-block;background:#ff6428;color:#fff;font-size:14px;text-align:center;cursor:pointer;padding:0 22px;background:-moz-linear-gradient(0deg,#fc6526 0,#fc5245 100%);background:-webkit-linear-gradient(0deg,#fc6526 0,#fc5245 100%);background:-ms-linear-gradient(0deg,#fc6526 0,#fc5245 100%);height:30px;line-height:30px;border-radius:15px}
+.txp_btn_normal:hover{background:#ff6428}
+.player_inframe{position:relative;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}
+.player_inframe .mod_player{-webkit-flex:1;flex:1;-ms-flexbox:1;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;background:#000}
+.txp_player_inframe{width:100%;height:100%;position:relative;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;font-family:PingFangSC-Regular,Helvetica Neue,Helvetica,Roboto,Microsoft Yahei,Arial,sans-serif}
+.txp_player_inframe .txp_player{-webkit-flex:1;flex:1;-ms-flexbox:1;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;background:#000}
+.txp_controls .txp_btn_download{margin-left:15px;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}
+.txp_controls .txp_btn_download .txp_label,.txp_controls .txp_btn_download .txp_label:hover{padding:0 2px;background:0 0}
+.txp_controls .txp_btn_download .txp_icon_download{display:inline-block;width:16px;height:16px}
+.txp_controls .txp_btn_download .txp_tooltip_download{top:-50px;line-height:36px;padding:0 20px 0 20px;background-color:#ff6413;color:#fff;border-radius:18px;font-size:14px;white-space:nowrap}
+.txp_controls .txp_btn_download .txp_tooltip_download:after{content:'';position:absolute;left:50%;margin-left:-6px;bottom:-12px;border:6px solid transparent;border-top-color:#ff6413}
+.txp_controls .txp_btn_download:hover .txp_label{color:#ff6413}
+.txp_player_mini .txp_controls .txp_btn_download{display:none}
+#faycheng{content:"20171220163246"}

+ 277 - 0
src/main/resources/static/public/detailList.html

@@ -0,0 +1,277 @@
+<!DOCTYPE html>
+<html class="no-fouc js borderradius opacity cssanimations csscolumns cssgradients cssreflections csstransforms no-csstransforms3d csstransitions fontface no-generatedcontent video audio csstransforms3d" style="display: block;">
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    <!-- Meta Tags -->
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <!-- Title -->
+    <title>党建信息门户</title>
+
+    <!-- Favicon -->
+    <link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
+    <!-- Stylesheets -->
+    <link href="content/bootstrap.min.css" rel="stylesheet" type="text/css">
+    <link href="content/fontello.css" rel="stylesheet" type="text/css">
+    <link href="content/flexslider.css" rel="stylesheet" type="text/css">
+    <link href="content/settings.css" rel="stylesheet" type="text/css" media="screen">
+    <link href="content/responsive-calendar.css" rel="stylesheet" type="text/css">
+    <link href="content/chosen.css" rel="stylesheet" type="text/css">
+    <link href="content/cloud-zoom.css" rel="stylesheet" type="text/css">
+    <link href="content/style.css" rel="stylesheet" type="text/css">
+    <link href="content/owl.carousel.css" rel="stylesheet" type="text/css">
+    <link href="content/carousel_owl.theme.css" rel="stylesheet" type="text/css">
+    <link href="content/page.css" rel="stylesheet" type="text/css">
+    <link href="content/idangerous.swiper.css" rel="stylesheet" type="text/css">
+
+    <link href="content/i-style.css" rel="stylesheet" type="text/css">
+    <!--[if IE 9]>
+    <link rel="stylesheet" href="/r/cms/www/default/v2/css/ie9.css">
+    <![endif]-->
+    <!--[if lt IE 9]>
+    <script src="/r/cms/www/default/v2/js/html5shiv.js"></script>
+
+    <link rel="stylesheet" href="/r/cms/www/default/v2/css/ie.css">
+    <![endif]-->
+    <!--[if IE 7]>
+    <link rel="stylesheet" href="/r/cms/www/default/v2/css/fontello-ie7.css">
+    <![endif]-->
+    <style type="text/css">
+
+        .no-fouc {
+            display: none;
+        }
+    </style>
+    <!-- jQuery -->
+    <!--script src="/r/cms/www/default/v2/js/jquery-1.11.0.min.js"></script-->
+    <script src="script/jquery-1.9.1.min.js"></script>
+    <script src="script/owl.carousel.js"></script>
+    <script src="script/jquery-ui-1.10.4.min.js"></script>
+    <!-- Preloader -->
+    <script src="script/jquery.queryloader2.min.js"></script>
+    <script src="script/front.js" type="text/javascript"></script>
+    <script src="script/slider.js"></script>
+    <script src="script/idangerous.swiper.min.js"></script>
+    <!-- /Container -->
+    <!-- JavaScript -->
+    <!-- Bootstrap -->
+    <script type="text/javascript" src="script/bootstrap.min.js"></script>
+    <!-- angular -->
+    <script type="text/javascript" src="script/angular.min.js"></script>
+    <script type="text/javascript" src="detailList.js"></script>
+    <!-- Modernizr -->
+    <script type="text/javascript" src="script/modernizr.js"></script>
+    <!-- Sliders/Carousels -->
+    <script type="text/javascript" src="script/jquery.flexslider-min.js"></script>
+    <script type="text/javascript" src="script/owl.carousel.min.js"></script>
+    <!-- Revolution Slider  -->
+    <script type="text/javascript" src="script/jquery.themepunch.plugins.min.js"></script>
+    <script type="text/javascript" src="script/jquery.themepunch.revolution.min.js"></script>
+    <!-- Calendar -->
+    <script type="text/javascript" src="script/responsive-calendar.min.js"></script>
+    <!-- Raty -->
+    <script type="text/javascript" src="script/jquery.raty.min.js"></script>
+    <!-- Chosen -->
+    <script type="text/javascript" src="script/chosen.jquery.min.js"></script>
+    <!-- MixItUp -->
+    <script type="text/javascript" src="script/jquery.mixitup.js"></script>
+    <!-- CloudZoom -->
+    <script type="text/javascript" src="script/zoomsl-3.0.min.js"></script>
+    <!-- Main Script -->
+    <script type="text/javascript" src="script/script.js"></script>
+    <!--[if lt IE 9]>
+    <script type="text/javascript" src="/r/cms/www/default/v2/js/jquery.placeholder.js"></script>
+    <script type="text/javascript" src="/r/cms/www/default/v2/js/script_ie.js"></script>
+    <![endif]-->
+
+    <script src="script/wheeled.js" type="text/javascript"></script>
+    <style>
+
+        .hove {
+            background: #fecf75 !important;
+            text-decoration: none;
+        }
+
+        .hove h4 {
+            color: #fff;
+        }
+
+        .hove .icons {
+            color: #f89c9c;
+        }
+    </style>
+    <script src="script/script.js"></script>
+</head>
+<body class="sticky-header-on tablet-sticky-header" style="padding-top: 223px;" ng-app="gtPartyApp"
+      ng-controller="detailController">
+<div id="fb-root"></div>
+<!-- Container -->
+<div class="container">
+    <!-- Header -->
+    <header id="header" class="sticky-header" style="opacity: 1;">
+        <style>
+
+            .loginDiv {
+                background: #ee3333;
+                color: #ffffff;
+            }
+
+            .loginInfo > * {
+                color: #ffffec;
+            }
+
+            .loginInfo > a:hover {
+                color: #f2f2f4;
+            }
+        </style>
+        <script src="script/jquery.js" type="text/javascript"></script>
+        <script type="text/javascript">
+            $(function () {
+                //优先执行第三方退出 在执行本地退出
+                $('#logout').click(function () {
+                    location = "/logout.jspx?returnUrl=/";
+                });
+            });
+        </script>
+        <div class="row topbar">
+            <div class="container">
+                <div class="i-logo">{{sysName}}党建信息门户</div>
+                <div class="col-lg-5 col-md-5 col-sm-5 align-right hidden-xs" style="float: right;">
+                    <i class="glyphicon glyphicon-list-alt"> </i><a href="#">设为首页</a>
+                    <i class="glyphicon glyphicon-globe"> </i><a href="#">收藏</a>
+                    <i class="glyphicon icon-user"> </i><a ng-href="{{homeUrl}}">登录</a>
+                </div>
+                <!--<div class="i-search">
+                    <input type="search" value="">
+                    <button><i class="icons icon-search"></i></button>
+                </div>-->
+            </div>
+        </div>
+
+        <div id="lower-header">
+            <div class="container">
+                <div id="menu-button">
+                    <div>
+                        <span></span>
+                        <span></span>
+                        <span></span>
+                    </div>
+                    <span>菜单</span>
+                </div>
+                <ul id="navigation">
+                    <li>
+                        <!-- 一级菜单 -->
+                        <a href="index.html" target="_self">首页</a>
+                        <!-- /一级菜单 -->
+                    </li>
+
+                    <li ng-repeat="item in menuLists" ng-mouseenter="getMenuByParentID(item)" ng-mouseleave="clearNum()">
+                        <!-- 一级菜单 -->
+                        <a href="flDetail.html?moduleid={{item.moduleid}}" target="_self">{{item.modulename}}</a>
+                        <!-- /一级菜单 -->
+                        <!-- 二级菜单 -->
+                        <ul>
+                            <li ng-repeat="menu in item.childMenus">
+                                <a href="detailList.html?moduleid={{item.moduleid}}&childmoduleid={{menu.moduleid}}" target="_self">{{menu.modulename}}</a>
+                            </li>
+                        </ul>
+                        <!-- /二级菜单 -->
+                        <div class="dropdown-button"></div>
+                    </li>
+                </ul>
+            </div>
+        </div>
+        <div style="width: 100%">
+            <img src="images/banner.jpg" style="height: 300px;object-fit: cover">
+        </div>
+    </header>
+    <!-- /Header -->
+    <section id="content">
+
+        <!-- 模态框 显示二维码 -->
+        <div class="modal fade" tabindex="-1" role="dialog" id="maModal"
+             style="z-index: 99999;" aria-hidden="true">
+            <div class="modal-dialog" style="width: 400px;height: 400px">
+                <div class="modal-content">
+                    <div class="modal-header">
+                        <button type="button" class="close" data-dismiss="modal"
+                                aria-hidden="true">×
+                        </button>
+                        <h4 class="modal-title">
+                            二维码展示
+                        </h4>
+                    </div>
+                    <div class="modal-body" style="height: 350px">
+                        <img width="100%" height="100%" src="images/ma.png"/>
+                    </div>
+                    <div class="modal-footer">
+                        <button type="button" class="btn btn-default"
+                                data-dismiss="modal">关闭
+                        </button>
+                    </div>
+                </div><!-- /.modal-content -->
+            </div><!-- /.modal-dialog -->
+        </div><!-- /.modal -->
+
+        <!-- Section -->
+        <section class="section full-width-bg">
+
+            <!--navpath-->
+            <div class="navpath w1000">
+                <a href="index.html" target="_self">首页</a> &gt;&gt; <a href="#">{{menuInfo.modulename}}</a>
+            </div>
+            <!--list2j-->
+            <div ng-repeat="module in showModuleList">
+                <div class="list2j"><div class="title">
+                    <h2><a href="" target="_blank">{{module.modulename}}</a></h2>
+                </div>
+                    <ul class="list_14">
+                        <li ng-repeat="item in module.newsList"><a title="{{item.title}}" href="flPage.html?moduleid={{item.moduleid}}&newsid={{item.id}}&modulename={{menuInfo.modulename}}" target="_blank">{{item.title}}</a><i>{{item.publishtime | date:'yyyy-MM-dd'}}</i></li>
+                        <li ng-if="module.newsList.length == 0">暂无数据</li>
+                    </ul>
+                </div>
+            </div>
+        </section>
+        <!-- /Section -->
+    </section>
+    <!-- Footer -->
+    <footer id="footer" style="position:relative">
+
+        <!-- Lower Footer -->
+        <div id="lower-footer">
+            <div class="row">
+
+                <div class="col-lg-4 col-md-4 col-sm-4 animate-onscroll" style="opacity: 0;">
+                    <p class="copyright">
+                        <!--<i class="icon-chart-bar-1"></i>网内文章:38591<br />
+                        <i class="glyphicon glyphicon-flash"></i> 网站点击量:<span id="pv">18977548</span><br>
+                        <i class="glyphicon glyphicon-record"></i> 访客数总量:<span id="visitor">1847387</span><br>-->
+
+                    </p>
+                </div>
+                <div class="col-lg-4 col-md-4 col-sm-4 animate-onscroll align-center" style="opacity: 0;">
+                    <p class="copyright">
+                        © 2021 {{sysName}} 版权所有<br>
+                        请勿登载和传播涉密信息 <br>
+
+                        <span>技术支持:联奕科技</span>
+
+                    </p>
+                </div>
+
+                <div class="ma">
+
+                </div>
+            </div>
+        </div>
+        <!-- /Lower Footer -->
+    </footer>
+    <!-- /Footer -->
+
+
+    <!-- Back To Top -->
+    <a href="#" id="button-to-top" style="display: none;"><i class="icons icon-up-dir"></i></a>
+</div>
+
+</body>
+</html>

+ 148 - 0
src/main/resources/static/public/detailList.js

@@ -0,0 +1,148 @@
+(function ($ang, win) {
+    'use strict';
+    $ang.module('gtPartyApp', [])
+        .controller('detailController', function ($scope, $http) {
+
+            $scope.is = false;
+            $scope.sysName = "";
+
+            var url = location.search //获取url中"?"符后的字串 ('?modFlag=business&role=1')
+            var theRequest = new Object()
+            if (url.indexOf('?') != -1) {
+                var str = url.substr(1) //substr()方法返回从参数值开始到结束的字符串;
+                var strs = str.split('&')
+                for (var i = 0; i < strs.length; i++) {
+                    theRequest[strs[i].split('=')[0]] = strs[i].split('=')[1]
+                }
+            }
+
+            $scope.clearFlag = 1;
+            $scope.moduleid = theRequest.moduleid;
+            $scope.childmoduleid = theRequest.childmoduleid;
+            $scope.selectdata = {pageindex: 1, pagesize: 15, ptotal: 0};
+            $scope.modulename = '';
+            $scope.menuLists = [];
+
+            $scope.clearNum = function(){
+                if ($scope.clearFlag == 1){
+                    $scope.clearFlag == 0;
+                }else {
+                    $scope.clearFlag == 1;
+                }
+            }
+
+            $scope.getHomeUrl=function(){
+                $http.get("../../api/news/GetHomeUrl", {}
+                ).then(function (res) {
+                    $scope.homeUrl=res.data.item;
+                });
+
+            };
+
+            $scope.getHomeUrl();
+
+            //加载所有的父菜单记录
+            $scope.getMenuList = function () {
+                $http.get("../../api/news/moduleList", {
+                    params: {
+                        'modulename': $scope.modulename,
+                        'pageindex': $scope.selectdata.pageindex,
+                        'pagesize': $scope.selectdata.pagesize
+                    }
+                }).then(function (value) {
+                    $scope.menuLists = value.data.item.list;
+                    $scope.selectdata.total = value.data.item.total;
+                }, function (reason) {
+                    console.log(reason);
+                });
+                $http
+                ({
+                    method: 'get',
+                    url: '../../api/news/sysName',
+                    params: {
+                    }
+                }).then(function (result) {
+                    $scope.sysName=result.data.item;
+                }, function (resp) {
+                    $scope.showMsg('错误', '服务器错误');
+                })
+            };
+
+            //根据当前项的menuID找到其所有的子菜单
+            $scope.getMenuByParentID = function (item) {
+                if ($scope.clearFlag == 1){
+                    $http.get("../../api/news/getmoduleList", {
+                        params: {
+                            'parentModuleId': item.moduleid,
+                            pageindex : 1,
+                            pagesize : 999
+                        }
+                    }).then(function (result) {
+                        item.childMenus = result.data.item.list;
+
+                    }, function (reason) {
+                        console.log("无匹配项");
+                    });
+                }
+            };
+
+            //加载单个菜单
+            $scope.getSingleMenu = function () {
+                $http.get("../../api/news/getModule", {
+                    params: {
+                        'moduleId': $scope.moduleid,
+                    }
+                }).then(function (value) {
+                    $scope.menuInfo = value.data.item;
+                }, function (reason) {
+                    console.log(reason);
+                });
+            };
+
+            //获取需要展示的菜单
+            $scope.getShowMenuByParentID = function () {
+                $http.get("../../api/news/getmoduleList", {
+                    params: {
+                        'parentModuleId': $scope.moduleid,
+                        pageindex: 1,
+                        pagesize: 999
+                    }
+                }).then(function (result) {
+                    $scope.showModuleList = result.data.item.list.filter(it=>it.moduleid==$scope.childmoduleid);
+                    angular.forEach($scope.showModuleList, function (module, index, objs) {
+                        $scope.getNewsList(module);
+                    });
+                }, function (reason) {
+                    console.log("无匹配项");
+                });
+            };
+
+            $scope.getNewsList = function (item) {
+
+                $http
+                ({
+                    method: 'get',
+                    url: '../../api/news/newsList',
+                    params: {
+                        moduleId: item.moduleid,
+                        pageindex: 1,
+                        pagesize: 999
+                    }
+                }).then(function (result) {
+                    item.newsList = result.data.item.list;
+                }, function (resp) {
+                    $scope.showMsg('错误', '服务器错误');
+                })
+
+            }
+
+            $scope.loadData = function () {
+                $scope.getMenuList();
+                $scope.getSingleMenu();
+                $scope.getShowMenuByParentID();
+            }
+
+            $scope.loadData();
+
+        });
+})(angular, this);

BIN
src/main/resources/static/public/favicon.ico


+ 278 - 0
src/main/resources/static/public/flDetail.html

@@ -0,0 +1,278 @@
+<!DOCTYPE html>
+<html class="no-fouc js borderradius opacity cssanimations csscolumns cssgradients cssreflections csstransforms no-csstransforms3d csstransitions fontface no-generatedcontent video audio csstransforms3d" style="display: block;">
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    <!-- Meta Tags -->
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <!-- Title -->
+    <title>党建信息门户</title>
+
+    <!-- Favicon -->
+    <link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
+    <!-- Stylesheets -->
+    <link href="content/bootstrap.min.css" rel="stylesheet" type="text/css">
+    <link href="content/fontello.css" rel="stylesheet" type="text/css">
+    <link href="content/flexslider.css" rel="stylesheet" type="text/css">
+    <link href="content/settings.css" rel="stylesheet" type="text/css" media="screen">
+    <link href="content/responsive-calendar.css" rel="stylesheet" type="text/css">
+    <link href="content/chosen.css" rel="stylesheet" type="text/css">
+    <link href="content/cloud-zoom.css" rel="stylesheet" type="text/css">
+    <link href="content/style.css" rel="stylesheet" type="text/css">
+    <link href="content/owl.carousel.css" rel="stylesheet" type="text/css">
+    <link href="content/carousel_owl.theme.css" rel="stylesheet" type="text/css">
+    <link href="content/page.css" rel="stylesheet" type="text/css">
+    <link href="content/idangerous.swiper.css" rel="stylesheet" type="text/css">
+
+    <link href="content/i-style.css" rel="stylesheet" type="text/css">
+    <!--[if IE 9]>
+    <link rel="stylesheet" href="/r/cms/www/default/v2/css/ie9.css">
+    <![endif]-->
+    <!--[if lt IE 9]>
+    <script src="/r/cms/www/default/v2/js/html5shiv.js"></script>
+
+    <link rel="stylesheet" href="/r/cms/www/default/v2/css/ie.css">
+    <![endif]-->
+    <!--[if IE 7]>
+    <link rel="stylesheet" href="/r/cms/www/default/v2/css/fontello-ie7.css">
+    <![endif]-->
+    <style type="text/css">
+
+        .no-fouc {
+            display: none;
+        }
+    </style>
+    <!-- jQuery -->
+    <!--script src="/r/cms/www/default/v2/js/jquery-1.11.0.min.js"></script-->
+    <script src="script/jquery-1.9.1.min.js"></script>
+    <script src="script/owl.carousel.js"></script>
+    <script src="script/jquery-ui-1.10.4.min.js"></script>
+    <!-- Preloader -->
+    <script src="script/jquery.queryloader2.min.js"></script>
+    <script src="script/front.js" type="text/javascript"></script>
+    <script src="script/slider.js"></script>
+    <script src="script/idangerous.swiper.min.js"></script>
+    <!-- /Container -->
+    <!-- JavaScript -->
+    <!-- Bootstrap -->
+    <script type="text/javascript" src="script/bootstrap.min.js"></script>
+    <!-- angular -->
+    <script type="text/javascript" src="script/angular.min.js"></script>
+    <script type="text/javascript" src="flDetail.js"></script>
+    <!-- Modernizr -->
+    <script type="text/javascript" src="script/modernizr.js"></script>
+    <!-- Sliders/Carousels -->
+    <script type="text/javascript" src="script/jquery.flexslider-min.js"></script>
+    <script type="text/javascript" src="script/owl.carousel.min.js"></script>
+    <!-- Revolution Slider  -->
+    <script type="text/javascript" src="script/jquery.themepunch.plugins.min.js"></script>
+    <script type="text/javascript" src="script/jquery.themepunch.revolution.min.js"></script>
+    <!-- Calendar -->
+    <script type="text/javascript" src="script/responsive-calendar.min.js"></script>
+    <!-- Raty -->
+    <script type="text/javascript" src="script/jquery.raty.min.js"></script>
+    <!-- Chosen -->
+    <script type="text/javascript" src="script/chosen.jquery.min.js"></script>
+    <!-- MixItUp -->
+    <script type="text/javascript" src="script/jquery.mixitup.js"></script>
+    <!-- CloudZoom -->
+    <script type="text/javascript" src="script/zoomsl-3.0.min.js"></script>
+    <!-- Main Script -->
+    <script type="text/javascript" src="script/script.js"></script>
+    <!--[if lt IE 9]>
+    <script type="text/javascript" src="/r/cms/www/default/v2/js/jquery.placeholder.js"></script>
+    <script type="text/javascript" src="/r/cms/www/default/v2/js/script_ie.js"></script>
+    <![endif]-->
+
+    <script src="script/wheeled.js" type="text/javascript"></script>
+    <style>
+
+        .hove {
+            background: #fecf75 !important;
+            text-decoration: none;
+        }
+
+        .hove h4 {
+            color: #fff;
+        }
+
+        .hove .icons {
+            color: #f89c9c;
+        }
+    </style>
+    <script src="script/script.js"></script>
+</head>
+<body class="sticky-header-on tablet-sticky-header" style="padding-top: 223px;" ng-app="gtPartyApp"
+      ng-controller="detailController">
+<div id="fb-root"></div>
+<!-- Container -->
+<div class="container">
+    <!-- Header -->
+    <header id="header" class="sticky-header" style="opacity: 1;">
+        <style>
+
+            .loginDiv {
+                background: #ee3333;
+                color: #ffffff;
+            }
+
+            .loginInfo > * {
+                color: #ffffec;
+            }
+
+            .loginInfo > a:hover {
+                color: #f2f2f4;
+            }
+        </style>
+        <script src="script/jquery.js" type="text/javascript"></script>
+        <script type="text/javascript">
+            $(function () {
+                //优先执行第三方退出 在执行本地退出
+                $('#logout').click(function () {
+                    location = "/logout.jspx?returnUrl=/";
+                });
+            });
+        </script>
+        <div class="row topbar">
+            <div class="container">
+                <div class="i-logo">{{sysName}}党建信息门户</div>
+                <div class="col-lg-5 col-md-5 col-sm-5 align-right hidden-xs" style="float: right;">
+                    <i class="glyphicon glyphicon-list-alt"> </i><a href="#">设为首页</a>
+                    <i class="glyphicon glyphicon-globe"> </i><a href="#">收藏</a>
+                    <i class="glyphicon icon-user"> </i><a ng-href="{{homeUrl}}">登录</a>
+                </div>
+                <!--<div class="i-search">
+                    <input type="search" value="">
+                    <button><i class="icons icon-search"></i></button>
+                </div>-->
+            </div>
+        </div>
+
+        <div id="lower-header">
+            <div class="container">
+                <div id="menu-button">
+                    <div>
+                        <span></span>
+                        <span></span>
+                        <span></span>
+                    </div>
+                    <span>菜单</span>
+                </div>
+                <ul id="navigation">
+                    <li>
+                        <!-- 一级菜单 -->
+                        <a href="index.html" target="_self">首页</a>
+                        <!-- /一级菜单 -->
+                    </li>
+
+                    <li ng-repeat="item in menuLists" ng-mouseenter="getMenuByParentID(item)" ng-mouseleave="clearNum()">
+                        <!-- 一级菜单 -->
+                        <a href="flDetail.html?moduleid={{item.moduleid}}" target="_self">{{item.modulename}}</a>
+                        <!-- /一级菜单 -->
+                        <!-- 二级菜单 -->
+                        <ul>
+                            <li ng-repeat="menu in item.childMenus">
+                                <a href="detailList.html?moduleid={{item.moduleid}}&childmoduleid={{menu.moduleid}}" target="_self">{{menu.modulename}}</a>
+                            </li>
+                        </ul>
+                        <!-- /二级菜单 -->
+                        <div class="dropdown-button"></div>
+                    </li>
+                </ul>
+            </div>
+        </div>
+        <div style="width: 100%">
+            <img src="images/banner.jpg" style="height: 300px;object-fit: cover">
+        </div>
+    </header>
+    <!-- /Header -->
+    <section id="content">
+
+        <!-- 模态框 显示二维码 -->
+        <div class="modal fade" tabindex="-1" role="dialog" id="maModal"
+             style="z-index: 99999;" aria-hidden="true">
+            <div class="modal-dialog" style="width: 400px;height: 400px">
+                <div class="modal-content">
+                    <div class="modal-header">
+                        <button type="button" class="close" data-dismiss="modal"
+                                aria-hidden="true">×
+                        </button>
+                        <h4 class="modal-title">
+                            二维码展示
+                        </h4>
+                    </div>
+                    <div class="modal-body" style="height: 350px">
+                        <img width="100%" height="100%" src="images/ma.png"/>
+                    </div>
+                    <div class="modal-footer">
+                        <button type="button" class="btn btn-default"
+                                data-dismiss="modal">关闭
+                        </button>
+                    </div>
+                </div><!-- /.modal-content -->
+            </div><!-- /.modal-dialog -->
+        </div><!-- /.modal -->
+
+        <!-- Section -->
+        <section class="section full-width-bg">
+
+            <!--navpath-->
+            <div class="navpath w1000">
+                <a href="index.html" target="_self">首页</a> &gt;&gt; <a href="#">{{menuInfo.modulename}}</a>
+            </div>
+            <!--list2j-->
+            <div ng-repeat="module in showModuleList">
+                <div class="list2j"><div class="title">
+                    <h2><a href="" target="_blank">{{module.modulename}}</a></h2>
+                </div>
+                    <ul class="list_14">
+                        <li ng-repeat="item in module.newsList"><a title="{{item.title}}" href="flPage.html?moduleid={{item.moduleid}}&newsid={{item.id}}&modulename={{menuInfo.modulename}}" target="_blank">{{item.title}}</a><i>{{item.publishtime | date:'yyyy-MM-dd'}}</i></li>
+                        <li ng-if="module.newsList.length == 0">暂无数据</li>
+                        <h6 class="more"><a href="detailList.html?moduleid={{module.parentmoduleid}}&childmoduleid={{module.moduleid}}" target="_self">更多&gt;&gt;</a></h6>
+                    </ul>
+                </div>
+            </div>
+        </section>
+        <!-- /Section -->
+    </section>
+    <!-- Footer -->
+    <footer id="footer" style="position:relative">
+
+        <!-- Lower Footer -->
+        <div id="lower-footer">
+            <div class="row">
+
+                <div class="col-lg-4 col-md-4 col-sm-4 animate-onscroll" style="opacity: 0;">
+                    <p class="copyright">
+                        <!--<i class="icon-chart-bar-1"></i>网内文章:38591<br />
+                        <i class="glyphicon glyphicon-flash"></i> 网站点击量:<span id="pv">18977548</span><br>
+                        <i class="glyphicon glyphicon-record"></i> 访客数总量:<span id="visitor">1847387</span><br>-->
+
+                    </p>
+                </div>
+                <div class="col-lg-4 col-md-4 col-sm-4 animate-onscroll align-center" style="opacity: 0;">
+                    <p class="copyright">
+                        © 2021 {{sysName}} 版权所有<br>
+                        请勿登载和传播涉密信息 <br>
+
+                        <span>技术支持:联奕科技</span>
+
+                    </p>
+                </div>
+
+                <div class="ma">
+
+                </div>
+            </div>
+        </div>
+        <!-- /Lower Footer -->
+    </footer>
+    <!-- /Footer -->
+
+
+    <!-- Back To Top -->
+    <a href="#" id="button-to-top" style="display: none;"><i class="icons icon-up-dir"></i></a>
+</div>
+
+</body>
+</html>

+ 147 - 0
src/main/resources/static/public/flDetail.js

@@ -0,0 +1,147 @@
+(function ($ang, win) {
+    'use strict';
+    $ang.module('gtPartyApp', [])
+        .controller('detailController', function ($scope, $http) {
+
+            $scope.is = false;
+            $scope.sysName = "";
+
+            var url = location.search //获取url中"?"符后的字串 ('?modFlag=business&role=1')
+            var theRequest = new Object()
+            if (url.indexOf('?') != -1) {
+                var str = url.substr(1) //substr()方法返回从参数值开始到结束的字符串;
+                var strs = str.split('&')
+                for (var i = 0; i < strs.length; i++) {
+                    theRequest[strs[i].split('=')[0]] = strs[i].split('=')[1]
+                }
+            }
+
+            $scope.clearFlag = 1;
+            $scope.moduleid = theRequest.moduleid;
+            $scope.selectdata = {pageindex: 1, pagesize: 15, ptotal: 0};
+            $scope.modulename = '';
+            $scope.menuLists = [];
+
+            $scope.clearNum = function(){
+                if ($scope.clearFlag == 1){
+                    $scope.clearFlag == 0;
+                }else {
+                    $scope.clearFlag == 1;
+                }
+            }
+
+            $scope.getHomeUrl=function(){
+                $http.get("../../api/news/GetHomeUrl", {}
+                ).then(function (res) {
+                    $scope.homeUrl=res.data.item;
+                });
+
+            };
+
+            $scope.getHomeUrl();
+
+            //加载所有的父菜单记录
+            $scope.getMenuList = function () {
+                $http.get("../../api/news/moduleList", {
+                    params: {
+                        'modulename': $scope.modulename,
+                        'pageindex': $scope.selectdata.pageindex,
+                        'pagesize': $scope.selectdata.pagesize
+                    }
+                }).then(function (value) {
+                    $scope.menuLists = value.data.item.list;
+                    $scope.selectdata.total = value.data.item.total;
+                }, function (reason) {
+                    console.log(reason);
+                });
+                $http
+                ({
+                    method: 'get',
+                    url: '../../api/news/sysName',
+                    params: {
+                    }
+                }).then(function (result) {
+                    $scope.sysName=result.data.item;
+                }, function (resp) {
+                    $scope.showMsg('错误', '服务器错误');
+                })
+            };
+
+            //根据当前项的menuID找到其所有的子菜单
+            $scope.getMenuByParentID = function (item) {
+                if ($scope.clearFlag == 1){
+                    $http.get("../../api/news/getmoduleList", {
+                        params: {
+                            'parentModuleId': item.moduleid,
+                            pageindex : 1,
+                            pagesize : 999
+                        }
+                    }).then(function (result) {
+                        item.childMenus = result.data.item.list;
+
+                    }, function (reason) {
+                        console.log("无匹配项");
+                    });
+                }
+            };
+
+            //加载单个菜单
+            $scope.getSingleMenu = function () {
+                $http.get("../../api/news/getModule", {
+                    params: {
+                        'moduleId': $scope.moduleid,
+                    }
+                }).then(function (value) {
+                    $scope.menuInfo = value.data.item;
+                }, function (reason) {
+                    console.log(reason);
+                });
+            };
+
+            //获取需要展示的菜单
+            $scope.getShowMenuByParentID = function () {
+                $http.get("../../api/news/getmoduleList", {
+                    params: {
+                        'parentModuleId': $scope.moduleid,
+                        pageindex: 1,
+                        pagesize: 999
+                    }
+                }).then(function (result) {
+                    $scope.showModuleList = result.data.item.list;
+                    angular.forEach($scope.showModuleList, function (module, index, objs) {
+                        $scope.getNewsList(module);
+                    });
+                }, function (reason) {
+                    console.log("无匹配项");
+                });
+            };
+
+            $scope.getNewsList = function (item) {
+
+                $http
+                ({
+                    method: 'get',
+                    url: '../../api/news/newsList',
+                    params: {
+                        moduleId: item.moduleid,
+                        pageindex: 1,
+                        pagesize: 5
+                    }
+                }).then(function (result) {
+                    item.newsList = result.data.item.list;
+                }, function (resp) {
+                    $scope.showMsg('错误', '服务器错误');
+                })
+
+            }
+
+            $scope.loadData = function () {
+                $scope.getMenuList();
+                $scope.getSingleMenu();
+                $scope.getShowMenuByParentID();
+            }
+
+            $scope.loadData();
+
+        });
+})(angular, this);

+ 290 - 0
src/main/resources/static/public/flPage.html

@@ -0,0 +1,290 @@
+<!DOCTYPE html>
+<html class="no-fouc js borderradius opacity cssanimations csscolumns cssgradients cssreflections csstransforms no-csstransforms3d csstransitions fontface no-generatedcontent video audio csstransforms3d"
+      style="display: block;">
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    <!-- Meta Tags -->
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <!-- Title -->
+    <title>党建信息门户</title>
+
+    <!-- Favicon -->
+    <link rel="shortcut icon" type="image/x-icon" href="./favicon.ico">
+    <!-- Stylesheets -->
+    <link href="./content/bootstrap.min.css" rel="stylesheet" type="text/css">
+    <link href="./content/fontello.css" rel="stylesheet" type="text/css">
+    <link href="./content/flexslider.css" rel="stylesheet" type="text/css">
+    <link href="./content/settings.css" rel="stylesheet" type="text/css" media="screen">
+    <link href="./content/responsive-calendar.css" rel="stylesheet" type="text/css">
+    <link href="./content/chosen.css" rel="stylesheet" type="text/css">
+    <link href="./content/cloud-zoom.css" rel="stylesheet" type="text/css">
+    <link href="./content/style.css" rel="stylesheet" type="text/css">
+    <link href="./content/owl.carousel.css" rel="stylesheet" type="text/css">
+    <link href="./content/carousel_owl.theme.css" rel="stylesheet" type="text/css">
+    <link href="./content/page.css" rel="stylesheet" type="text/css">
+    <link href="./content/idangerous.swiper.css" rel="stylesheet" type="text/css">
+
+    <link href="./content/i-style.css" rel="stylesheet" type="text/css">
+    <!--[if IE 9]>
+    <link rel="stylesheet" href="/r/cms/www/default/v2/css/ie9.css">
+    <![endif]-->
+    <!--[if lt IE 9]>
+    <script src="/r/cms/www/default/v2/js/html5shiv.js"></script>
+
+    <link rel="stylesheet" href="/r/cms/www/default/v2/css/ie.css">
+    <![endif]-->
+    <!--[if IE 7]>
+    <link rel="stylesheet" href="/r/cms/www/default/v2/css/fontello-ie7.css">
+    <![endif]-->
+    <style type="text/css">
+
+        .no-fouc {
+            display: none;
+        }
+    </style>
+    <!-- jQuery -->
+    <!--script src="/r/cms/www/default/v2/js/jquery-1.11.0.min.js"></script-->
+    <script src="./script/jquery-1.9.1.min.js"></script>
+    <script src="./script/owl.carousel.js"></script>
+    <script src="./script/jquery-ui-1.10.4.min.js"></script>
+    <!-- Preloader -->
+    <script src="./script/jquery.queryloader2.min.js"></script>
+    <script src="./script/front.js" type="text/javascript"></script>
+    <script src="./script/slider.js"></script>
+    <script src="./script/idangerous.swiper.min.js"></script>
+    <!-- /Container -->
+    <!-- JavaScript -->
+    <!-- Bootstrap -->
+    <script type="text/javascript" src="./script/bootstrap.min.js"></script>
+    <!-- angular -->
+    <script type="text/javascript" src="script/angular.min.js"></script>
+    <script type="text/javascript" src="flPage.js"></script>
+    <!-- Modernizr -->
+    <script type="text/javascript" src="./script/modernizr.js"></script>
+    <!-- Sliders/Carousels -->
+    <script type="text/javascript" src="./script/jquery.flexslider-min.js"></script>
+    <script type="text/javascript" src="./script/owl.carousel.min.js"></script>
+    <!-- Revolution Slider  -->
+    <script type="text/javascript" src="./script/jquery.themepunch.plugins.min.js"></script>
+    <script type="text/javascript" src="./script/jquery.themepunch.revolution.min.js"></script>
+    <!-- Calendar -->
+    <script type="text/javascript" src="./script/responsive-calendar.min.js"></script>
+    <!-- Raty -->
+    <script type="text/javascript" src="./script/jquery.raty.min.js"></script>
+    <!-- Chosen -->
+    <script type="text/javascript" src="./script/chosen.jquery.min.js"></script>
+    <!-- MixItUp -->
+    <script type="text/javascript" src="./script/jquery.mixitup.js"></script>
+    <!-- CloudZoom -->
+    <script type="text/javascript" src="./script/zoomsl-3.0.min.js"></script>
+    <!-- Main Script -->
+    <script type="text/javascript" src="./script/script.js"></script>
+    <!--[if lt IE 9]>
+    <script type="text/javascript" src="/r/cms/www/default/v2/js/jquery.placeholder.js"></script>
+    <script type="text/javascript" src="/r/cms/www/default/v2/js/script_ie.js"></script>
+    <![endif]-->
+
+    <script src="./script/wheeled.js" type="text/javascript"></script>
+    <style>
+
+        .hove {
+            background: #fecf75 !important;
+            text-decoration: none;
+        }
+
+        .hove h4 {
+            color: #fff;
+        }
+
+        .hove .icons {
+            color: #f89c9c;
+        }
+    </style>
+    <script src="script/script.js"></script>
+</head>
+<body class="sticky-header-on tablet-sticky-header" style="padding-top: 223px;" ng-app="gtPartyApp"
+      ng-controller="pageController">
+<div id="fb-root"></div>
+<!-- Container -->
+<div class="container">
+    <!-- Header -->
+    <header id="header" class="sticky-header" style="opacity: 1;">
+        <style>
+
+            .loginDiv {
+                background: #ee3333;
+                color: #ffffff;
+            }
+
+            .loginInfo > * {
+                color: #ffffec;
+            }
+
+            .loginInfo > a:hover {
+                color: #f2f2f4;
+            }
+        </style>
+        <script src="./script/jquery.js" type="text/javascript"></script>
+        <script type="text/javascript">
+            $(function () {
+                //优先执行第三方退出 在执行本地退出
+                $('#logout').click(function () {
+                    location = "/logout.jspx?returnUrl=/";
+                });
+            });
+        </script>
+        <div class="row topbar">
+            <div class="container">
+                <div class="i-logo">{{sysName}}党建信息门户</div>
+                <div class="col-lg-5 col-md-5 col-sm-5 align-right hidden-xs" style="float: right;">
+                    <i class="glyphicon glyphicon-list-alt"> </i><a href="#">设为首页</a>
+                    <i class="glyphicon glyphicon-globe"> </i><a href="#">收藏</a>
+                    <i class="glyphicon icon-user"> </i><a ng-href="{{homeUrl}}">登录</a>
+                </div>
+                <!--<div class="i-search">
+                    <input type="search" value="">
+                    <button><i class="icons icon-search"></i></button>
+                </div>-->
+            </div>
+        </div>
+
+        <div id="lower-header">
+            <div class="container">
+                <div id="menu-button">
+                    <div>
+                        <span></span>
+                        <span></span>
+                        <span></span>
+                    </div>
+                    <span>菜单</span>
+                </div>
+                <ul id="navigation">
+                    <li>
+                        <!-- 一级菜单 -->
+                        <a href="index.html" target="_self">首页</a>
+                        <!-- /一级菜单 -->
+                    </li>
+
+                    <li ng-repeat="item in menuLists" ng-mouseenter="getMenuByParentID(item)"
+                        ng-mouseleave="clearNum()">
+                        <!-- 一级菜单 -->
+                        <a href="flDetail.html?moduleid={{item.moduleid}}" target="_self">{{item.modulename}}</a>
+                        <!-- /一级菜单 -->
+                        <!-- 二级菜单 -->
+                        <ul>
+                            <li ng-repeat="menu in item.childMenus">
+                                <a href="flDetail.html?moduleid={{item.moduleid}}"
+                                   target="_self">{{menu.modulename}}</a>
+                            </li>
+                        </ul>
+                        <!-- /二级菜单 -->
+                        <div class="dropdown-button"></div>
+                    </li>
+                </ul>
+            </div>
+        </div>
+        <div style="width: 100%">
+            <img src="images/banner.jpg" style="height: 300px;object-fit: cover">
+        </div>
+    </header>
+    <!-- /Header -->
+    <section id="content">
+
+        <!-- 模态框 显示二维码 -->
+        <div class="modal fade" tabindex="-1" role="dialog" id="maModal"
+             style="z-index: 99999;" aria-hidden="true">
+            <div class="modal-dialog" style="width: 400px;height: 400px">
+                <div class="modal-content">
+                    <div class="modal-header">
+                        <button type="button" class="close" data-dismiss="modal"
+                                aria-hidden="true">×
+                        </button>
+                        <h4 class="modal-title">
+                            二维码展示
+                        </h4>
+                    </div>
+                    <div class="modal-body" style="height: 350px">
+                        <img width="100%" height="100%" src="images/ma.png"/>
+                    </div>
+                    <div class="modal-footer">
+                        <button type="button" class="btn btn-default"
+                                data-dismiss="modal">关闭
+                        </button>
+                    </div>
+                </div><!-- /.modal-content -->
+            </div><!-- /.modal-dialog -->
+        </div><!-- /.modal -->
+
+        <!-- Section -->
+        <section class="section full-width-bg">
+            <!--navpath-->
+            <div class="navpath navpathwb w1000">
+                <a class="clink" href="index.html">首页</a>&gt;&gt;<a class="clink" href="#">{{modulename_in}}</a>&gt;&gt;<a
+                    class="clink" href="#">{{menuInfo.modulename}}</a>
+            </div>
+            <!--text_title-->
+            <div class="text_title w1000 clearfix">
+                <h3 class="pre"></h3>
+                <h1>{{news.title}}</h1>
+                <h4 class="sub"></h4>
+                <p class="author"></p>
+                <div class="ptime"><i>{{news.publishtime | date:'yyyy年MM月dd日HH:mm'}}</i></div>
+            </div>
+            <div class="text_con w1000 clearfix">
+                <p style="text-indent: 2em" ng-bind-html="news.subjectcontent|trust2Html">
+                </p>
+                <div class="zdfy clearfix"></div>
+                <center>
+                    <table width="40%" align="center" border="0">
+                        <tbody>
+                        <tr></tr>
+                        </tbody>
+                    </table>
+                </center>
+                <p class="editor">(责编:{{news.createusername}})</p>
+            </div>
+        </section>
+        <!-- /Section -->
+    </section>
+    <!-- Footer -->
+    <footer id="footer" style="position:relative">
+
+        <!-- Lower Footer -->
+        <div id="lower-footer">
+            <div class="row">
+
+                <div class="col-lg-4 col-md-4 col-sm-4 animate-onscroll" style="opacity: 0;">
+                    <p class="copyright">
+                        <!--<i class="icon-chart-bar-1"></i>网内文章:38591<br />
+                        <i class="glyphicon glyphicon-flash"></i> 网站点击量:<span id="pv">18977548</span><br>
+                        <i class="glyphicon glyphicon-record"></i> 访客数总量:<span id="visitor">1847387</span><br>-->
+
+                    </p>
+                </div>
+                <div class="col-lg-4 col-md-4 col-sm-4 animate-onscroll align-center" style="opacity: 0;">
+                    <p class="copyright">
+                        © 2021 {{sysName}} 版权所有<br>
+                        请勿登载和传播涉密信息 <br>
+
+                        <span>技术支持:联奕科技</span>
+
+                    </p>
+                </div>
+
+                <div class="ma">
+
+                </div>
+            </div>
+        </div>
+        <!-- /Lower Footer -->
+    </footer>
+    <!-- /Footer -->
+
+
+    <!-- Back To Top -->
+    <a href="#" id="button-to-top" style="display: none;"><i class="icons icon-up-dir"></i></a>
+</div>
+
+</body>
+</html>

+ 150 - 0
src/main/resources/static/public/flPage.js

@@ -0,0 +1,150 @@
+(function ($ang, win) {
+    'use strict';
+    $ang.module('gtPartyApp', [])
+        .controller('pageController', function ($scope, $http) {
+
+            $scope.is = false;
+            $scope.sysName = "";
+
+            var url = location.search //获取url中"?"符后的字串 ('?modFlag=business&role=1')
+            var theRequest = new Object()
+            if (url.indexOf('?') != -1) {
+                var str = url.substr(1) //substr()方法返回从参数值开始到结束的字符串;
+                var strs = str.split('&')
+                for (var i = 0; i < strs.length; i++) {
+                    theRequest[strs[i].split('=')[0]] = strs[i].split('=')[1]
+                }
+            }
+
+            $scope.clearFlag = 1;
+            $scope.moduleid = theRequest.moduleid;
+            $scope.modulename_in = decodeURI(theRequest.modulename);
+            $scope.newsid = theRequest.newsid;
+            $scope.selectdata = {pageindex: 1, pagesize: 15, ptotal: 0};
+            $scope.modulename = '';
+            $scope.menuLists = [];
+
+            $scope.clearNum = function(){
+                if ($scope.clearFlag == 1){
+                    $scope.clearFlag == 0;
+                }else {
+                    $scope.clearFlag == 1;
+                }
+            }
+
+            $scope.getHomeUrl=function(){
+                $http.get("../../api/news/GetHomeUrl", {}
+                ).then(function (res) {
+                    $scope.homeUrl=res.data.item;
+                });
+
+            };
+
+            $scope.getHomeUrl();
+
+            //加载所有的父菜单记录
+            $scope.getMenuList = function () {
+                $http.get("../../api/news/moduleList", {
+                    params: {
+                        'modulename': $scope.modulename,
+                        'pageindex': $scope.selectdata.pageindex,
+                        'pagesize': $scope.selectdata.pagesize
+                    }
+                }).then(function (value) {
+                    $scope.menuLists = value.data.item.list;
+                    $scope.selectdata.total = value.data.item.total;
+                }, function (reason) {
+                    console.log(reason);
+                });
+                $http
+                ({
+                    method: 'get',
+                    url: '../../api/news/sysName',
+                    params: {
+                    }
+                }).then(function (result) {
+                    $scope.sysName=result.data.item;
+                }, function (resp) {
+                    $scope.showMsg('错误', '服务器错误');
+                })
+            };
+
+            //根据当前项的menuID找到其所有的子菜单
+            $scope.getMenuByParentID = function (item) {
+                if ($scope.clearFlag == 1){
+                    $http.get("../../api/news/getmoduleList", {
+                        params: {
+                            'parentModuleId': item.moduleid,
+                            pageindex : 1,
+                            pagesize : 999
+                        }
+                    }).then(function (result) {
+                        item.childMenus = result.data.item.list;
+
+                    }, function (reason) {
+                        console.log("无匹配项");
+                    });
+                }
+            };
+
+            //加载单个菜单
+            $scope.getSingleMenu = function () {
+                $http.get("../../api/news/getModule", {
+                    params: {
+                        'moduleId': $scope.moduleid,
+                    }
+                }).then(function (value) {
+                    $scope.menuInfo = value.data.item;
+                }, function (reason) {
+                    console.log(reason);
+                });
+            };
+
+            $scope.selectNews = function(){
+                $http
+                ({
+                    method: 'get',
+                    url: '../../api/news/getNews',
+                    params: {
+                        'newsId': $scope.newsid
+                    }
+                }).then(function (result) {
+                    $scope.news = result.data.item;
+                }, function (resp) {
+                    $scope.showMsg('错误', '服务器错误');
+                })
+            }
+
+            $scope.getNewsList = function (item) {
+
+                $http
+                ({
+                    method: 'get',
+                    url: '../../api/news/newsList',
+                    params: {
+                        moduleId: item.moduleid,
+                        pageindex: 1,
+                        pagesize: 999
+                    }
+                }).then(function (result) {
+                    item.newsList = result.data.item.list;
+                }, function (resp) {
+                    $scope.showMsg('错误', '服务器错误');
+                })
+
+            }
+
+            $scope.loadData = function () {
+                $scope.getMenuList();
+                $scope.getSingleMenu();
+                $scope.selectNews();
+            }
+
+            $scope.loadData();
+
+        }).filter('trust2Html', ['$sce',function($sce) {
+        return function(val) {
+            return $sce.trustAsHtml(val);
+        };
+    }]);
+})(angular, this);

BIN
src/main/resources/static/public/fonts/fontawesome-webfont.eot


File diff suppressed because it is too large
+ 504 - 0
src/main/resources/static/public/fonts/fontawesome-webfont.svg


BIN
src/main/resources/static/public/fonts/fontawesome-webfont.ttf


BIN
src/main/resources/static/public/fonts/fontawesome-webfont.woff


BIN
src/main/resources/static/public/fonts/glyphicons-halflings-regular.eot


File diff suppressed because it is too large
+ 288 - 0
src/main/resources/static/public/fonts/glyphicons-halflings-regular.svg


BIN
src/main/resources/static/public/fonts/glyphicons-halflings-regular.ttf


BIN
src/main/resources/static/public/fonts/glyphicons-halflings-regular.woff


BIN
src/main/resources/static/public/fonts/glyphicons-halflings-regular.woff2


BIN
src/main/resources/static/public/images/03131453dni5.png


BIN
src/main/resources/static/public/images/13224517qbhe.jpg


BIN
src/main/resources/static/public/images/14145840uoub.jpg


BIN
src/main/resources/static/public/images/27115311ol34.png


BIN
src/main/resources/static/public/images/27115721c7hf.png


BIN
src/main/resources/static/public/images/27115826qkfw.png


BIN
src/main/resources/static/public/images/27120010p0eo.png


BIN
src/main/resources/static/public/images/291708323yu6.jpg


BIN
src/main/resources/static/public/images/L-title-1.png


BIN
src/main/resources/static/public/images/L-title-2.png


BIN
src/main/resources/static/public/images/L-title.png


BIN
src/main/resources/static/public/images/M-title-1.png


BIN
src/main/resources/static/public/images/M-title-2.png


BIN
src/main/resources/static/public/images/M-title.png


BIN
src/main/resources/static/public/images/W020190630679819367050.jpg


BIN
src/main/resources/static/public/images/banner.jpg


BIN
src/main/resources/static/public/images/banner.png


BIN
src/main/resources/static/public/images/car01.png


BIN
src/main/resources/static/public/images/car01s.png


BIN
src/main/resources/static/public/images/car02.png


BIN
src/main/resources/static/public/images/car02s.png


BIN
src/main/resources/static/public/images/gongan.png


BIN
src/main/resources/static/public/images/i-logo-2.png


BIN
src/main/resources/static/public/images/i-logo.png


BIN
src/main/resources/static/public/images/link-1.png


BIN
src/main/resources/static/public/images/link-2.png


BIN
src/main/resources/static/public/images/link-3.png


BIN
src/main/resources/static/public/images/link-4.png


BIN
src/main/resources/static/public/images/link-5.png


BIN
src/main/resources/static/public/images/link-6.png


BIN
src/main/resources/static/public/images/logo.png


BIN
src/main/resources/static/public/images/ma.png


BIN
src/main/resources/static/public/images/more.png


BIN
src/main/resources/static/public/images/more2.png


BIN
src/main/resources/static/public/images/post8.jpg


BIN
src/main/resources/static/public/images/post9.jpg


BIN
src/main/resources/static/public/images/ship.png


+ 0 - 0
src/main/resources/static/public/images/slogan.png


Some files were not shown because too many files changed in this diff