index.vue 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  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" v-model="value" @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. value:['0'],
  95. }
  96. },
  97. onLoad: function() {
  98. },
  99. onPageScroll(e) {
  100. // var scrollTop = Number(e.scrollTop);
  101. // // var listTop=Number(this.listTop)-Number(this.nvaHeight)
  102. // if(scrollTop>2){
  103. // this.scroflag=true
  104. // }else{
  105. // this.scroflag=false
  106. // }
  107. },
  108. // 上拉触底加载更多触发事件
  109. onReachBottom() {
  110. // if (this.reachflag) {
  111. // this.pageNum++
  112. // this.getDataFn()
  113. // }
  114. },
  115. methods:{
  116. checkPermi, checkRole,
  117. getLsFn(){
  118. this.$tab.navigateTo("/work/pages/manage/moneybill")
  119. },
  120. getPayFn(){
  121. this.$tab.navigateTo("/work/pages/manage/pay")
  122. },
  123. change(){
  124. },
  125. getDataFn(){
  126. var params={
  127. pageSize:this.pageSize,
  128. pageNum: this.pageNum,
  129. }
  130. params.noticeType=this.tabidx
  131. getNoticeList(params).then(res=>{
  132. if(res.code==200){
  133. if (res.rows.length < this.pageSize) {
  134. this.reachflag = false
  135. this.wtdt = '到底了~';
  136. } else {
  137. var num = parseInt(res.rows.length) + parseInt(this.pageSize) * parseInt(this.pageNum - 1)
  138. if (num < res.total) {
  139. this.reachflag = true
  140. this.wtdt = ''
  141. } else {
  142. this.reachflag = false
  143. this.wtdt = '到底了~';
  144. }
  145. }
  146. if (this.pageNum == 1) {
  147. this.list = res.rows;
  148. } else {
  149. this.list = this.list.concat(res.rows)
  150. }
  151. }else{
  152. this.$toast(res.msg)
  153. }
  154. })
  155. },
  156. }
  157. }
  158. </script>
  159. <style>
  160. page{background: #F3F3F0;}
  161. </style>
  162. <style lang="scss" scoped>
  163. .money /deep/ .uni-collapse-item__title{background: #F3F3F3;margin-top: 10rpx;
  164. border-radius: 10rpx;min-height: 92rpx;padding:12rpx 0 12rpx 24rpx;box-sizing: border-box;}
  165. .money{padding: 124rpx 0 122rpx;
  166. .moneytop{position: fixed;left: 0;right: 0;top: 0;background: #ffffff;z-index: 2;padding: 24rpx 30rpx 34rpx;
  167. image{flex: 0 0 auto;}
  168. .topl{
  169. image{width: 26rpx;height: 24rpx;margin-right: 26rpx;}
  170. font-weight: bold;font-size: 26rpx;color: #272727;
  171. }
  172. .topr{margin-left: 24rpx;
  173. 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;
  174. image{width: 20rpx;height: 22rpx;margin-right: 6rpx;}
  175. }
  176. }
  177. .count{width:720rpx;height: 166rpx;position: relative;margin: 0 auto 30rpx;
  178. .bgimg{width: 100%;height: 100%;}
  179. .counbox{position: absolute;left: 0;right: 0;top: 0;bottom: 0;padding-top: 26rpx;padding-left: 42rpx;
  180. .tit{font-weight: bold;font-size: 22rpx;color: #0AB664;}
  181. .num{font-weight: bold;font-size: 22rpx;color: #FFFFFF;
  182. text{font-size: 40rpx;padding: 0 10rpx;}
  183. }
  184. }
  185. }
  186. .mdetail{width: 714rpx;background: #FFFFFF;border-radius: 20rpx;margin: 0 auto;padding: 24rpx;box-sizing: border-box;
  187. .mdtop{padding-bottom: 20rpx;
  188. .mdttit{font-size: 30rpx;color: #272727;flex: 0 0 auto;}
  189. .mdtnum{font-size: 30rpx;color: #0256FD;font-weight: bold;flex: 1;text-align: right;margin-left: 20rpx;}
  190. }
  191. .chose{width: 26rpx;height: 26rpx;margin-right: 18rpx;flex: 0 0 auto;}
  192. .coltit{
  193. .table{font-size: 26rpx;color: #272727;font-weight: bold;}
  194. }
  195. .colnum{
  196. .num{font-size: 26rpx;color: #272727;font-weight: bold;}
  197. .btn{font-weight: 500;font-size: 20rpx;padding: 0 10rpx;margin-left: 16rpx;border-radius: 16rpx;
  198. &.bga{color: #FE5A0E;background: #FFE8DE;border: 2rpx solid #FE5A0E;}
  199. &.bgb{color: #666666;background: #F1F1F1;border: 2rpx solid #C1C1C1;}
  200. }
  201. }
  202. .content{background: #F3F3F3;padding:20rpx 26rpx 4rpx;margin-top: 10rpx;
  203. border-radius: 10rpx;
  204. .cuntlist{padding: 10rpx 0;}
  205. .cltit{font-weight: 500;font-size: 24rpx;color: #666666;flex: 0 0 auto;}
  206. .cltxt{font-weight: 500;font-size: 26rpx;color: #272727;flex: 1;text-align: right;margin-left: 12rpx;}
  207. }
  208. }
  209. }
  210. .mfoot{background: #ffffff;position: fixed;left: 0;right: 0;bottom: 0;min-height: 110rpx;z-index: 2;padding: 14rpx 18rpx;box-sizing: border-box;
  211. .mgtit{font-weight: bold;font-size: 24rpx;color: #272727;flex: 1;text-align: center;
  212. text{font-weight: bold;margin-left: 16rpx;font-size: 26rpx;color: #F40027;}
  213. }
  214. .mfbtn{width: 388rpx;height: 88rpx;font-weight: bold;margin-left: 18rpx;
  215. font-size: 26rpx;color: #FFFFFF;
  216. background: #0256FD;border-radius: 20rpx;}
  217. }
  218. </style>