hcList.vue 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. <template>
  2. <view class="listview">
  3. <view class="title">当前监测图斑外业举证</view>
  4. <view class="search">
  5. <uni-easyinput v-model="queryParams.dkbh" placeholder="请输入图斑编号查询" />
  6. <uni-icons type="bars" size="30" @click="returnCount"></uni-icons>
  7. </view>
  8. <view>
  9. <scroll-view class="top-menu-view" scroll-x="true">
  10. <view class="menu-topic-view" v-for="(item, key) in tabOptions" :id="'tabNum'+key" :key="key"
  11. @click="tabclick(item.stepState)">
  12. <view :class="queryParams.stepStateS==item.stepState ? 'menu-topic-act' : 'menu-topic'">
  13. <text class="menu-topic-text">{{item.name}}({{hccount[item.prop]}})</text>
  14. <view class="menu-topic-bottom">
  15. <view class="menu-topic-bottom-color"></view>
  16. </view>
  17. </view>
  18. </view>
  19. </scroll-view>
  20. <!-- <van-sticky :offset-top="-10">
  21. <van-tabs sticky v-model="queryParams.stepState" @click="tabclick" class="tabs">
  22. <van-tab v-for="(item, key) in tabOptions" :key="key" :name="item.stepState"
  23. :title="`${item.name}(${hccount[item.prop]})`"></van-tab>
  24. </van-tabs>
  25. </van-sticky> -->
  26. <!-- <van-list class="hclist" v-model="loading" :finished="finished" :immediate-check="false" :error.sync="error"
  27. error-text="请求失败,点击重新加载" finished-text="没有更多了~" @load="loadList" @refresh="onRefresh">
  28. -->
  29. <view class="hclist">
  30. <view class="list-item" v-for="(item, key) in pcsjList" :key="key" @click="goDetail(item)">
  31. <div class="nameTitle">{{ item.name }}</div>
  32. <div>{{ item.dkbh }}</div>
  33. <div>监测面积:{{ item.dkmj }}</div>
  34. <div>核查截止日期:{{ item.endTime }}</div>
  35. </view>
  36. </view>
  37. <!-- </van-list> -->
  38. </view>
  39. </view>
  40. </template>
  41. <script>
  42. import {
  43. hcs
  44. } from "../config.js";
  45. import {
  46. listDkjbxx
  47. } from "@/api/dkjbxx.js";
  48. import parse from "wellknown";
  49. export default {
  50. name: "list",
  51. data() {
  52. return {
  53. hccount: {},
  54. tabOptions: hcs,
  55. showlist: false,
  56. queryParams: {
  57. pageNum: 1,
  58. pageSize: 10,
  59. stepState: 0,
  60. },
  61. loading: false,
  62. finished: false,
  63. pcsjList: [],
  64. total: 0,
  65. };
  66. },
  67. onLoad() {},
  68. created() {},
  69. mounted() {},
  70. onReady() {
  71. },
  72. methods: {
  73. golist(a, hccount) {
  74. if (hccount) this.hccount = hccount;
  75. this.reset(a.stepState)
  76. this.tabclick();
  77. },
  78. returnCount() {
  79. this.$emit('returnCount')
  80. },
  81. tabclick(stepState) {
  82. if (stepState != undefined) this.queryParams.stepStateS = stepState
  83. this.queryParams.pageNum = 1;
  84. this.pcsjList = [];
  85. this.getList();
  86. },
  87. getList() {
  88. this.loading = true;
  89. listDkjbxx(this.queryParams).then((res) => {
  90. this.pcsjList = [...this.pcsjList, ...res.rows];
  91. this.total = res.total;
  92. this.loading = false;
  93. this.finished = res.rows.length < 10;
  94. this.$emit('addmap', this.pcsjList);
  95. });
  96. },
  97. reset(stepState) {
  98. this.queryParams = {
  99. pageNum: 1,
  100. pageSize: 10,
  101. stepStateS: stepState || 0,
  102. dkbh: ''
  103. }
  104. },
  105. //跳转到详情页
  106. goDetail(value) {
  107. this.$emit('goDetail', value)
  108. // uni.setStorage({
  109. // key: "my_param",
  110. // data: value,
  111. // success: () => {
  112. // uni.switchTab({
  113. // url: "/pages/check/index",
  114. // });
  115. // },
  116. // });
  117. // uni.navigateTo({
  118. // url: "/pages/check/index?item=" + value,
  119. // });
  120. },
  121. loadList() {
  122. this.queryParams.pageNum++;
  123. this.getList();
  124. },
  125. onRefresh() {
  126. this.pcsjList = [];
  127. this.finished = false;
  128. this.loading = true;
  129. this.reset();
  130. this.getList();
  131. },
  132. },
  133. };
  134. </script>
  135. <style lang="scss">
  136. .listview {
  137. .title {
  138. position: absolute;
  139. top: 10rpx;
  140. width: 100%;
  141. height: 60rpx;
  142. //background: #fff;
  143. line-height: 40rpx;
  144. padding: 10rpx;
  145. }
  146. .search {
  147. position: absolute;
  148. top: 70rpx;
  149. width: 100%;
  150. .uni-easyinput {
  151. width: 80%;
  152. display: inline-block;
  153. margin-right: 20rpx;
  154. }
  155. }
  156. .tabs {
  157. margin-bottom: 20rpx;
  158. }
  159. .hclist {
  160. height: 30vh;
  161. overflow-x: hidden;
  162. overflow-y: auto;
  163. .list-item {
  164. background: #fff;
  165. padding: 40rpx 20rpx;
  166. border-radius: 20rpx;
  167. margin-bottom: 30rpx;
  168. position: relative;
  169. .nameTitle {
  170. color: red;
  171. line-height: 50rpx;
  172. }
  173. }
  174. }
  175. }
  176. </style>
  177. <style scoped lang="scss">
  178. @import "./tabs.scss"
  179. </style>