index.vue 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  1. <!-- 称重登记 -->
  2. <template>
  3. <view class="weighingRegistration">
  4. <scroll-view scroll-y @scrolltolower="scrollGet" class="for-max-box">
  5. <view class="for-max-big-box" v-for="(item,index) in dataList" :key="index">
  6. <view class="for-top-title-box">
  7. <view>{{item.data1}}{{item.data2?'('+item.data2+')':''}}</view>
  8. <view>{{item.data3}}{{item.data3&&item.data4?'/':''}}{{item.data4}}{{item.data4&&item.data5?'/':''}}{{item.data5}}</view>
  9. </view>
  10. <view class="for-big-box" @click="goPage(minItem)"
  11. v-for="(minItem,minIndex) in item.listData" :key="minIndex">
  12. <view class="for-title-box">
  13. <view>报备单编号:</view>
  14. <view>{{minItem.listNewData2}}</view>
  15. <view :class="minItem.listNewData1==1?'colorA':'colorB'">{{minItem.listNewData1==1?'已回收':'待回收'}}</view>
  16. </view>
  17. <view class="for-content-box">
  18. <view>上门回收日期:</view>
  19. <view>{{minItem.listNewData3}}</view>
  20. </view>
  21. <view class="for-content-box">
  22. <view style="width:160rpx;">废物种类:</view>
  23. <view>{{minItem.listNewData4}}</view>
  24. </view>
  25. <view class="for-content-box">
  26. <view style="width:160rpx;">报备人:</view>
  27. <view>{{minItem.listNewData5}}</view>
  28. </view>
  29. <view class="for-content-box">
  30. <view style="width:160rpx;">报备时间:</view>
  31. <view>{{minItem.listNewData6}}</view>
  32. </view>
  33. <view class="fop-position-p" v-if="minItem.listNewData1!=1">》</view>
  34. </view>
  35. </view>
  36. <view class="for-null-p"></view>
  37. </scroll-view>
  38. </view>
  39. </template>
  40. <script>
  41. import {
  42. hwmsAppWasteOrderWasteList,
  43. } from '@/pages_hazardousWasteRecycling/api/index.js'
  44. export default {
  45. data() {
  46. return {
  47. // 查询参数
  48. getDataType: false,
  49. queryParams: {
  50. page: 1,
  51. pageSize: 10,
  52. },
  53. total: 0,
  54. dataList: [],
  55. }
  56. },
  57. onLoad(option) {
  58. },
  59. onShow() {
  60. },
  61. mounted() {
  62. this.getList();
  63. this.$set(this,'dataList',[{
  64. data1:'植物营养实验室',
  65. data2:'A201',
  66. data3:'资源环境学院',
  67. data4:'理科楼',
  68. data5:'3楼',
  69. listData:[
  70. {
  71. listNewData1:'1',
  72. listNewData2:'HW202510400001',
  73. listNewData3:'2025-11-05(星期四)',
  74. listNewData4:'4',
  75. listNewData5:'王二小(2020110010)',
  76. listNewData6:'2025-11-04 10:10:09',
  77. },
  78. {
  79. listNewData1:'1',
  80. listNewData2:'HW202510400001',
  81. listNewData3:'2025-11-05(星期四)',
  82. listNewData4:'4',
  83. listNewData5:'王二小(2020110010)',
  84. listNewData6:'2025-11-04 10:10:09',
  85. },
  86. {
  87. listNewData1:'1',
  88. listNewData2:'HW202510400001',
  89. listNewData3:'2025-11-05(星期四)',
  90. listNewData4:'4',
  91. listNewData5:'王二小(2020110010)',
  92. listNewData6:'2025-11-04 10:10:09',
  93. },
  94. {
  95. listNewData1:'2',
  96. listNewData2:'HW202510400001',
  97. listNewData3:'2025-11-05(星期四)',
  98. listNewData4:'4',
  99. listNewData5:'王二小(2020110010)',
  100. listNewData6:'2025-11-04 10:10:09',
  101. },
  102. {
  103. listNewData1:'2',
  104. listNewData2:'HW202510400001',
  105. listNewData3:'2025-11-05(星期四)',
  106. listNewData4:'4',
  107. listNewData5:'王二小(2020110010)',
  108. listNewData6:'2025-11-04 10:10:09',
  109. },
  110. ],
  111. }]);
  112. },
  113. methods: {
  114. //点击跳转
  115. goPage(minItem){
  116. console.log(minItem)
  117. if(minItem.listNewData1 != 1){
  118. uni.navigateTo({
  119. url: "/pages_hazardousWasteRecycling/views/weighingRegistration/addPage",
  120. });
  121. }
  122. },
  123. //滚动加载事件
  124. scrollGet() {
  125. let self = this;
  126. if (self.total / self.queryParams.pageSize <= self.queryParams.page) {
  127. this.$set(this, 'getDataType', true);
  128. } else {
  129. this.queryParams.page += 1;
  130. this.$nextTick(() => {
  131. this.getList();
  132. })
  133. }
  134. },
  135. //获取实验室列表
  136. async getList() {
  137. let self = this;
  138. let obj = JSON.parse(JSON.stringify(this.queryParams));
  139. const {
  140. data
  141. } = await hwmsAppWasteOrderWasteList(obj);
  142. if (data.code == 200) {
  143. if(self.queryParams.page == 1){
  144. this.$set(this, 'dataList', data.data.records);
  145. this.$set(this, 'total', data.data.total);
  146. if (data.data.total / self.queryParams.pageSize <= self.queryParams.page) {
  147. this.$set(this, 'getDataType', true);
  148. }
  149. }else{
  150. this.$set(this, 'dataList', [...this.dataList, ...data.data.records]);
  151. this.$set(this, 'total', data.data.total);
  152. if (data.data.total / self.queryParams.pageSize <= self.queryParams.page) {
  153. this.$set(this, 'getDataType', true);
  154. }
  155. }
  156. }
  157. },
  158. },
  159. }
  160. </script>
  161. <style lang="stylus" scoped>
  162. .weighingRegistration{
  163. height: 100%;
  164. display flex;
  165. flex-direction column;
  166. background-color: #fff;
  167. .for-max-box{
  168. flex: 1;
  169. overflow-y scroll;
  170. .for-null-p{
  171. height:60rpx;
  172. }
  173. .for-max-big-box{
  174. .for-top-title-box{
  175. height:100rpx;
  176. padding:0 20rpx;
  177. line-height:rpx;
  178. display: flex
  179. view{
  180. flex:1;
  181. }
  182. view:nth-child(1){
  183. color:#0183FA;
  184. font-size:34rpx;
  185. line-height:100rpx;
  186. }
  187. view:nth-child(2){
  188. color:#666;
  189. text-align: right;
  190. line-height:104rpx;
  191. font-size:28rpx;
  192. }
  193. }
  194. .for-big-box{
  195. width:670rpx;
  196. margin:0 40rpx 40rpx;
  197. box-shadow: 0 0 8rpx 6rpx rgba(0, 0, 0, 0.1);
  198. border-radius: 10rpx;
  199. position: relative;
  200. padding-bottom:30rpx;
  201. .for-title-box{
  202. display: flex;
  203. line-height:40rpx;
  204. padding:30rpx 30rpx 0;
  205. view:nth-child(2){
  206. flex:1;
  207. }
  208. .colorA{
  209. color:#00EE76;
  210. }
  211. .colorB{
  212. color:#FF6A6A;
  213. }
  214. }
  215. .for-content-box{
  216. display: flex;
  217. line-height:40rpx;
  218. padding:20rpx 30rpx 0;
  219. }
  220. .fop-position-p{
  221. position: absolute;
  222. top:150rpx;
  223. right:20rpx;
  224. color:#999;
  225. }
  226. }
  227. }
  228. }
  229. }
  230. </style>