pageListMap.vue 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  1. <template>
  2. <div>
  3. <div v-if="item.type==2">
  4. <div class="listItem">
  5. <div>
  6. <img class="listHead" :src="'/api/api-system/system/core/sysFile/previewFile?fileId='+item.authorHead"/>
  7. </div>
  8. <span class="listName">{{item.author}}</span>
  9. <div class="lookBox btnSmall" @click="lookDetail(item)">
  10. <img src="../../../../image/look.png"/>
  11. <span>查看</span>
  12. </div>
  13. <div class="lookBox btnSmall" @click="download(item)" v-if="item.attachment">
  14. <img src="../../../../image/download.png"/>
  15. <span>下载</span>
  16. </div>
  17. </div>
  18. <div class="listItem listTitle">
  19. {{item.titles}}<div v-if="item.state==0" class="studyType0">未学习</div><div v-else class="studyType1">已学习</div>
  20. </div>
  21. <div class="listItem listContent" v-if="item.summary!=null">
  22. {{item.summary}}
  23. </div>
  24. <div class="listItem listBottom1" v-if="item.categoryArr.length!=0">
  25. <div v-for="(item0, index) in item.categoryArr" :key="index">
  26. <div>
  27. {{item0}}
  28. </div>
  29. <a-divider style="margin-top: 0.5vw;" v-if="index!=(item.categoryArr.length-1)" class="lineBox" type="vertical" />
  30. </div>
  31. </div>
  32. <div class="listItem listBottom">
  33. <template>
  34. <div>
  35. <img v-if="item.documentType==1" src="../../../../image/fileType1.png"/>
  36. <img v-else-if="item.documentType==2" src="../../../../image/fileType2.png"/>
  37. <img v-else-if="item.documentType==3" src="../../../../image/fileType3.png"/>
  38. <img v-else-if="item.documentType==4" src="../../../../image/fileType4.png"/>
  39. <img v-else src="../../../../image/fileType0.png"/>
  40. <span v-if="item.documentType<5">{{typeArr[(item.documentType-1)]}}</span>
  41. <span v-else>{{typeArr[4]}}</span>
  42. </div>
  43. <a-divider class="lineBox" type="vertical" />
  44. </template>
  45. <div>
  46. <img src="../../../../image/lookTime.png"/>
  47. <span>{{item.viewNum}}</span>
  48. </div>
  49. <div class="listTime">{{item.uploadTime}}</div>
  50. </div>
  51. </div>
  52. <div v-else>
  53. <div class="listItem">
  54. <span class="listName" style="margin-left:0px">
  55. <span style="font-weight: 550;">{{item.outerContentName}}</span>
  56. <div v-if="item.state==0" class="studyType0">未学习</div><div v-else class="studyType1">已学习</div>
  57. </span>
  58. <div class="lookBox btnSmall" @click="lookDetail(item)">
  59. <img src="../../../../image/look.png"/>
  60. <span>查看</span>
  61. </div>
  62. </div>
  63. <div class="listItem listBottom1" style="margin-top: 0.3vw;">
  64. 位于:{{item.outerSystemName}}
  65. </div>
  66. </div>
  67. </div>
  68. </template>
  69. <script>
  70. import header0 from '../../../../image/header0.png'
  71. import header1 from '../../../../image/header1.png'
  72. import {mapState} from "vuex";
  73. export default {
  74. props: {
  75. item: {
  76. type: Object,
  77. default: []
  78. },
  79. type: {
  80. type: String,
  81. default: 'home'
  82. },
  83. approval: {
  84. type:Boolean,
  85. default: false
  86. },
  87. showHeader: {
  88. type:Boolean,
  89. default: false
  90. },
  91. },
  92. computed: {
  93. ...mapState({
  94. user: (state) => state.appSetting.user,
  95. })
  96. },
  97. data() {
  98. return {
  99. delVisible:false,
  100. header0,
  101. header1,
  102. typeArr:['pdf','word','excel','ppt','其他']
  103. }
  104. },
  105. created() {
  106. },
  107. methods: {
  108. lookDetail(){
  109. if(this.item.type==2){
  110. this.$router.push({
  111. name: "knowledgeContentInfo",
  112. query: {
  113. pkId: this.item.pkId,
  114. type:1
  115. }
  116. })
  117. }else{
  118. window.open(this.item.outerAccessUrl)
  119. }
  120. },
  121. download(data){
  122. window.open('/api/api-system/system/core/sysFile/previewFile?fileId='+data.attachment)
  123. }
  124. }
  125. }
  126. </script>
  127. <style lang="less" scoped>
  128. .listHead{
  129. width: 2.4vw;
  130. height: 2.4vw;
  131. border-radius: 2vw;
  132. float: left;
  133. }
  134. .listName{
  135. line-height: 2.4vw;
  136. margin-left: 0.68vw;
  137. font-size: 0.9375vw;
  138. color: #030303;
  139. float: left;
  140. }
  141. .listItem{
  142. width: 100%;
  143. display: inline-block;
  144. text-align: left;
  145. }
  146. .lookBox{
  147. margin-top: 0.625vw;
  148. float: right;
  149. cursor: pointer;
  150. margin-left: 0.73vw;
  151. }
  152. .lookBox img{
  153. width: 1.2vw;
  154. float: left;
  155. margin-right: 3px;
  156. }
  157. .lookBox span{
  158. float: left;
  159. color: #406CC4;
  160. font-size: 0.83vw;
  161. }
  162. .listTitle{
  163. font-weight: 600;
  164. color: #030303;
  165. font-size: 1.04vw;
  166. margin-top: 1.0vw;
  167. }
  168. .listContent{
  169. color: #202124;
  170. font-size: 0.9375vw;
  171. margin-top: 0.7vw;
  172. }
  173. .listBottom1{
  174. margin-top: 0.9375vw;
  175. font-size: 0.9375vw;
  176. color: #5E5E5E;
  177. }
  178. .listBottom1 div{
  179. float: left;
  180. }
  181. .listBottom{
  182. margin-top: 1.4vw;
  183. font-size: 0.83vw;
  184. color: #C0C0C0;
  185. }
  186. .listBottom div{
  187. float: left;
  188. display: flex;
  189. }
  190. .listTime{
  191. margin-left: 1.5625vw!important;
  192. }
  193. .listBottom img{
  194. width: 1vw;
  195. margin-top: 0.1vw;
  196. }
  197. .listBottom span{
  198. margin-left: 0.52vw;
  199. }
  200. .lineBox{
  201. margin: 0px 0.8333vw;
  202. margin-top: 0.34vw;
  203. }
  204. .studyType0{
  205. width: 3.02vw;
  206. height: 1.25vw;
  207. background: rgba(255, 144, 13, 0.06);
  208. line-height: 1.25vw;
  209. text-align: center;
  210. color: #FF900D;
  211. font-size: 0.8333vw;
  212. display: inline-block;
  213. margin-left: 0.52vw;
  214. font-weight: normal;
  215. }
  216. .studyType1{
  217. width: 3.02vw;
  218. height: 1.25vw;
  219. background: rgba(0,200,220,0.06) ;
  220. line-height: 1.25vw;
  221. text-align: center;
  222. color: #00C8DC;
  223. font-size: 0.8333vw;
  224. display: inline-block;
  225. margin-left: 0.52vw;
  226. font-weight: normal;
  227. }
  228. </style>