informationDetail.vue 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  1. <template>
  2. <view>
  3. <!-- pages/me.wxml -->
  4. <view class="container">
  5. <h1 class="title">{{ detailInfo.titleName }}</h1>
  6. <view class="wenzhangLy">
  7. <!-- 头像昵称 -->
  8. <!-- <view class="txTime"> -->
  9. <!-- <image :src="loadImgSrc(detailInfo.headImg!=null?detailInfo.headImg:'/profile/upload/2024/03/05/abf969632ee94bd5a429c8c2dbb2f6b4 (1)_20240305092823A002.png')" style="border-radius: 50px;"></image> -->
  10. <!-- <view class="time">
  11. <p>{{detailInfo.nickName?detailInfo.nickName:'网友'}}</p>
  12. <span>{{ detailInfo.createTime }}</span>
  13. </view> -->
  14. <!-- </view> -->
  15. <!-- 积分 -->
  16. <!-- <span class="jf">100</span> -->
  17. </view>
  18. <view class="wenzhangCont article">
  19. <span v-html="detailInfo.textDetails">
  20. </span>
  21. <view >
  22. <!-- 图片轮播 -->
  23. <swiper :indicator-dots="indicatorDots" :autoplay="autoplay" :interval="interval" :duration="duration" :circular="circular">
  24. <block v-for="(one, index) in detailInfo.urls" :key="index">
  25. <swiper-item><image :src="loadImgSrc(one)" style="background-size: 100% 100%;"></image></swiper-item>
  26. </block>
  27. </swiper>
  28. </view>
  29. </view>
  30. </view>
  31. </view>
  32. </template>
  33. <script>
  34. export default {
  35. data() {
  36. return {
  37. anwserVal:'',
  38. anwserList:[
  39. {
  40. deptName:'国家乡村振兴局',
  41. updateTime:'2023-2-27 16:04',
  42. desc:'用好政策效果评估成果,进一步优化巩固拓展脱贫攻坚成果同乡村振兴有效衔接政策供给,为推动工作提质增效提供有力支撑保障。',
  43. }
  44. ],
  45. isCollection:false,
  46. isAdopt:false,
  47. adoptTopSize:'115',
  48. adoptIndex:null,
  49. detailInfo:{},
  50. };
  51. },
  52. methods: {
  53. // 评论回答
  54. answerFunc(){
  55. this.anwserList.push({
  56. deptName:'国家烟草局',
  57. updateTime:new Date().getFullYear() + "-" + new Date().getMonth() + "-" + new Date().getDay() + " " + (new Date().getHours() < 10 ? "0" + new Date().getHours() : new Date().getHours()) + ':' + (new Date().getMinutes() < 10 ? "0" + new Date().getMinutes() : new Date().getMinutes()),
  58. desc:this.anwserVal,
  59. })
  60. this.anwserVal = null
  61. },
  62. adoptFunc(idx){
  63. this.adoptIndex = idx
  64. this.isAdopt = true
  65. },
  66. // 标记喜欢
  67. collectionFunc(){
  68. this.isCollection = !this.isCollection
  69. }
  70. }
  71. /**
  72. * 生命周期函数--监听页面加载
  73. */,
  74. onLoad(options) {
  75. this.detailInfo = JSON.parse(options.obj)
  76. },
  77. /**
  78. * 生命周期函数--监听页面初次渲染完成
  79. */
  80. onReady(e) {
  81. },
  82. /**
  83. * 生命周期函数--监听页面显示
  84. */
  85. onShow() {},
  86. /**
  87. * 生命周期函数--监听页面隐藏
  88. */
  89. onHide() {},
  90. /**
  91. * 生命周期函数--监听页面卸载
  92. */
  93. onUnload() {},
  94. /**
  95. * 页面相关事件处理函数--监听用户下拉动作
  96. */
  97. onPullDownRefresh() {},
  98. /**
  99. * 页面上拉触底事件的处理函数
  100. */
  101. onReachBottom() {},
  102. /**
  103. * 用户点击右上角分享
  104. */
  105. onShareAppMessage() {},
  106. };
  107. </script>
  108. <style lang="scss">
  109. @import './informationDetail.css';
  110. .collect{
  111. .icon-shoucang:before{
  112. color: red;
  113. }
  114. }
  115. .not-collect{
  116. }
  117. .effectBix{
  118. width: 56px;
  119. height: 56px;
  120. border-radius: 50px;
  121. font-family: 'Bebas Neue', cursive;
  122. background: linear-gradient(45deg, transparent 5%, #FF013C 5%);
  123. border: 0;
  124. color: #fff;
  125. text-align: center;
  126. line-height: 56px;
  127. outline: transparent;
  128. position: absolute;
  129. transform: rotate(-30deg);
  130. right:3%;
  131. top: -5%;
  132. }
  133. .effectBox, .effectBox::after {
  134. width: 56px;
  135. height: 56px;
  136. border-radius: 50px;
  137. font-size: 16px;
  138. font-family: 'Bebas Neue', cursive;
  139. background: linear-gradient(45deg, transparent 5%, #FF013C 5%);
  140. border: 0;
  141. color: #fff;
  142. opacity: 1;
  143. letter-spacing: 3px;
  144. text-align: center;
  145. line-height: 56px;
  146. outline: transparent;
  147. position: relative;
  148. left: 78%;
  149. top: 113%;
  150. transform: rotate(-30deg);
  151. z-index: 1;
  152. }
  153. .effectBox::after {
  154. --slice-0: inset(50% 50% 50% 50%);
  155. --slice-1: inset(80% -6px 0 0);
  156. --slice-2: inset(50% -6px 30% 0);
  157. --slice-3: inset(10% -6px 85% 0);
  158. --slice-4: inset(40% -6px 43% 0);
  159. --slice-5: inset(80% -6px 5% 0);
  160. content: 'AVAILABLE NOW';
  161. display: block;
  162. position: absolute;
  163. top: 0;
  164. left: 0;
  165. right: 0;
  166. bottom: 0;
  167. background: linear-gradient(45deg, transparent 3%, #00E6F6 3%, #00E6F6 5%, #FF013C 5%);
  168. text-shadow: -3px -3px 0px #F8F005, 3px 3px 0px #00E6F6;
  169. clip-path: var(--slice-0);
  170. }
  171. .effectBox:hover::after {
  172. animation: 1s glitch;
  173. animation-timing-function: steps(2, end);
  174. }
  175. @keyframes glitch {
  176. 0% {
  177. clip-path: var(--slice-1);
  178. transform: translate(-20px, -10px);
  179. }
  180. 10% {
  181. clip-path: var(--slice-3);
  182. transform: translate(10px, 10px);
  183. }
  184. 20% {
  185. clip-path: var(--slice-1);
  186. transform: translate(-10px, 10px);
  187. }
  188. 30% {
  189. clip-path: var(--slice-3);
  190. transform: translate(0px, 5px);
  191. }
  192. 40% {
  193. clip-path: var(--slice-2);
  194. transform: translate(-5px, 0px);
  195. }
  196. 50% {
  197. clip-path: var(--slice-3);
  198. transform: translate(5px, 0px);
  199. }
  200. 60% {
  201. clip-path: var(--slice-4);
  202. transform: translate(5px, 10px);
  203. }
  204. 70% {
  205. clip-path: var(--slice-2);
  206. transform: translate(-10px, 10px);
  207. }
  208. 80% {
  209. clip-path: var(--slice-5);
  210. transform: translate(20px, -10px);
  211. }
  212. 90% {
  213. clip-path: var(--slice-1);
  214. transform: translate(-10px, 0px);
  215. }
  216. 100% {
  217. clip-path: var(--slice-1);
  218. transform: translate(0);
  219. }
  220. }
  221. </style>