与牧同行-小程序用户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

194 lines
7.2 KiB

  1. <!-- policy-interpretation.wxml -->
  2. <view class="container">
  3. <!-- 头部区域 -->
  4. <view class="header">
  5. <view class="title-section">
  6. <text class="page-title">农牧业政策解读</text>
  7. <text class="page-subtitle">为您解读最新政策,助力农牧业发展</text>
  8. </view>
  9. <view class="date-info">数据更新至: {{currentDate}}</view>
  10. </view>
  11. <!-- 搜索和筛选区域 -->
  12. <view class="search-section">
  13. <view class="search-box">
  14. <image class="search-icon" src="/pagesA/images/ss.png"></image>
  15. <input
  16. class="search-input"
  17. placeholder="搜索政策关键词"
  18. placeholder-class="placeholder-style"
  19. bindinput="onSearchInput"
  20. value="{{searchKeyword}}"
  21. />
  22. <view class="search-btn" bindtap="onSearch">搜索</view>
  23. </view>
  24. <view class="filter-section">
  25. <scroll-view class="filter-scroll" scroll-x="true">
  26. <view
  27. class="filter-tag {{activeFilter === 'all' ? 'active' : ''}}"
  28. data-filter="all"
  29. bindtap="onFilterTap"
  30. >全部</view>
  31. <view
  32. class="filter-tag {{activeFilter === 'financial' ? 'active' : ''}}"
  33. data-filter="financial"
  34. bindtap="onFilterTap"
  35. >财政补贴</view>
  36. <view
  37. class="filter-tag {{activeFilter === 'technology' ? 'active' : ''}}"
  38. data-filter="technology"
  39. bindtap="onFilterTap"
  40. >技术推广</view>
  41. <view
  42. class="filter-tag {{activeFilter === 'insurance' ? 'active' : ''}}"
  43. data-filter="insurance"
  44. bindtap="onFilterTap"
  45. >农业保险</view>
  46. <view
  47. class="filter-tag {{activeFilter === 'environment' ? 'active' : ''}}"
  48. data-filter="environment"
  49. bindtap="onFilterTap"
  50. >生态保护</view>
  51. <view
  52. class="filter-tag {{activeFilter === 'latest' ? 'active' : ''}}"
  53. data-filter="latest"
  54. bindtap="onFilterTap"
  55. >最新政策</view>
  56. </scroll-view>
  57. </view>
  58. </view>
  59. <!-- 政策列表区域 -->
  60. <view class="policy-list">
  61. <view wx:if="{{filteredPolicies.length === 0}}" class="empty-state">
  62. <image class="empty-icon" src="/images/empty.png"></image>
  63. <text class="empty-text">暂无相关政策</text>
  64. <text class="empty-tip">请尝试其他筛选条件</text>
  65. </view>
  66. <block wx:for="{{filteredPolicies}}" wx:key="id">
  67. <view class="policy-card" data-id="{{item.id}}" bindtap="onPolicyTap">
  68. <view class="policy-header">
  69. <view class="policy-tag {{item.type}}">{{item.typeText}}</view>
  70. <view class="policy-date">{{item.date}}</view>
  71. </view>
  72. <view class="policy-title">{{item.title}}</view>
  73. <view class="policy-content">
  74. <text class="policy-summary">{{item.summary}}</text>
  75. </view>
  76. <view class="policy-footer">
  77. <view class="policy-source">{{item.source}}</view>
  78. <image class="policy-arrow" src="/pagesB/images/you.png" mode=""/>
  79. </view>
  80. </view>
  81. </block>
  82. </view>
  83. <!-- 政策详情弹窗 -->
  84. <view class="modal {{showPolicyDetail ? 'show' : ''}}" catchtap="hidePolicyDetail">
  85. <view class="modal-content" catchtap="stopPropagation">
  86. <view class="modal-header">
  87. <view class="modal-title">{{currentPolicy.title}}</view>
  88. <view class="modal-close" bindtap="hidePolicyDetail">×</view>
  89. </view>
  90. <scroll-view class="modal-body" scroll-y="true">
  91. <view class="policy-info-row">
  92. <view class="info-item">
  93. <text class="info-label">政策类型:</text>
  94. <text class="info-value">{{currentPolicy.typeText}}</text>
  95. </view>
  96. <view class="info-item">
  97. <text class="info-label">发布日期:</text>
  98. <text class="info-value">{{currentPolicy.date}}</text>
  99. </view>
  100. <view class="info-item">
  101. <text class="info-label">发布单位:</text>
  102. <text class="info-value">{{currentPolicy.source}}</text>
  103. </view>
  104. </view>
  105. <view class="section">
  106. <view class="section-title">政策要点</view>
  107. <view class="section-content">
  108. <block wx:for="{{currentPolicy.keyPoints}}" wx:key="index">
  109. <view class="key-point">{{index + 1}}. {{item}}</view>
  110. </block>
  111. </view>
  112. </view>
  113. <view class="section">
  114. <view class="section-title">详细解读</view>
  115. <view class="section-content">
  116. <text class="interpretation-text">{{currentPolicy.interpretation}}</text>
  117. </view>
  118. </view>
  119. <view class="section">
  120. <view class="section-title">适用对象</view>
  121. <view class="section-content">
  122. <view class="applicable-objects">
  123. <block wx:for="{{currentPolicy.applicableObjects}}" wx:key="index">
  124. <view class="object-tag">{{item}}</view>
  125. </block>
  126. </view>
  127. </view>
  128. </view>
  129. <view class="section">
  130. <view class="section-title">申报指南</view>
  131. <view class="section-content">
  132. <block wx:for="{{currentPolicy.applicationGuide}}" wx:key="index">
  133. <view class="guide-item">
  134. <view class="guide-step">{{index + 1}}</view>
  135. <view class="guide-text">{{item}}</view>
  136. </view>
  137. </block>
  138. </view>
  139. </view>
  140. <view class="section">
  141. <view class="section-title">专家建议</view>
  142. <view class="section-content">
  143. <view class="expert-advice">
  144. <view class="advice-header">
  145. <image class="expert-avatar" src="/images/expert.png"></image>
  146. <view class="expert-info">
  147. <text class="expert-name">张农业</text>
  148. <text class="expert-title">农业政策研究员</text>
  149. </view>
  150. </view>
  151. <view class="advice-content">{{currentPolicy.expertAdvice}}</view>
  152. </view>
  153. </view>
  154. </view>
  155. <view class="section">
  156. <view class="section-title">相关链接</view>
  157. <view class="section-content">
  158. <block wx:for="{{currentPolicy.relatedLinks}}" wx:key="index">
  159. <view class="link-item" bindtap="onLinkTap" data-url="{{item.url}}">
  160. <text class="link-text">{{item.name}}</text>
  161. <image class="link-icon" src="/images/link.png"></image>
  162. </view>
  163. </block>
  164. </view>
  165. </view>
  166. </scroll-view>
  167. <view class="modal-footer">
  168. <button class="btn btn-secondary" bindtap="hidePolicyDetail">关闭</button>
  169. <button class="btn btn-primary" bindtap="onSavePolicy">收藏此政策</button>
  170. </view>
  171. </view>
  172. </view>
  173. <!-- 底部导航提示 -->
  174. <view class="bottom-tip">
  175. <text class="tip-text">已加载 {{filteredPolicies.length}} 条政策解读</text>
  176. <text class="tip-text">数据仅供参考,具体以官方发布为准</text>
  177. </view>
  178. </view>