You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

263 lines
5.3 KiB

5 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
5 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
5 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
  1. <template>
  2. <view class="content ">
  3. <up-navbar leftText=" " title="事务通" :safeAreaInsetTop="false" :autoBack="false">
  4. <template #left>
  5. <view class=""></view>
  6. </template>
  7. </up-navbar>
  8. <view class="padding">
  9. <view class="banner1">
  10. <image :src="imgUrl + 'homebanner.png'" mode=""></image>
  11. </view>
  12. <view class="myhome">
  13. <view class="flex-b">
  14. <view class="h2">我的房屋</view>
  15. <view class="btn" @click="goHome">关联房屋</view>
  16. </view>
  17. <view class="borderCard" @click="$goPage('/pages/subPage/login/login')" v-if="!counterStore.token">
  18. <view class="flex">
  19. <view class="text2">立即登录</view>
  20. <u-icon name="arrow-right"></u-icon>
  21. </view>
  22. <view class="text3">登录成功即可关联房屋~</view>
  23. <view class="banner3">
  24. <image :src="imgUrl + 'homebanner3.png'" mode=""></image>
  25. <!-- <image src="@/static/images/homebanner3.png" mode=""></image> -->
  26. </view>
  27. </view>
  28. <view class="borderCard" v-if="counterStore.token">
  29. <view class="text">房屋地址新疆首府公馆一期住宅1-1-101</view>
  30. <view class="text">房屋面积156.32</view>
  31. <view class="banner3">
  32. <!-- <image src="@/static/images/homebanner3.png" mode=""></image> -->
  33. <image :src="imgUrl + 'homebanner3.png'" mode=""></image>
  34. </view>
  35. </view>
  36. </view>
  37. <view class="severCon">
  38. <view class="h1pad">
  39. <view class="h1">服务</view>
  40. </view>
  41. <view class="banner2" @click="$goPage('/pages/subPage/ballots/ballotsList/ballotsList')">
  42. <!-- <image src="@/static/images/homebanner2.png" mode=""></image> -->
  43. <image :src="imgUrl + 'homebanner2.png'" mode=""></image>
  44. </view>
  45. </view>
  46. <view class="noticeCon">
  47. <view class="h1pad flex-b">
  48. <view class="h1">公示公告</view>
  49. <view class="more" @click="$goPage('/pages/subPage/notice/notice')">
  50. <view class="txt">更多</view>
  51. <view class="icon">
  52. <image src="@/static/images/arrRight.png" mode=""></image>
  53. </view>
  54. </view>
  55. </view>
  56. <notice :list="noticeList"/>
  57. </view>
  58. </view>
  59. <up-popup :show="show" @close="show=false" mode="center" :round="10" :customStyle="{width: '90%'}" closeable>
  60. <view class="popCon">
  61. <view class="hello">你好</view>
  62. <view class="p">
  63. 欢迎来到 <text>新疆首付公馆</text>为了更好的为您提供服务请您选择房屋信息进行业主身份认证
  64. </view>
  65. <oneBtn text="点击认证业主" @click.native="authentication"></oneBtn>
  66. </view>
  67. </up-popup>
  68. </view>
  69. </template>
  70. <script setup>
  71. import siteObj from '@/config/site.config.js'
  72. const {imgUrl} = siteObj
  73. import {
  74. ref
  75. } from 'vue'
  76. import notice from './comp/notice.vue'
  77. import {
  78. userStore
  79. } from '@/store/index.js';
  80. import { getNoticeList } from '@/config/api.js'
  81. import {
  82. onLoad,
  83. onShow,
  84. onPullDownRefresh,
  85. onReachBottom
  86. } from '@dcloudio/uni-app'
  87. const counterStore = userStore();
  88. console.log(counterStore.token)
  89. const show = ref(false)
  90. function authentication() {
  91. show.value = false
  92. uni.$u.route({
  93. url: '/pages/subPage/authentication/authentication'
  94. })
  95. }
  96. let params = ref({
  97. pageNo: 1,
  98. pageSize: 20
  99. })
  100. let noticeList = ref([])
  101. async function getNoticeListFn() {
  102. const {data: res} = await getNoticeList(params)
  103. noticeList.value = res.list
  104. }
  105. getNoticeListFn()
  106. function goHome() {
  107. let token = counterStore.token;
  108. if(token) {
  109. uni.$u.route({
  110. url: '/pages/subPage/authentication/authentication'
  111. })
  112. }else {
  113. uni.$u.route({
  114. url: '/pages/subPage/login/login'
  115. })
  116. }
  117. }
  118. onPullDownRefresh(()=>{
  119. getNoticeListFn()
  120. })
  121. </script>
  122. <style lang="scss" scoped>
  123. .h1pad {
  124. padding: 30rpx 0 20rpx 0;
  125. }
  126. .popCon {
  127. padding: 60rpx 40rpx;
  128. color: #333;
  129. .hello {
  130. font-size: 36rpx;
  131. font-weight: 700;
  132. }
  133. .p {
  134. font-size: 28rpx;
  135. padding: 30rpx 0 60rpx 0;
  136. text {
  137. color: $themC;
  138. }
  139. }
  140. }
  141. image {
  142. display: block;
  143. width: 100%;
  144. height: 100%;
  145. }
  146. .content {
  147. width: 100%;
  148. padding: 90rpx 0 100rpx 0;
  149. .banner1 {
  150. width: 100%;
  151. height: 260rpx;
  152. }
  153. .myhome {
  154. width: 100%;
  155. margin-top: 40rpx;
  156. background: #FFFFFF;
  157. box-shadow: 0px 0px 14rpx 0px rgba(0, 0, 0, 0.06);
  158. border-radius: 20rpx;
  159. padding: 0 30rpx 30rpx 30rpx;
  160. .flex-b {
  161. width: 100%;
  162. height: 94rpx;
  163. .h2 {
  164. font-size: 36rpx;
  165. color: #333;
  166. font-weight: 700;
  167. }
  168. .btn {
  169. width: 132rpx;
  170. height: 44rpx;
  171. background: #DE3A26;
  172. border-radius: 22rpx;
  173. line-height: 44rpx;
  174. font-size: 24rpx;
  175. color: #fff;
  176. text-align: center;
  177. }
  178. }
  179. .borderCard {
  180. width: 100%;
  181. border-radius: 20rpx;
  182. border: 2rpx solid #EFEFEF;
  183. padding: 40rpx 20rpx 0 30rpx;
  184. .text {
  185. font-size: 28rpx;
  186. margin-bottom: 24rpx;
  187. }
  188. .text2 {
  189. font-size: 36rpx;
  190. font-weight: bold;
  191. }
  192. .text3 {
  193. color: #999;
  194. margin-top: 20rpx;
  195. }
  196. .banner3 {
  197. width: 255rpx;
  198. height: 142rpx;
  199. margin-left: auto;
  200. }
  201. }
  202. }
  203. .severCon {
  204. .banner2 {
  205. width: 100%;
  206. height: 180rpx;
  207. }
  208. }
  209. .noticeCon {
  210. .h1pad {
  211. .more {
  212. display: flex;
  213. align-items: center;
  214. .txt {
  215. font-size: 28rpx;
  216. color: #CCCCCC;
  217. }
  218. .icon {
  219. width: 12rpx;
  220. height: 22rpx;
  221. margin-left: 10rpx;
  222. }
  223. }
  224. }
  225. }
  226. }
  227. </style>