wenbaxiangqing.vue 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269
  1. <template>
  2. <view>
  3. <!-- pages/me.wxml -->
  4. <view class="container">
  5. <h1 class="title">国家乡村振兴局关于落实党中央国务院2023年全面推进乡村振兴重点工作部署的实施意见</h1>
  6. <view class="wenzhangLy">
  7. <!-- 头像昵称 -->
  8. <view class="txTime">
  9. <image :src="loadImgSrc('/moren.png')"></image>
  10. <view class="time">
  11. <p>国家乡村振兴局</p>
  12. <span>2023-2-27 16:04</span>
  13. </view>
  14. </view>
  15. <!-- 积分 -->
  16. <span class="jf">100</span>
  17. </view>
  18. <view class="wenzhangCont">
  19. <text>
  20. 2023年是全面贯彻落实党的二十大精神的开局之年,是巩固拓展脱贫攻坚成果同乡村振兴有效衔接的关键之年。2023年工作的总体思路是,以习近平新时代中国特色社会主义思想为指导,深入学习贯彻党的二十大精神,贯彻落实中央经济工作会议和中央农村工作会议精神,坚持稳中求进工作总基调,完整、准确、全面贯彻新发展理念,加快构建新发展格局,着力推动高质量发展,锚定建设农业强国目标,聚焦“守底线、抓发展、促振兴”,增强脱贫地区和脱贫群众内生发展动力,牢牢守住不发生规模性返贫的底线,扎实推进乡村发展、乡村建设、乡村治理和农村精神文明建设,建设宜居宜业和美乡村,推动巩固拓展脱贫攻坚成果上台阶、乡村全面振兴见实效,为全面建设社会主义现代化国家开局起步提供有力支撑。
  21. </text>
  22. <image :src="loadImgSrc('/img2.png')"></image>
  23. </view>
  24. <view class="fengexian"></view>
  25. <!-- 分割线 -->
  26. <view class="pinglunTj">
  27. <span class="pinglunTitle">
  28. 回答
  29. <em>46</em>
  30. </span>
  31. <view class="ck">
  32. <span>
  33. <em class="iconfont icon-chakan"></em>
  34. 120
  35. </span>
  36. <span>
  37. <em class="iconfont icon-shoucang"></em>
  38. 10
  39. </span>
  40. </view>
  41. </view>
  42. <ul class="pinglunList" id="pinglunList">
  43. <li v-for="(e,idx) in anwserList" :key="idx" style="position: relative;">
  44. <!-- 头像昵称 -->
  45. <view class="txTime">
  46. <image :src="loadImgSrc('/moren.png')"></image>
  47. <view class="time">
  48. <p>{{ e.deptName }}</p>
  49. <span>{{ e.updateTime }}</span>
  50. </view>
  51. </view>
  52. <!-- <div class="effectBox" :style="{ top: adoptTopSize + '%' }">精选答案</div> -->
  53. <div class="effectBix" :style="idx == adoptIndex ? 'display:block' : 'display:none' ">精 选</div>
  54. <text class="plListcont" style="z-index: 10;">{{ e.desc }}</text>
  55. <uploadImage/>
  56. <button v-show="!isAdopt" @click="adoptFunc(idx)">采纳答案</button>
  57. </li>
  58. </ul>
  59. </view>
  60. <view class="fabiaoPl" :class="isCollection ? 'collect' : 'not-collect'" style="z-index: 100;">
  61. <view class="shuRu">
  62. <em class="iconfont icon-bianji"></em>
  63. <input placeholder="请输入内容,友好回答" v-model="anwserVal"/>
  64. </view>
  65. <em
  66. class="iconfont icon-shoucang"
  67. @click="collectionFunc"
  68. >
  69. </em>
  70. <view class="fasong" @click="answerFunc"><em class="iconfont icon-fasong"></em></view>
  71. </view>
  72. </view>
  73. </template>
  74. <script>
  75. // pages/me.js
  76. export default {
  77. data() {
  78. return {
  79. anwserVal:'',
  80. anwserList:[
  81. {
  82. deptName:'国家乡村振兴局',
  83. updateTime:'2023-2-27 16:04',
  84. desc:'用好政策效果评估成果,进一步优化巩固拓展脱贫攻坚成果同乡村振兴有效衔接政策供给,为推动工作提质增效提供有力支撑保障。',
  85. }
  86. ],
  87. isCollection:false,
  88. isAdopt:false,
  89. adoptTopSize:'115',
  90. adoptIndex:null,
  91. };
  92. },
  93. methods: {
  94. // 评论回答
  95. answerFunc(){
  96. this.anwserList.push({
  97. deptName:'国家烟草局',
  98. 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()),
  99. desc:this.anwserVal,
  100. })
  101. this.anwserVal = null
  102. },
  103. adoptFunc(idx){
  104. this.adoptIndex = idx
  105. this.isAdopt = true
  106. },
  107. // 标记喜欢
  108. collectionFunc(){
  109. this.isCollection = !this.isCollection
  110. },
  111. }
  112. /**
  113. * 生命周期函数--监听页面加载
  114. */,
  115. onLoad(options) {},
  116. /**
  117. * 生命周期函数--监听页面初次渲染完成
  118. */
  119. onReady(e) {
  120. },
  121. /**
  122. * 生命周期函数--监听页面显示
  123. */
  124. onShow() {},
  125. /**
  126. * 生命周期函数--监听页面隐藏
  127. */
  128. onHide() {},
  129. /**
  130. * 生命周期函数--监听页面卸载
  131. */
  132. onUnload() {},
  133. /**
  134. * 页面相关事件处理函数--监听用户下拉动作
  135. */
  136. onPullDownRefresh() {},
  137. /**
  138. * 页面上拉触底事件的处理函数
  139. */
  140. onReachBottom() {},
  141. /**
  142. * 用户点击右上角分享
  143. */
  144. onShareAppMessage() {},
  145. };
  146. </script>
  147. <style lang="scss">
  148. @import 'wenbaxiangqing.css';
  149. .collect{
  150. .icon-shoucang:before{
  151. color: red;
  152. }
  153. }
  154. .not-collect{
  155. }
  156. .effectBix{
  157. width: 56px;
  158. height: 56px;
  159. border-radius: 50px;
  160. font-family: 'Bebas Neue', cursive;
  161. background: linear-gradient(45deg, transparent 5%, #FF013C 5%);
  162. border: 0;
  163. color: #fff;
  164. text-align: center;
  165. line-height: 56px;
  166. outline: transparent;
  167. position: absolute;
  168. transform: rotate(-30deg);
  169. right:3%;
  170. top: -5%;
  171. }
  172. .effectBox, .effectBox::after {
  173. width: 56px;
  174. height: 56px;
  175. border-radius: 50px;
  176. font-size: 16px;
  177. font-family: 'Bebas Neue', cursive;
  178. background: linear-gradient(45deg, transparent 5%, #FF013C 5%);
  179. border: 0;
  180. color: #fff;
  181. opacity: 1;
  182. letter-spacing: 3px;
  183. text-align: center;
  184. line-height: 56px;
  185. outline: transparent;
  186. position: relative;
  187. left: 78%;
  188. top: 113%;
  189. transform: rotate(-30deg);
  190. z-index: 1;
  191. }
  192. .effectBox::after {
  193. --slice-0: inset(50% 50% 50% 50%);
  194. --slice-1: inset(80% -6px 0 0);
  195. --slice-2: inset(50% -6px 30% 0);
  196. --slice-3: inset(10% -6px 85% 0);
  197. --slice-4: inset(40% -6px 43% 0);
  198. --slice-5: inset(80% -6px 5% 0);
  199. content: 'AVAILABLE NOW';
  200. display: block;
  201. position: absolute;
  202. top: 0;
  203. left: 0;
  204. right: 0;
  205. bottom: 0;
  206. background: linear-gradient(45deg, transparent 3%, #00E6F6 3%, #00E6F6 5%, #FF013C 5%);
  207. text-shadow: -3px -3px 0px #F8F005, 3px 3px 0px #00E6F6;
  208. clip-path: var(--slice-0);
  209. }
  210. .effectBox:hover::after {
  211. animation: 1s glitch;
  212. animation-timing-function: steps(2, end);
  213. }
  214. @keyframes glitch {
  215. 0% {
  216. clip-path: var(--slice-1);
  217. transform: translate(-20px, -10px);
  218. }
  219. 10% {
  220. clip-path: var(--slice-3);
  221. transform: translate(10px, 10px);
  222. }
  223. 20% {
  224. clip-path: var(--slice-1);
  225. transform: translate(-10px, 10px);
  226. }
  227. 30% {
  228. clip-path: var(--slice-3);
  229. transform: translate(0px, 5px);
  230. }
  231. 40% {
  232. clip-path: var(--slice-2);
  233. transform: translate(-5px, 0px);
  234. }
  235. 50% {
  236. clip-path: var(--slice-3);
  237. transform: translate(5px, 0px);
  238. }
  239. 60% {
  240. clip-path: var(--slice-4);
  241. transform: translate(5px, 10px);
  242. }
  243. 70% {
  244. clip-path: var(--slice-2);
  245. transform: translate(-10px, 10px);
  246. }
  247. 80% {
  248. clip-path: var(--slice-5);
  249. transform: translate(20px, -10px);
  250. }
  251. 90% {
  252. clip-path: var(--slice-1);
  253. transform: translate(-10px, 0px);
  254. }
  255. 100% {
  256. clip-path: var(--slice-1);
  257. transform: translate(0);
  258. }
  259. }
  260. </style>