index.vue 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. <template>
  2. <view class="money">
  3. <view class="moneytop flexc">
  4. <view class="topl flexc flex1 overh">
  5. <image :src="adr"></image>
  6. <view class="over">幸福小区1号楼3单元1204</view>
  7. </view>
  8. <view class="topr flexcc flex0" @click="getLsFn">
  9. <image :src="zd"></image>
  10. <view>历史账单</view>
  11. </view>
  12. </view>
  13. <view class="count">
  14. <image :src="bg" class="bgimg"></image>
  15. <view class="counbox">
  16. <view class="tit mb16">尊敬的业主/租户您好!</view>
  17. <view class="num">您的待缴总额<text>677.20</text>元</view>
  18. </view>
  19. </view>
  20. <view class="mdetail">
  21. <view class="mdtop flexc">
  22. <view class="flexc flex0" @click.stop="choseflag=!choseflag">
  23. <image :src="chose" class="chose" v-if="choseflag"></image>
  24. <image :src="nchose" class="chose" v-else></image>
  25. 全选
  26. </view>
  27. <view class="mdtnum">357.20 元</view>
  28. </view>
  29. <view>
  30. <uni-collapse ref="collapse" @change="change">
  31. <uni-collapse-item title-border="none">
  32. <template v-slot:title>
  33. <view class="coltit flexcj">
  34. <view class="flexc flex0" @click.stop="choseflag=!choseflag">
  35. <image :src="chose" v-if="choseflag" class="chose"></image>
  36. <image :src="nchose" v-else class="chose"></image>
  37. 物业管理费
  38. </view>
  39. <view class="colnum flexc">
  40. <view class="num">277.20元</view>
  41. <view class="btn bga">待缴</view>
  42. <view class="btn bgb">已缴</view>
  43. </view>
  44. </view>
  45. </template>
  46. <view class="content">
  47. <view class="cuntlist flexc">
  48. <view class="cltit">计费区间</view>
  49. <view class="cltxt">2024-11-01 至224-11-30</view>
  50. </view>
  51. <view class="cuntlist flexc">
  52. <view class="cltit">优惠金额</view>
  53. <view class="cltxt">0.00元</view>
  54. </view>
  55. <view class="cuntlist flexc">
  56. <view class="cltit">违约金额</view>
  57. <view class="cltxt">0.00元</view>
  58. </view>
  59. <view class="cuntlist flexc">
  60. <view class="cltit">应缴金额</view>
  61. <view class="cltxt co025">80.00元</view>
  62. </view>
  63. </view>
  64. </uni-collapse-item>
  65. </uni-collapse>
  66. </view>
  67. </view>
  68. <view class="mfoot flexc">
  69. <view class="mgtit">待支付<text>¥ 357.20</text></view>
  70. <view class="mfbtn flexcc" @click="getPayFn">支付账单</view>
  71. </view>
  72. <loading></loading>
  73. </view>
  74. </template>
  75. <script>
  76. import config from '@/config'
  77. const baseUrl = config.baseUrl
  78. import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
  79. export default{
  80. components:{},
  81. data(){
  82. return{
  83. adr:require("@/work/static/manage/adr.png"),
  84. bg:require("@/work/static/manage/bg.png"),
  85. zd:require("@/work/static/manage/zd.png"),
  86. chose:require("@/work/static/manage/chose.png"),
  87. nchose:require("@/work/static/manage/nchose.png"),
  88. choseflag:true,
  89. list:[],
  90. pageSize: 10,
  91. pageNum: 1,
  92. reachflag: true,
  93. wtdt:'',
  94. }
  95. },
  96. onLoad: function() {
  97. },
  98. onPageScroll(e) {
  99. // var scrollTop = Number(e.scrollTop);
  100. // // var listTop=Number(this.listTop)-Number(this.nvaHeight)
  101. // if(scrollTop>2){
  102. // this.scroflag=true
  103. // }else{
  104. // this.scroflag=false
  105. // }
  106. },
  107. // 上拉触底加载更多触发事件
  108. onReachBottom() {
  109. // if (this.reachflag) {
  110. // this.pageNum++
  111. // this.getDataFn()
  112. // }
  113. },
  114. methods:{
  115. checkPermi, checkRole,
  116. getLsFn(){
  117. this.$tab.navigateTo("/work/pages/manage/moneybill")
  118. },
  119. getPayFn(){
  120. this.$tab.navigateTo("/work/pages/manage/pay")
  121. },
  122. change(){
  123. },
  124. getDataFn(){
  125. var params={
  126. pageSize:this.pageSize,
  127. pageNum: this.pageNum,
  128. }
  129. params.noticeType=this.tabidx
  130. getNoticeList(params).then(res=>{
  131. if(res.code==200){
  132. if (res.rows.length < this.pageSize) {
  133. this.reachflag = false
  134. this.wtdt = '到底了~';
  135. } else {
  136. var num = parseInt(res.rows.length) + parseInt(this.pageSize) * parseInt(this.pageNum - 1)
  137. if (num < res.total) {
  138. this.reachflag = true
  139. this.wtdt = ''
  140. } else {
  141. this.reachflag = false
  142. this.wtdt = '到底了~';
  143. }
  144. }
  145. if (this.pageNum == 1) {
  146. this.list = res.rows;
  147. } else {
  148. this.list = this.list.concat(res.rows)
  149. }
  150. }else{
  151. this.$toast(res.msg)
  152. }
  153. })
  154. },
  155. }
  156. }
  157. </script>
  158. <style>
  159. page{background: #F3F3F0;}
  160. </style>
  161. <style lang="scss" scoped>
  162. .money /deep/ .uni-collapse-item__title{background: #F3F3F3;margin-top: 10rpx;
  163. border-radius: 10rpx;min-height: 92rpx;padding:12rpx 0 12rpx 24rpx;box-sizing: border-box;}
  164. .money{padding: 124rpx 0 122rpx;
  165. .moneytop{position: fixed;left: 0;right: 0;top: 0;background: #ffffff;z-index: 2;padding: 24rpx 30rpx 34rpx;
  166. image{flex: 0 0 auto;}
  167. .topl{
  168. image{width: 26rpx;height: 24rpx;margin-right: 26rpx;}
  169. font-weight: bold;font-size: 26rpx;color: #272727;
  170. }
  171. .topr{margin-left: 24rpx;
  172. min-width: 166rpx;height: 42rpx;background: #EFF4FF;border-radius: 22rpx;background: #EFF4FF;font-weight: bold;font-size: 24rpx;color: #0256FD;padding: 4rpx 12rpx;box-sizing: border-box;
  173. image{width: 20rpx;height: 22rpx;margin-right: 6rpx;}
  174. }
  175. }
  176. .count{width:720rpx;height: 166rpx;position: relative;margin: 0 auto 30rpx;
  177. .bgimg{width: 100%;height: 100%;}
  178. .counbox{position: absolute;left: 0;right: 0;top: 0;bottom: 0;padding-top: 26rpx;padding-left: 42rpx;
  179. .tit{font-weight: bold;font-size: 22rpx;color: #0AB664;}
  180. .num{font-weight: bold;font-size: 22rpx;color: #FFFFFF;
  181. text{font-size: 40rpx;padding: 0 10rpx;}
  182. }
  183. }
  184. }
  185. .mdetail{width: 714rpx;background: #FFFFFF;border-radius: 20rpx;margin: 0 auto;padding: 24rpx;box-sizing: border-box;
  186. .mdtop{padding-bottom: 20rpx;
  187. .mdttit{font-size: 30rpx;color: #272727;flex: 0 0 auto;}
  188. .mdtnum{font-size: 30rpx;color: #0256FD;font-weight: bold;flex: 1;text-align: right;margin-left: 20rpx;}
  189. }
  190. .chose{width: 26rpx;height: 26rpx;margin-right: 18rpx;flex: 0 0 auto;}
  191. .coltit{
  192. .table{font-size: 26rpx;color: #272727;font-weight: bold;}
  193. }
  194. .colnum{
  195. .num{font-size: 26rpx;color: #272727;font-weight: bold;}
  196. .btn{font-weight: 500;font-size: 20rpx;padding: 0 10rpx;margin-left: 16rpx;border-radius: 16rpx;
  197. &.bga{color: #FE5A0E;background: #FFE8DE;border: 2rpx solid #FE5A0E;}
  198. &.bgb{color: #666666;background: #F1F1F1;border: 2rpx solid #C1C1C1;}
  199. }
  200. }
  201. .content{background: #F3F3F3;padding:20rpx 26rpx 4rpx;margin-top: 10rpx;
  202. border-radius: 10rpx;
  203. .cuntlist{padding: 10rpx 0;}
  204. .cltit{font-weight: 500;font-size: 24rpx;color: #666666;flex: 0 0 auto;}
  205. .cltxt{font-weight: 500;font-size: 26rpx;color: #272727;flex: 1;text-align: right;margin-left: 12rpx;}
  206. }
  207. }
  208. }
  209. .mfoot{background: #ffffff;position: fixed;left: 0;right: 0;bottom: 0;min-height: 110rpx;z-index: 2;padding: 14rpx 18rpx;box-sizing: border-box;
  210. .mgtit{font-weight: bold;font-size: 24rpx;color: #272727;flex: 1;text-align: center;
  211. text{font-weight: bold;margin-left: 16rpx;font-size: 26rpx;color: #F40027;}
  212. }
  213. .mfbtn{width: 388rpx;height: 88rpx;font-weight: bold;margin-left: 18rpx;
  214. font-size: 26rpx;color: #FFFFFF;
  215. background: #0256FD;border-radius: 20rpx;}
  216. }
  217. </style>