index.vue 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327
  1. <template>
  2. <view class="main">
  3. <view class="journalism">
  4. <view @click="toNews" class="order-num flex justify-between align-center u-padding-20 u-border-bottom">
  5. <view class="flex align-center u-margin-top-15 u-margin-left-30">
  6. <text class="text-bold u-margin-right-10" style="font-size: 36rpx;">丹检新闻</text>
  7. <u-icon name="/static/new.png" size="50"></u-icon>
  8. </view>
  9. <view class="flex align-center">
  10. <text class="" style="color: #1721F4;">更多</text>
  11. <u-icon name="arrow-right-double" style="margin-top: 4rpx;" color="#1721F4" size="20"></u-icon>
  12. </view>
  13. </view>
  14. <view v-if="loading" class="flex align-center justify-center" style="height: 266rpx;">
  15. <u-loading mode="circle" color="#1721F4" size="40" :show="loading"></u-loading>
  16. </view>
  17. <view v-else class="u-padding-20 flex u-flex-col align-center justify-around" style="height: 266rpx;">
  18. <view @click="toNewsInfo(item.id)" class="flex align-center justify-between" style="width: 100%;"
  19. v-for="(item,index) in newsList" :key="index">
  20. <view class="flex align-center u-margin-left-15">
  21. <view class="roundStyle"></view>
  22. <view class="titleStyle text-cut u-margin-left-10">
  23. {{item.title}}
  24. </view>
  25. </view>
  26. <view class="titleDate u-margin-top-4">
  27. {{item.date}}
  28. </view>
  29. </view>
  30. </view>
  31. </view>
  32. <view class="u-margin-top-24 flex align-center justify-center gridStyle">
  33. <u-grid :col="3" :border="false" hover-class="none">
  34. <u-grid-item @click="toPageInfo(0)">
  35. <u-icon name="/static/index_slices/accuse.png" :size="100"></u-icon>
  36. <view class="grid-text">控告申诉</view>
  37. </u-grid-item>
  38. <u-grid-item @click="toPageInfo(1)">
  39. <u-icon name="/static/index_slices/nonage.png" :size="100"></u-icon>
  40. <view class="grid-text">未成年人司法保护</view>
  41. </u-grid-item>
  42. <u-grid-item @click="toPageInfo(2)">
  43. <u-icon name="/static/index_slices/judicial.png" :size="100"></u-icon>
  44. <view class="grid-text">国家司法救助申请</view>
  45. </u-grid-item>
  46. <u-grid-item @click="toPageInfo(3)">
  47. <u-icon name="/static/index_slices/civil.png" :size="100"></u-icon>
  48. <view class="grid-text">民事诉讼监督申请</view>
  49. </u-grid-item>
  50. <u-grid-item @click="toPageInfo(4)">
  51. <u-icon name="/static/index_slices/administrative.png" :size="100"></u-icon>
  52. <view class="grid-text">行政诉讼监督申请</view>
  53. </u-grid-item>
  54. <u-grid-item @click="toPageInfo(5)">
  55. <u-icon name="/static/index_slices/public_welfare.png" :size="100"></u-icon>
  56. <view class="grid-text">公益诉讼随手拍</view>
  57. </u-grid-item>
  58. </u-grid>
  59. </view>
  60. <view class="u-margin-top-24 flex justify-center">
  61. <view class="imgItem u-margin-right-12" @click="toPageInfo(6)">
  62. <view class="txtStyle">
  63. 巡回检察公告
  64. </view>
  65. <u-icon name="/static/index_slices/tour.png" :size="80"></u-icon>
  66. </view>
  67. <view class="imgItem u-margin-left-12" @click="toPageInfo(7)">
  68. <view class="txtStyle">
  69. 检察服务预约
  70. </view>
  71. <u-icon name="/static/index_slices/inspect.png" :size="80"></u-icon>
  72. </view>
  73. </view>
  74. <view class="u-margin-top-24 flex justify-center">
  75. <view class="imgItem u-margin-right-12" @click="toPageInfo(8)">
  76. <view class="txtStyle">
  77. 群众意见建议
  78. </view>
  79. <u-icon name="/static/index_slices/group.png" :size="80"></u-icon>
  80. </view>
  81. <view class="imgItem u-margin-left-12" @click="toPageInfo(9)">
  82. <view class="txtStyle">
  83. 法律知识有奖竞答
  84. </view>
  85. <u-icon name="/static/index_slices/legal_knowledge.png" :size="80"></u-icon>
  86. </view>
  87. </view>
  88. <view class="u-margin-top-24 flex justify-center">
  89. <view class="imgItem u-margin-right-12" @click="toPageInfo(10)">
  90. <view class="txtStyle">
  91. 法律法规咨询
  92. </view>
  93. <u-icon name="/static/index_slices/falv.png" :size="80"></u-icon>
  94. </view>
  95. <view class="imgItem u-margin-left-12" @click="toPageInfo(11)">
  96. <view class="txtStyle">
  97. 党风廉政监督
  98. </view>
  99. <u-icon name="/static/index_slices/dangfeng.png" :size="80"></u-icon>
  100. </view>
  101. </view>
  102. <view class="u-font-24 footStyle">
  103. 版权 丹棱县人民检察院
  104. </view>
  105. <view class="u-font-24 footStyle" style="margin-top: 20rpx">
  106. 眉山市丹棱县齐乐大道8号 检察服务热线:12309
  107. </view>
  108. </view>
  109. </template>
  110. <script>
  111. export default {
  112. data() {
  113. return {
  114. newsList: [],
  115. loading: true,
  116. miniConfig: {}
  117. }
  118. },
  119. onShow() {
  120. this.getIndexHomePage()
  121. this.getKnowledge()
  122. },
  123. onShareAppMessage(res) {
  124. if (res.from == 'menu') {
  125. console.log(res.target)
  126. }
  127. return {
  128. title: '丹棱检察官',
  129. path: '/pages/index/index'
  130. }
  131. },
  132. onShareTimeline(res) {
  133. if (res.from == 'menu') {
  134. console.log(res.target)
  135. }
  136. return {
  137. title: '丹棱检察官',
  138. path: '/pages/index/index'
  139. }
  140. },
  141. methods: {
  142. async getIndexHomePage() {
  143. let res = await this.$u.get('/home/home')
  144. this.newsList = res.news
  145. this.newsList.forEach(item => {
  146. item.date = this.$u.timeFormat(item.created_at, 'mm-dd')
  147. // item.show_img = this.$imgHost + item.show_img
  148. })
  149. this.loading = false
  150. },
  151. async getKnowledge() {
  152. let res = await this.$u.get('/home/zhishi')
  153. this.miniConfig = res
  154. },
  155. toNews() {
  156. uni.navigateTo({
  157. url: '../news/newsList?type=1'
  158. })
  159. },
  160. toNewsInfo(id) {
  161. uni.navigateTo({
  162. url: "../news/newsInfo?id=" + id + '&type=1'
  163. })
  164. },
  165. toPageInfo(value) {
  166. switch (value) {
  167. case 0:
  168. uni.navigateTo({
  169. url: "../lawForm/uniteForm?title=控告申诉&type=1"
  170. })
  171. break;
  172. case 1:
  173. uni.navigateTo({
  174. url: '../teenager/index'
  175. })
  176. break;
  177. case 2:
  178. uni.navigateTo({
  179. url: "../lawForm/uniteForm?title=国家司法救助申请&type=2"
  180. })
  181. break;
  182. case 3:
  183. uni.navigateTo({
  184. url: "../lawForm/uniteForm?title=民事诉讼监督申请&type=3"
  185. })
  186. break;
  187. case 4:
  188. uni.navigateTo({
  189. url: "../lawForm/uniteForm?title=行政诉讼监督申诉&type=4"
  190. })
  191. break;
  192. case 5:
  193. uni.navigateTo({
  194. url: '../lawForm/public_welfare'
  195. })
  196. break;
  197. case 6:
  198. uni.navigateTo({
  199. url: "../tour_info/tour_info"
  200. })
  201. break;
  202. case 7:
  203. uni.navigateTo({
  204. url: "../lawForm/prosecution_service"
  205. })
  206. break;
  207. case 8:
  208. uni.navigateTo({
  209. url: '../lawForm/massesInfo'
  210. })
  211. break;
  212. case 9:
  213. if (this.$u.test.isEmpty(this.miniConfig.appid) && this.$u.test.isEmpty(this.miniConfig
  214. .page_root)) {
  215. uni.showModal({
  216. title: "温馨提示",
  217. content: "本轮竞答已结束,敬请期待下一轮竞答",
  218. showCancel: false
  219. })
  220. return false
  221. }
  222. uni.navigateToMiniProgram({
  223. appId: this.miniConfig.appid,
  224. path: this.miniConfig.page_root
  225. })
  226. break;
  227. case 10:
  228. uni.navigateTo({
  229. url: "../lawForm/uniteForm?title=法律法规咨询&type=5"
  230. })
  231. break;
  232. case 11:
  233. uni.navigateTo({
  234. url: "../lawForm/uniteForm?title=党风廉政监督&type=6"
  235. })
  236. break;
  237. default:
  238. break;
  239. }
  240. }
  241. }
  242. }
  243. </script>
  244. <style>
  245. .main {
  246. padding: 28rpx;
  247. min-height: 100vh;
  248. }
  249. .journalism {
  250. width: 696rpx;
  251. height: 370rpx;
  252. background: #fff;
  253. border-radius: 10rpx;
  254. box-shadow: 0px 0px 4rpx 0px rgba(31, 31, 31, 0.04);
  255. }
  256. .order-num::after {
  257. border-color: rgba(151, 151, 151, 0.5);
  258. }
  259. .roundStyle {
  260. width: 10rpx;
  261. height: 10rpx;
  262. background: #1721F4;
  263. border-radius: 50%;
  264. }
  265. .titleStyle {
  266. font-size: 28rpx;
  267. font-weight: 500;
  268. color: #333333;
  269. font-family: 'Courier New', Courier, monospace;
  270. width: 550rpx;
  271. }
  272. .titleDate {
  273. font-size: 20rpx;
  274. color: #999999;
  275. font-weight: 400;
  276. }
  277. .gridStyle {
  278. height: 500rpx;
  279. background: #fff;
  280. box-shadow: 0px 0px 4rpx 0px rgba(31, 31, 31, 0.04);
  281. border-radius: 10rpx;
  282. }
  283. .grid-text {
  284. font-size: 24rpx;
  285. margin-top: 10rpx;
  286. color: $u-type-info;
  287. width: 112rpx;
  288. text-align: center;
  289. }
  290. .imgItem {
  291. width: 336rpx;
  292. height: 160rpx;
  293. background: #fff;
  294. display: flex;
  295. align-items: center;
  296. justify-content: center;
  297. border-radius: 10rpx;
  298. box-shadow: 0px 0px 4rpx 0px rgba(31, 31, 31, 0.04);
  299. }
  300. .txtStyle {
  301. font-size: 28rpx;
  302. font-weight: 400;
  303. color: #333;
  304. margin-right: 35rpx;
  305. width: 168rpx;
  306. }
  307. .footStyle {
  308. color: #999999;
  309. font-weight: 400;
  310. font-family: PingFangSC-Regular, PingFang SC;
  311. text-align: center;
  312. width: 100%;
  313. margin-top: 44rpx;
  314. }
  315. </style>