albumBox.vue 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. <template>
  2. <div class="albumMain" @click="lookDetail">
  3. <div class="topImg">
  4. <img :src="'/api/api-system/system/core/sysFile/previewFile?fileId='+item.cover"/>
  5. <div class="btnBoxTop">
  6. <div class="albumDel" @click.stop="delData(item.pkId)" v-if="item.actionFlag.indexOf('delete')>-1">
  7. <img src="../../../../image/album/del.png" class="btnsty"/>
  8. 删除
  9. </div>
  10. <div class="albumDel" @click.stop="editeData(item.pkId)" v-if="item.actionFlag.indexOf('edit')>-1">
  11. <img src="../../../../image/album/edit.png"/>
  12. 编辑
  13. </div>
  14. </div>
  15. </div>
  16. <div class="nameBox">
  17. {{item.name}}
  18. </div>
  19. <div class="classBox">
  20. <div v-if="item.versionStateName!=''&&item.versionStateName!=null&&item.versionState!=2" :class="'stateBox'+item.versionState">{{item.versionStateName}}</div>
  21. {{ item.categoryName.split('|')[0] }}
  22. </div>
  23. <div class="classUser">
  24. <img class="header" :src="'/api/api-system/system/core/sysFile/previewFile?fileId='+item.ownerPhoto"/>
  25. {{item.ownerName}}
  26. <div class="btnBox">
  27. <div class="btn">
  28. <img src="../../../../image/album/look.png"/>
  29. {{item.views}}
  30. </div>
  31. <div class="btn">
  32. <img src="../../../../image/album/file.png"/>
  33. {{item.knowledgeTotal}}
  34. </div>
  35. </div>
  36. </div>
  37. </div>
  38. </template>
  39. <script>
  40. import FloatedMenu from '../../../../image/FloatedMenu.png'
  41. export default {
  42. props: {
  43. item: {
  44. type: Object,
  45. default: []
  46. }
  47. },
  48. computed: {
  49. },
  50. data() {
  51. return {
  52. FloatedMenu
  53. }
  54. },
  55. created() {
  56. },
  57. methods: {
  58. delData(){
  59. this.$emit('del',this.item.pkId)
  60. },
  61. editeData(){
  62. this.$router.push({
  63. name: "albumDetail",
  64. query: {
  65. pkId: this.item.pkId,
  66. isAdd: 1
  67. }
  68. })
  69. },
  70. lookDetail(){
  71. this.$router.push({
  72. name: "albumDetail",
  73. query: {
  74. pkId: this.item.pkId,
  75. isAdd: 2
  76. }
  77. })
  78. },
  79. }
  80. }
  81. </script>
  82. <style lang="less" scoped>
  83. .albumMain{
  84. width: 17.8125vw;
  85. }
  86. .topImg{
  87. height: 11.77vw;
  88. width: 100%;
  89. border-radius: 0.6vw;
  90. overflow: hidden;
  91. position: relative;
  92. }
  93. .topImg img{
  94. width: 100%;
  95. height: 100%;
  96. }
  97. .btnBoxTop{
  98. display: flex;
  99. position: absolute;
  100. top: 0.52vw;
  101. right: 0.52vw;
  102. flex-wrap: wrap;
  103. justify-content: space-between;
  104. }
  105. .albumDel{
  106. cursor: pointer;
  107. color: #fff;
  108. font-size: 0.83vw;
  109. display: flex;
  110. background: rgba(0,0,0,0.36);
  111. border-radius: 0.3125vw;
  112. width: 3.90625vw;
  113. height: 1.45vw;
  114. align-items: center;
  115. flex-wrap: wrap;
  116. justify-content: space-between;
  117. padding: 0px 0.625vw;
  118. margin-left: 0.4vw;
  119. }
  120. .albumDel img{
  121. width: 0.677vw;
  122. height: 0.833vw;
  123. }
  124. .nameBox{
  125. color: #202124;
  126. font-size: 0.9375vw;
  127. margin-top: 0.8333vw;
  128. width: 15.9375vw;
  129. white-space: nowrap;
  130. overflow: hidden;
  131. text-overflow: ellipsis;
  132. }
  133. .classBox{
  134. color: #C0C0C0;
  135. font-size: 0.83vw;
  136. display: flex;
  137. align-items: center;
  138. margin-top: 0.42vw;
  139. }
  140. .classBox div{
  141. border-radius:4px;
  142. height: 1.25vw;
  143. line-height: 1.25vw;
  144. padding: 0px 0.4vw;
  145. text-align: center;
  146. margin-right: 0.625vw;
  147. }
  148. .stateBox1{
  149. background: rgba(255,144,13,0.04);
  150. color: #FF900D;
  151. }
  152. .stateBox2{
  153. background: rgba(64,108,196,0.04);
  154. color: #406CC4;
  155. }
  156. .stateBox3{
  157. background: rgba(255,144,13,0.04);
  158. color: #FF900D;
  159. }
  160. .stateBox4{
  161. background: rgba(248,78,76,0.04);
  162. color: #F84E4C;
  163. }
  164. .classUser{
  165. .header{
  166. width: 1.3vw;
  167. height: 1.3vw;
  168. margin-right: 0.4vw;
  169. border-radius: 2vw;
  170. }
  171. .btnBox{
  172. margin-left: auto;
  173. display: flex;
  174. .btn{
  175. font-size: 0.83vw;
  176. color: #C0C0C0;
  177. display: flex;
  178. align-items: center;
  179. margin-right: 0.52vw;
  180. img{
  181. width: 1.1vw;
  182. height: auto;
  183. margin-right: 0.36vw;
  184. }
  185. }
  186. }
  187. color: #202124;
  188. font-size: 0.9375vw;
  189. display: flex;
  190. align-items: center;
  191. margin-top: 0.42vw
  192. }
  193. </style>